別のモジュールによって行われたトークンのフローを解析できるように、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
//...
そうしなければならない場合、他のモジュールの仕様が変更されると、ファイルを維持するのがかなり難しくなります(これはかなり頻繁に発生します)。
方法を教えてください。または、良い方向に向けてください (アイデアやコメントは大歓迎です)。それは私を大いに助けるでしょう!前もって感謝します。