Bison 1.35 - A. Символы Bison
[Содержание] [Назад] [Пред] [Вверх] [След] [Вперед]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 Синтаксис правил грамматики.
[Содержание] [Назад] [Пред] [Вверх] [След] [Вперед]