当我创建一个语法文件并在其上执行yacc -d时,我得到一个y.tab.h输出文件。有什么方法可以将我想要的标记值输入yacc而不是选择值吗?
例如,
%token FIRST_NAME
%token LAST_NAME
...
生成(在y.tab.h中):
#define FIRST_NAME 257
#define LAST_NAME 258
我知道前256个值是为单个字符匹配保留的,但我真的希望FIRST_NAME #defined为1001而LAST_NAME #defined为1002.这意味着我会选择#defines和在我对语法文件执行yacc之前将它们放入包含文件中。
这可能吗?
由于
答案 0 :(得分:1)
我开始阅读GNU野牛手册,它说你可以做
%token FIRST_NAME 1001
%token LAST_NAME 1002
在野牛中,它会使用这些值。然后我只是尝试了yacc,它也可以。
感谢您的时间。