[содержание] [назад] [пред] [вверх] [след] [вперед]
error
-
имя лексемы, зарезервированной для обработки ошибок. эта лексема может
использоваться в правилах грамматики, чтобы позволить анализатору bison
распознавать ошибки в грамматике без остановки процесса разбора. в результате
предложение, содержащее ошибку, может быть распознано как правильное.
в случае ошибки разбора лексема
error становится текущей
предпросмотренной лексемой. затем выполняются действия, соответствующие
error и предпросмотренной лексемой становится та, которая первоначально
вызвала ошибку. см. раздел 7. восстановление после ошибок.
yyabort
-
макрос, работающий как если бы была обнаружена невосстановимая синтаксическая
ошибка, немедленно завершая работу
yyparse и возвращая 1. функция
сообщения об ошибке yyerror не вызывается. см. раздел 5.1 функция анализатора yyparse .
yyaccept
-
макрос, работающий как если бы было прочитано полное предложение языка,
немедленно завершая работу
yyparse и возвращая 0. см. раздел 5.1 функция анализатора yyparse .
yybackup
-
макрос, отбрасывающий значение из стека анализатора, и "подделывающий"
предпросмотренную лексему. см. раздел 5.4 специальные возможности, используемые в действиях.
yyerror
-
макрос, работающий как если бы была обнаружена синтаксическая ошибка:
вызывает
yyerror и затем производит обычное восстановление после ошибки,
если это возможно (см. раздел 7. восстановление после ошибок), или (если невозможно)
yyparse завершает работу и возвращает 1. см. раздел 7. восстановление после ошибок.
yyerror_verbose
-
макрос, который вы определяете директивой
#define в секции объявлений
bison, требующий, чтобы при вызове yyerror строки сообщений об ошибках
содержали подробную информацию.
yyinitdepth
-
макрос для задания первоначального размера стека анализатора.
см. раздел 6.8 переполнение стека и как его избежать.
yylex_param
-
макрос для задания дополнительного аргумента (или списка дополнительных
аргументов), которые функция
yyparse передаёт yylex .
см. раздел 5.2.4 соглашения о вызове для чистых анализаторов.
yyltype
-
макрос типа данных
yylloc , структура из четырёх элементов.
см. раздел 4.6.1 тип данных положений.
yyltype
-
значение yyltype по умолчанию.
yymaxdepth
-
макрос для задания максимального размера стека анализатора.
см. раздел 6.8 переполнение стека и как его избежать.
yyparse_param
-
макрос для задания имени параметра, который должен принимать
yyparse .
см. раздел 5.2.4 соглашения о вызове для чистых анализаторов.
yyrecovering
-
макрос, значение которого указывает, производит ли в данный момент анализатор
восстановление после синтаксической ошибки. см. раздел 5.4 специальные возможности, используемые в действиях.
yystack_use_alloca
-
макрос, используемый для управлени использованием
alloca . если
определён как `0', анализатор при попытке расширить внутренние стеки будет
использовать не alloca , а malloc . не определяйте
yystack_use_alloca как что-либо другое.
yystype
-
макрос типа данных семантических значений, по умолчанию
int .
см. раздел 4.5.1 типы данных семантических значений.
yychar
-
внешняя целочисленная переменная, содержащая целое значение текущей
предпросмотренной лексемы (в чистом анализаторе это локальная переменная
yyparse ). действия восстановления после ошибок могут проверять
значение этой переменной. см. раздел 5.4 специальные возможности, используемые в действиях.
yyclearin
-
макрос, используемый в действиях правил восстановления после ошибок. очищает
предыдущую предпросмотренную лексему. см. раздел 7. восстановление после ошибок.
yydebug
-
внешняя целочисленная переменная, по умолчанию установленная в ноль.
если
yydebug присвоено ненулевое значение, анализатор будет выводить
информацию о входных символах и собственных действиях. см. раздел 9. отладка вашего анализатора.
yyerrok
-
макрос, заставляющий анализатор немедленно вернуться в нормальный режим после
ошибки разбора. см. раздел 7. восстановление после ошибок.
yyerror
-
предоставляемая пользователем функция, вызываемая
yyparse в случае
ошибки. функция принимает один аргумент, указатель на строку, содержащую
сообщение об ошибке. см. раздел 5.3 функция сообщения об ошибках yyerror .
yylex
-
предоставляемая пользователем функция лексического анализатора, вызываемая
без аргументов и возвращающая следующую лексему. см. раздел 5.2 функция лексического анализатора
yylex .
yylval
-
внешняя переменная, в которую
yylex должна помещать семантическое
значение, связанное с лексемой (в чистом анализаторе это локальная переменная
yyparse , и её адрес передаётся yylex ). см. раздел 5.2.2 семантические значения лексем.
yylloc
-
внешняя переменная, в которую
yylex должна помещать номера строки и
колонки, связанных с лексемой (в чистом анализаторе это локальная переменная
yyparse , и её адрес передаётся yylex ). вы можете игнорировать
эту переменную, если вы не используете возможности `@' в действиях
грамматики. см. раздел 5.2.3 позиции лексем в тексте.
yynerrs
-
глобальная переменная, которую bison увеличивает на 1 при каждой ошибке
разбора (в чистом анализаторе это локальная переменная
yyparse ).
см. раздел 5.3 функция сообщения об ошибках yyerror .
yyparse
-
функция анализатора, создаваемая bison. вызывайте эту функцию для запуска
процесса разбора. см. раздел 5.1 функция анализатора
yyparse .
%debug
-
готовит анализатор к отладке. см. раздел 4.7.8 обзор объявлений bison.
%defines
-
объявление bison для создания файла заголовка, нужного сканеру.
см. раздел 4.7.8 обзор объявлений bison.
%file-prefix="префикс"
-
объявление bison, устанавливающее префикс выходных файлов. см. раздел 4.7.8 обзор объявлений bison.
%left
-
объявление bison, устанавливающее левую ассоциативность лексем(ы).
см. раздел 4.7.2 приоритет операций.
%name-prefix="префикс"
-
объявление bison, переименовывающее внешние символы. см. раздел 4.7.8 обзор объявлений bison.
%no-lines
-
объявление bison, отменяющее создание директив
#line в файле
анализатора. см. раздел 4.7.8 обзор объявлений bison.
%nonassoc
-
объявление bison, устанавливающее неассоциативность лексем(ы).
см. раздел 4.7.2 приоритет операций.
%output="имя_файла"
-
объявление bison, устанавливающее имя файла анализатора. см. раздел 4.7.8 обзор объявлений bison.
%prec
-
объявление bison, устанавливающее приоритет отдельного правила.
см. раздел 6.4 контекстно-зависимый приоритет.
%pure-parser
-
объявление bison, требующее создания чистого (повторно входимого) анализатора.
см. раздел 4.7.7 чистый (повторно входимый) анализатор.
%right
-
объявление bison, устанавливающее правую ассоциативность лексем(ы).
см. раздел 4.7.2 приоритет операций.
%start
-
объявление bison, задающее начальный символ. см. раздел 4.7.6 начальный символ.
%token
-
объявление bison, объявляющее лексем(ы) без задания приоритета.
см. раздел 4.7.1 имена типов лексем.
%token-table
-
объявление bison, включающее таблицу имён лексем в файл анализатора.
см. раздел 4.7.8 обзор объявлений bison.
%type
-
объявление bison для нетерминалов. см. раздел 4.7.4 нетерминальные символы.
%union
-
объявление bison, задающее несколько возможных типлв данных семантических
значений. см. раздел 4.7.3 набор типов значений.
знаки пунктуации и ограничители, используемые во входном тексте bison:
- `%%'
-
ограничитель, используемый для отделения секции правил граматики от секции
объявлений bison или секции дополнительного кода на c. см. раздел 2.8 обзор схемы грамматики bison.
- `%{ %}'
-
весь код между `%{' и `%}' дословно копируется в выходной файл.
такой код образует секцию "объявлений c" входного файла. см. раздел 4.1 структура грамматики bison.
- `/*...*/'
-
ограничители комментариев, как в c.
- `:'
-
разграничивает результат правила и его компоненты. см. раздел 4.3 синтаксис правил грамматики.
- `;'
-
завершает правило. см. раздел 4.3 синтаксис правил грамматики.
- `|'
-
разграничивает альтернативные правила для одного результирующего нетерминала.
см. раздел 4.3 синтаксис правил грамматики.
[содержание] [назад] [пред] [вверх] [след] [вперед]
|