antlr 4.7.1_新ANTLR 4.6的重要更改
antlr 4.7.1
自上一個主要版本發布以來,已經過去了將近一年的時間,推出了新的ANTLR版本: 4.6 。 有很多新聞:新的目標,更好的性能,更好的錯誤處理以及ANTLR本身開發中的一些改進。
新目標
影響最大的新聞可能是新目標:C ++,Go和Swift。 當然,獲得C ++支持非常重要。 討厭它還是喜歡它,它仍然是其中的主要語言之一。 由于對并發的大力支持,Go在網絡應用程序(例如Web服務器和API)中獲得了關注。 這幾乎使可用目標增加了一倍,并加入了已經包含的Java,C#,Python和Javascript。
ANTLR 4中最大的新增功能之一是對左遞歸表達式的支持,也就是說,該表達式具有一個或多個引用自己的替代方法。 支持表達式所需的語法規則大大簡化,但是對于非常大的表達式,存在不終止解析的情況。 這是由于兩個選擇之間的歧義導致解析引擎出現問題。 兩者都導致有效的解析,但是一個比另一個慢得多。 該問題是由 ANTLR的主要貢獻者之一Sam Harwell發現的 。
錯誤處理和消息
在某些情況下的錯誤處理方面已得到改進:與LL(1)決策有關,匹配的令牌集被錯誤地視為重新同步令牌,以及偶爾不包含單個令牌的錯誤節點。 此外,例如在規則與指定目標語言的生成代碼中的符號沖突的情況下,會有更好的錯誤消息。
改進ANTLR的發展
其他重要新聞是與ANTLR本身的開發有關的一些改進。 盡管這并不直接影響您,但作為用戶,它們可能使您更容易為項目做出貢獻,研究大型Java項目的工作方式,甚至激發您改進自己的開源項目。 這些范圍包括從改進到構建系統,從Maven插件到完全重寫的單元測試機制。 同樣有用的是要知道,現在的構建環境需要ANTLR Java 7 / JDK 1.7,這是Swift目標的推動 。
結論
ANTLR是許多對語言感興趣的人的寶貴工具。 此版本再次證明了ANTLR將繼續存在并在不斷發展。 由于大量有意義的更改,所以此發行版有點特殊。 我可以在ANTLR社區中看到這種不斷增長的熱情,并且我期待著在這一領域看到更多偉大的事情。
翻譯自: https://www.javacodegeeks.com/2017/01/important-changes-new-antlr-4-6.html
antlr 4.7.1
總結
以上是生活随笔為你收集整理的antlr 4.7.1_新ANTLR 4.6的重要更改的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 知道这些电脑小问题不求人
 - 下一篇: 教你一招设置密码电脑如何让设置密码