簡體   English   中英

如何在ANTLR4中生成AST?

[英]How to generate AST in ANTLR4?

我正在開發一個項目,我必須為給定的程序生成抽象語法樹。 這里的程序可以是任何主流編程語言。 在ANTLR4中生成AST的標准方法是什么? 我只知道ANTLR4的基礎知識,我能夠為給定的程序生成Parse樹。

ANTLR 4自動生成解析樹,而不是依賴於手動結構化的AST。 這個決定是在觀察了多年的開發之后做出的,先前的方法遇到了極端的可維護性挑戰,特別是涉及多個樹解析器時。

如果需要源代碼的抽象表示,則應創建一個准確表示語言結構的對象模型,而不是依賴於弱類型和通常非結構化的AST節點。 然后,您可以使用解析樹而不是AST來創建對象模型。

對於任何新項目,我都不建議使用ANTLR 3。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM