2011-01-24 47 views
1

當我創建一個語法文件並對它做一個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被定義爲1001,LAST_NAME被定義爲1002.這意味着我會選擇#defines並將它們放入包含文件中,然後對語法文件執行yacc。

這可能嗎?

感謝

回答

1

我開始閱讀GNU野牛手冊,它說,你可以在野牛做

%token FIRST_NAME 1001 
%token LAST_NAME  1002 

,它會使用這些值。然後,我嘗試了yacc,它也可以。

謝謝你的時間。

相關問題