簡體   English   中英

Profile Antlr語法

[英]Profile Antlr grammar

我在這里找到了這個問題 ,OP在其中詢問一種分析ANTLTR語法的方法。
但是,答案有些不盡人意,因為它僅限於沒有動作的語法,而且,更重要的是,它是一種自動配置文件,如我所見,它將使用生成的詞法分析器/解析器的默認構造器來構造它。

我需要配置文件語法, 不會包含行動和必須使用自定義構造函數來構建。 因此,我需要能夠自己實例化lexer +解析器,然后對其進行概要分析。
我找不到有關此主題的任何信息。 我知道有一個用於IntelliJ的探查器,但它的工作原理與鏈接問題的答案中所述的探查器非常相似(甚至可能相同)。

有誰知道我該如何針對我的特殊語法進行語法分析? 我不需要任何精美的GUI。 如果將結果打印到控制台或類似的東西,我會感到滿意。

總結一下:我正在尋找一種工具或關於如何編寫一些代碼的提示,這些代碼使我可以分析ANTLR語法(使用自我實例化的詞法分析器/解析器)。
順便說一句,我的目標語言是Java,所以我想探查器也必須是Java。

一個良好的開始是將Parser.setProfile()設置為true,並在解析運行后檢查從Parser.getParseInfo()獲得的Parser.getParseInfo() 我尚未仔細查看概要分析結果所提供的詳細信息,但它在我的ANTLR4的vscode擴展的待辦事項列表中,以提供語法的概要分析信息以幫助改進語法。

從決策信息到特定規則的提示:有一個決策號 ,它是ATN.decisionToState的索引。 您可以通過該實例獲得的DecisionState實例是ATNState子孫,它可以從中獲取ATNState.ruleIndex 然后,可以將規則索引與解析器的ruleNames屬性一起使用,以查找該規則的名稱。 該值也是用於規則的枚舉條目的值。

暫無
暫無

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

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