Разработка компиляторов

       

Секция описаний процедур


Секция описаний процедур содержит процедуры, которые пользователь использует при написании семантических действий. Впрочем, эти процедуры могут быть размещены и в других файлах и откомпилированы отдельно. Таким образом, эта секция необязательна, в отличие от секции описаний и секции грамматических правил.

Пользователь должен предоставить две проедуры:

  • процедуру int yylex (void) , которая реализует лексический анализ и возвращает лексический класс лексемы
  • процедуру int yyerror (char * s) , которая вызывается построенным анализатором в случае возникновения ошибки во входной цепочке

YACC создает процедуру int yyparse (void) , возвращающую код завершения ( 0 или 1).

Опишем некоторые параметры программы YACC:

  • Cf - созданный анализатор будет помещен в файл f
  • Df - будет построен заголовочный файл с именем f
  • v - в файл с именем yy.lrt будет выведен протокол, т.е. управляющая таблица анализатора



Содержание раздела