我正在使用bison來實現一個簡單的分析器。和語法的一行是這樣的:使用Bison在一行中訪問兩個或兩個以上的標記
prefix_definition : PREFIX IDENTIFIER IDENTIFIER ABBR IDENTIFIER ';'
我不確定如何訪問第一,第二和第三分別IDENTIFIER
。我的Flex文件中讀取IDENTIFIER
這樣的:
IDENTIFIER_REGEX (_|[A_Za-z])(_|[0-9A-Za-z])*
{IDENTIFIER_REGEX} { yylval.identifier=strdup(yytext); return IDENTIFIER; }
我不能用簡單yylval.identifier
。我試過$2.identifier
左右,但它根本不起作用(而且它不應該是工作無論如何)。有沒有解決這個問題的方法?
如果bison/flex不支持這種訪問,我正在考慮使用FIFO隊列。這是一個好的解決方案嗎?
我刪除了「Adobe Flex」標籤並添加了「gnu-flex」標籤;因爲我認爲這篇文章涉及詞法分析器;而不是Flash Platform SDK。 – JeffryHouser