2013-06-05 63 views
0

我想在出現問題時報告錯誤消息,列和行.yylineno可以,工作正常,但@ 1.first_column的值始終爲0,無論我如何修改測試文本。爲什麼@ 1.first_column的值始終爲0

的YACC文件片段:

set:SET PARENTHESIS reference EQUAL expression CLOSE_PARENTHESIS {$$ = set_directive($3,$5); } 
|error {yyerrok; yyclearin;printf("column is %d",@1.first_column);yyerror("Set directive error!",@1.first_column);YYABORT;} 
; 

我沒有搜到類似的問題,請幫幫我!

回答

1

flex未填寫欄位;你必須自己做。 John Levine的高度推薦書籍Flex and Bison中有一個例子;幸運的是,相關部分是(當前)作爲O'Reilly提供的excerpt

0

您是否在您的詞法分析器中設置了yylloc?如果不是,那麼除了1之外,你不會看到任何其他值。