我已經使用了ANTLR3很長時間了。我只是轉而使用ANTLR 4.在我的編譯器類中,它對我的學生來說通常更容易理解。然而,從我找到的書籍和其他文檔中並不清楚,如何製作形成分析樹定製類節點的標記和上下文。有了ANTLR 3,我只是使用這些選項讓生成的代碼在生成的代碼中重命名它們。在ANTLR 4中怎麼樣?我是否有文檔可以找到?如何在ANTLR中使用自定義令牌和上下文4
0
A
回答
2
實施TokenFactory<CustomTokenType>
其中CustomTokenType
延伸CommonToken
。在調用解析器之前,在詞法分析器(和解析器根據需要)上設置TokenFactory。
查看源代碼的'extras'目錄中的書籍「The Definitive ANTLR 4 Reference」,查看一些簡單的示例。這些在本書中討論。
查看GenPackage/GenPackageModel的工作示例,具體爲Converter.java中的parse方法。
Github上還有其他例子 - 使用'language:antlr'作爲搜索關鍵詞。其他人被歸類爲他們的實現語言,所以有點難以發現 - '語言:java antlr'會找到很多。
相關問題
- 1. 如何從子規則上下文ANTLR 4中獲取令牌?
- 2. ANTLR - 隱和令牌在樹
- 3. 來自文件的Antlr令牌
- 4. 如何使用ANTLR修改CommonTokenStream中令牌的文本?
- 5. 如何使用Flex僅在上下文中掃描令牌?
- 6. JavaCC:如何指定在特定上下文中預期使用哪個令牌?
- 7. 如何在自定義重定向上返回刷新令牌?
- 8. 如何在Orion上下文代理通知自定義載荷(NGSIV2)中使用屬性元數據令牌?
- 9. 如何使用默認Silverlight 4上下文菜單和自定義上下文菜單?
- 10. 如何在ANTLR中指定令牌的確切出現次數?
- 11. 如何獲取自定義指令中的請求上下文?
- 12. 替換ANTLR中的令牌文本
- 13. 的OAuth令牌和自定義錯誤
- 14. WS-Security策略和saml2令牌,使用自定義令牌的簽名錯誤
- 15. 如何從antlr中的語法文件創建令牌文件
- 16. 自定義saml令牌
- 17. ANTLR - 使用謂詞插入令牌
- 18. 從CommonTokenStream沒有令牌使用Antlr
- 19. 如何使用flex ant任務自定義令牌
- 20. ANTLR如何獲得表達式令牌
- 21. 如何使用ANTLR 4在線解析?
- 22. ANTLR - 在c/C++中訪問令牌值
- 23. 如何在oAuth 2.0/owin中自定義JWT令牌驗證?
- 24. 如果ANTLR與任何已定義的令牌不匹配,是否有可用的默認令牌?
- 25. 使用檸檬分析器和自定義令牌值
- 26. 如何在自定義UserControl(.Net 4,Winforms)上使用Items Collection Editor?
- 27. .NET中的自定義CSRF令牌
- 28. WCf中的自定義令牌管理
- 29. ANTLR:異構AST和虛令牌
- 30. 在自定義上下文中繪製
謝謝。非常感激。我確實在書中找到了令人信服的答案,但沒有解析器的任何內容。這是一個很大的幫助。 – 2015-02-01 17:49:53
如果有幫助,請接受答案。 – GRosenberg 2015-02-01 19:50:11