antlr3

    1熱度

    1回答

    我可以用下面的語法替換indent_loop [3] 3,INDENT? INDENT是縮進的詞法規則。 我只想寫數INDENT根據數量。 match_node : match_node_name (tree_operator) (NEW_LINE (indent_loop[3]) (moduleCall | literals))* { match_node_list.p

    1熱度

    1回答

    在Java.g,我們可以發現以下規則(爲清楚起見空白刪除): statement : block | ('assert') expression (':' expression)? ';' | 'assert' expression (':' expression)? ';' | 'if' parExpression statement ('el

    1熱度

    1回答

    我想在ANTLR中創建一個允許多重分配的LL(1)語法,如: x = y = 5; 我認爲語義謂詞是在這種情況下有用的,但下面的規則將無法工作:( tokens { BECOMES = '=' } assignment_statement : IDENTIFIER BECOMES expr ; expr : (IDENTIFI

    1熱度

    1回答

    我想解析一些任務,我只關心整個任務。不是關於任務內容的。分配由':='表示。 (編輯:其他的事情可能會前和分配後,) 一些例子: a := TRUE & FALSE; c := a ? 3 : 5; b := case a : 1; !a : 0; esac; 目前我做一個包含「案例」和其他任務分配之間的差異。對於簡單的作業,我嘗試了類似~('cas

    0熱度

    1回答

    我已經創建了一個ANTLR語法,可以正確地生成與它關聯的文件類型的樹。 現在呢?我真的不知道如何讓這個.g文件現在解析一些東西。我如何讓它在我的文件系統中執行,並將它解析爲什麼?目標是將這些文件(其中一些)轉換爲JSON格式。任何建議或澄清,一直在閱讀很多教程,我覺得無聊,因爲我似乎無法得到我要找的東西。 我在JAVA和ANTLR 3.4編程。

    0熱度

    1回答

    我嘗試用ANTLR製作一個具有以下特徵的文法。 它可以解析像的標識符: foo > bar > 67 其中foo>欄是標識符,因爲如果>後跟一個字母它包含識別符和它的其他操作者相比更大。 我應該解析之類的東西 ((a = 1) AND (b = 2)) OR (c = 3) ,其中()是必要的。 我對這個話題和ANTLR真的很陌生,希望有人能幫忙。 我目前有這個語法 grammar tes

    0熱度

    1回答

    我打算在Windows 7平臺上用antlrIDE構建解析器(使用C語言)。我完成了語法(組合語法的.g),它爲我自動生成詞法分析器和分析器。但是,我不知道如何編譯.c和.h文件。我試過,但得到錯誤,因爲頭包括(antlrIDE自動生成解析器點c文件中的標頭#include "antlr.h")。我已閱讀此文章Using ANTLR3 C Target 但它不能幫助我,請問您能告訴我該怎麼做?先進

    0熱度

    2回答

    我有非常簡單的XML(HTML)解析ANTLR語法: wiki: ggg+; ggg: tag | text; tag: '<' tx=TEXT { System.out.println($tx.getText()); } '>'; text: tx=TEXT { System.out.println($tx.getText()); }; CHAR: ~('<'|'>'); TE

    4熱度

    4回答

    我們有一個ASP.NET應用程序,這是由一名前僱員編寫的,我迄今一直用膠帶粘在一起。該應用程序是用MVC,NHibernate和其他一些進程編寫的,其中沒有任何其他應用程序使用它,所以我對如何支持這些應用程序幾乎沒有想法。爲了進一步複雜化,最初的應用程序並不是爲了正確部署而構建的,因此我不得不按照來自所述員工的關於要將哪些文件複製到哪裏手動獲取更新的指示信息。我今天嘗試進行更新,在我複製任何內容之

    1熱度

    1回答

    我在ANTLR 3.4中編寫了一個PHP5解析器,它幾乎就緒,但我無法處理PHP的棘手功能之一。我的問題是賦值運算符的優先級。如PHP手冊says,賦值的優先級幾乎在列表的末尾。在列表中只有and,xor,or和,。 但有手動頁面上此一張紙條,上面說: 雖然=比大多數其他優先級高,PHP將 仍舊允許類似如下的表達式:if (!$a = foo()),在 其中如果foo()的返回值被置入$a。 筆記