antlr

    1熱度

    2回答

    我是一個完全的詞法分析器和解析器新手,所以請耐心等待。最終,我希望能夠表達LDAP樣式查詢字符串,例如'(foo = bar)','(!foo = bar)','(&(foo = bar)(!zip = zap))'並且最後有一棵樹,我可以使用它創建實際的數據庫查詢(或其他) 所以我想從最簡單的形式開始,解析像(foo = bar)和(!foo = bar)這樣的表達式,但已經有一些理解問題。我只

    3熱度

    6回答

    出於好奇,我不知道人們可以用解析器做什麼,它們如何應用以及人們通常用它來創建什麼? 我知道它被廣泛用於編程語言行業,但我認爲這只是它的一小部分,對吧?

    9熱度

    4回答

    我試圖解析(在Java中)維基媒體標記爲在維基百科上找到。這項任務有很多現有的軟件包,但我沒有找到任何適合我需求的特別好的軟件包。我與之合作的最好的軟件包是Mathclipse Bliki parser,它在大多數頁面上都做得不錯。 但是,此解析器不完整,無法解析某些頁面或在其他頁面上錯誤解析。可悲的是,代碼相當混亂,因此修復這個解析引擎中的問題非常耗時且容易出錯。 在試圖找到一個更好的解析引擎時

    1熱度

    1回答

    我正在爲中等大小的語言編寫語法,並且我試圖實現hh:mm:ss格式的時間文字。 但是,無論何時我試圖解析,例如,12:34:56作爲timeLiteral,我都會在數字上得到不匹配的標記異常。有誰知道我可能會做錯什麼? 這裏是目前定義的相關規則: timeLiteral : timePair COLON timePair COLON timePair -> ^(TIMELIT timeP

    21熱度

    4回答

    有沒有人知道在C#中使用ANTLR生成的AST的教程?我能找到的最接近的是this,但這不是非常有幫助。 我的目標是根據我正在處理的領域特定語言生成樹,並使用這些樹來輸出生成的C#代碼。 基於Java的教程也會有所幫助 - 任何可以提供有關如何遍歷ANTLR ASTs的清晰示例的東西都可以。

    1熱度

    2回答

    我即將開始一個新的個人項目。它的目標是成爲一個非常大的,所以我認爲保留某種CVS是個好主意。我也看到了很多有趣的東西,對單元測試,我想包括一些系統自動生成項目,並在每次檢查後,運行一系列測試 的特點是: 只有一個開發商和一臺機器(只有我和我的電腦!)。 包含一個CVS。 包含自動測試。 該軟件應該是免費的(如免費)並在Linux下運行。 它將基於C++和ANTLR。 到目前爲止,我已經設置了SVN

    2熱度

    2回答

    我有以下的Antlr語法: grammar MyGrammar; doc : intro planet; intro : 'hi'; planet : 'world'; MLCOMMENT : '/*' (options {greedy=false;} : .)* '*/' { $channel = HIDDEN; }; WHITESPACE : ( (' ' |

    1熱度

    2回答

    我正在使用ANTLR 3創建AST。我想有兩個AST分析器,一個用於生產代碼,另一個用於我們已有的Eclipse插件。但是,插件不需要樹中的所有信息。我正在尋找的是一種解析樹而不指定語法中的所有分支的方法。有沒有辦法做到這一點?

    8熱度

    3回答

    G'day! 如何構造一個簡單的ANTLR語法來處理多行表達式而不需要分號或反斜線? 我試圖寫一個簡單的DSL的表達式: # sh style comments ThisValue = 1 ThatValue = ThisValue * 2 ThisOtherValue = (1 + 2 + ThisValue * ThatValue) YetAnotherValue = MAX(This

    1熱度

    3回答

    我有一個ANTLR語法,並且正在定義一個允許使用可選參數的語言的函數。我如何檢查可選參數是否傳入或者不在代碼生成塊中? 基本上,我尋找的語法做這樣的事假設樹語法聲明: myFunc returns [int retval] : 'myFunc' arg1=number arg2=string? { // Check if arg2 exists. if (/* arg2 ex