我想用ANTLR編寫從DSL到Java的翻譯器。所以,我用兩種不同的語法編寫了詞法分析器和解析器。現在我必須編寫樹語法,並且我想知道哪些是獲得我的結果的最佳實踐(或推薦實踐)。更確切地說,我想知道哪些是最好的方法來做這樣的事情:使用屬性(例如,添加類型)和優化來豐富樹。基於ANTLR的翻譯器的結構(最佳實踐)
我應該爲識別類型和優化編寫不同的樹語法,然後在解析器之後和最終代碼生成樹語法之前串行調用?還有另一種更容易維護的方法嗎?我也是通過手動解析解析器生成的樹來識別類型。但這是相當保持的。
謝謝你。