[Содержание]   [Назад]   [Пред]   [Вверх]   [След]   [Вперед]  


A. Символы Bison

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 Синтаксис правил грамматики.


[Содержание]   [Назад]   [Пред]   [Вверх]   [След]   [Вперед]