2012-03-15 70 views
1

如何讓Bison在輸入文件中出錯?
我嘗試使用「錯誤」操作,但它似乎沒有幫助。
即使遇到錯誤,解析器也會處理整個輸入文件。如何讓Bison錯誤地停止?

rules: 
    rules rule 
    | rules error { declaration_context = false; YYABORT; } 
    | rule 
    ; 

回答

1

解析器與語法沒有error行動將擺脫困境yyparse功能發生第一個語法錯誤之後。如果您有錯誤生產規則,則只有在語法錯誤後才能繼續解析。如果這些解決方案沒有成功恢復,則會出現更多錯誤,並且遲早會出現終止問題。

參考:http://www.gnu.org/software/bison/manual/bison.html(2.1.5)

+0

感謝您的信息Kaz – 2012-03-24 00:40:39