2014-08-28 175 views
0

使用以下命令:java org.antlr.v4.Tool -visitor -lib scanner/parser/Decaf.g,生成該指令(DecafParserBaseListener.java,DecafParserBaseVisitor.java,DecafParserListener.java,DecafParserVisitor。 JAVA)。我們的問題是如何使用這種方法來製作AST?AST Parser樹ANTLR4

回答

0

Short:Antlr4中尚未提供(尚未提供)。 它在Antlr3中可用,但到目前爲止已經在Antlr4的發佈中下載。它可能包含在其他版本中。

您必須使用解析樹和訪問者/偵聽器來執行您的任務或「手動」生成AST。根據我自己的經驗 - 如果您以有效的方式創建/組織您的解析器規則 - 與從分析樹開始相比,從AST開始並不是那麼大的優勢。

+0

是的,我知道,但我該如何使用基礎偵聽器?那是我的問題,如何使用這些文件。 – 2014-09-01 17:51:45

+0

基本上通過繼承'DecafParserBaseListener'並覆蓋你感興趣的那些方法。請參閱https://theantlrguy.atlassian.net/wiki/display/ANTLR4/Parse+Tree+Listeners或閱讀本書(https://pragprog.com/book/tpantlr2/the-definitive-antlr-4-reference) – Onur 2014-09-02 06:15:01

+0

謝謝!我會讀它,我希望我會理解XD的一切 – 2014-09-03 03:11:16