我們已經爲antlr V3編寫了一個語法,並且我想遷移到antlr v4。是否有任何移植指南。並且我想知道現有V3語法的修改,以便我們很好地利用v4的功能。將ANTLR v3語法遷移到ANTLR v4
2
A
回答
3
如果您在v3或更早版本中使用AST構建和樹解析,將會造成最大的影響。 巨大的有差異。您不再有AST生成(它現在生成Parse Trees)或樹Walkkers(您現在使用Parser Listeners或Parse Tree Visitors)。
我還沒有看到移植指南,但是如果您正在瀏覽v4文檔並且正在使用AST或樹型漫步者,請查看Parse Trees,Listeners和Visitors上的v4部分。
其他大部分變化都是爲了更容易編寫解析器,儘管如果你不小心的話,有些可能會讓你陷入一些麻煩。例如,您現在可以編寫左遞歸規則,但是如果您依賴某個優先級(如在表達式語法中),則需要仔細匹配ANTLR4編譯器的幾個模式以瞭解正確的優先級。
我強烈建議讓Ter的書The Definitive ANTLR4 Reference只讀通過它。它提供了大部分你需要的細節,儘管你仍然想要玩一下。
我剛剛寫了一個非常簡單的Eclipse Eclipse插件的ANTLR4插件,我希望很快發佈它。它需要多一點測試,但迄今爲止它是一個基本的構建器。下一步是創建一個編輯器...
相關問題
- 1. ANTLR V3 SQL語法
- 2. ANTLR v4的C語法
- 3. ANTLR V4多任務
- 4. ANTLR v4 + Xcode/objC/iOS?
- 5. C#ANTLR語法?
- 6. 在ANTLR語法
- 7. ANTLR語法pred
- 8. CIL ANTLR語法?
- 9. 我面臨的問題將Antlr版本3.1.1遷移到Antlr 3.3(獲取NoSuchMethodError:CommonTreeNodeStream.getNodeIndex)
- 10. 轉換ANTLR 3語法ANTLR 4
- 11. ANTLR version2語法語法?
- 12. ANTLR語法教程
- 13. ANTLR的箭語法
- 14. ANTLR的樹語法
- 15. Antlr Left Factoring語法
- 16. 測試ANTLR語法
- 17. ANTLR語法變量
- 18. ANTLR語法問題
- 19. antlr語法定義
- 20. ANTLR語法錯誤
- 21. 遷移反應路由器v3到v4
- 22. ANTLR語法if語句
- 23. ANTLR的V4文法的XQuery 3.1
- 24. ANTLR v3 C#命名空間
- 25. ANTLR v3的詞法錯誤預測
- 26. ANTLR v3:缺少方法JavaParser.javaSource()和類JavaParser.javaSource_return
- 27. ANTLR語法許可證
- 28. ANTLR語法不完整
- 29. 如何配置Antlr語法
- 30. ANTLR 4:語法錯誤和