Как написать файл Bison для автоматического использования списка перечисления токенов, определенного в заголовочном файлC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как написать файл Bison для автоматического использования списка перечисления токенов, определенного в заголовочном файл

Сообщение Anonymous »

Я пытаюсь создать анализатор с помощью Bison/Yacc, чтобы иметь возможность анализировать поток токенов, выполняемый другим модулем. Токены уже перечислены в следующем типе перечисления:

Код: Выделить всё

// C++ header file
enum token_id {
TokenType1         = 0x10000000,
TokenType2         = 0x11000000,
TokenType3         = 0x11100000,
//... and the list go on with about 200/300 line
};
Я много раз просматривал документацию по bison, но не нашел лучшего решения, чем копирование каждого токена в файле Bison следующим образом:

Код: Выделить всё

/* Bison/Yacc file */
%token TokenType1 0x10000000
%token TokenType2 0x11000000
%token TokenType3 0x11100000
//...
Если мне придется сделать это таким образом, будет довольно сложно поддерживать файл, если спецификация другого модуля изменится (что случается довольно часто).

Не могли бы вы рассказать мне, как это сделать, или указать мне правильное направление (любая идея/комментарий приветствуются). Мне бы это очень помогло! Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/211 ... t-define-i
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»