javacc

    0熱度

    1回答

    我需要創建一個(非常)簡單的XPath表達式解析器。我正在嘗試爲此目的使用JavaCC。我對JavaCC完全陌生(雖然我們在學校學到了Flex & Bison),所以我試圖逐步構建JJ腳本,一次添加一小部分功能。 到目前爲止,我起身到以下語法: XPATHEXPRESSION ::= ("/" <STEP>)+ STEP ::= <AXIS_NAME> ":" <NODE_TEST> ("["

    0熱度

    1回答

    我正在嘗試使上下文無關語法表示簡單的正則表達式。我想要的符號是[0-9] [a-z] [A-Z],運算符是「|」,「()」和「。」。 「?」進行連結,和現在我只希望序列「*」以後我會加上「+」,等等。我想這在語法的javacc: void RE(): {} { FINAL(0) ("." FINAL(0) | "|" FINAL(0))* } void FINAL(int sig

    1熱度

    1回答

    在下面的語法中,我嘗試配置以'作爲單行註釋開始的任何行,以及/' Multiline Comment '/之間的任何行。單行註釋行得通。但出於某種原因,只要按/或'或';'或<或'>'我得到下面的錯誤。我沒有配置上述字符。他們不應該被視爲默認並跳過解析? 錯誤 Lexical error at line 0, column 0. Encountered: "\"" (34), after : ""

    0熱度

    1回答

    我正在嘗試爲(簡單)XPath解析器編寫JavaCC腳本,並且在解析各個步驟時遇到了部分問題。 我的語法的想法是這樣的: Step ::= (AxisName "::")? NodeTest ("[" Predicate "]")* 我已經把它改造成以下腳本片段: Step Step() : { Token t; Step step; Axis axis;

    0熱度

    2回答

    這些線出現在的.jj文件 ASTSQLSchemaStatement jjtn000 = new ASTSQLSchemaStatement(JJTSQLSCHEMASTATEMENT); boolean jjtc000 = true; jjtree.openNodeScope(jjtn000);

    4熱度

    1回答

    這是一個面試問題。 說你有一個像這樣 {54,23,545,65,23,4,1,2,5} 數組如何排序併爲偶數或奇數在一行代碼分類? 答案的複雜性順序應該是O(1),而不使用任何for循環。結果應該是: {2,4,54,1,5,23,23,65,545}

    0熱度

    1回答

    我想寫一個簡單的語言的解析器,我到了我不知道如何處理這個問題的地步。這裏是my.jj文件 options { STATIC = false; LOOKAHEAD=2; //DEBUG_LOOKAHEAD = true; DEBUG_TOKEN_MANAGER=true; FORCE_LA_CHECK = true; DEBUG_PARS

    0熱度

    1回答

    這是什麼意思?在.jjt文件中,我什至不能理解它... ` jjtThis.setName(); jjtThis.type; jjtThis.setLength(); jjtThis.correlationName; jjtThis.setScale(); jjtThis.setPrecision(); jjtThis.add(); jjtThis.tableName; jjtThis.name;

    1熱度

    1回答

    我試圖在Javacc中創建一個語法,對於函數名稱,我可以使用任何類型的低字符字母或'main'。如果'main'是函數名稱,則需要採取不同的過程。 我的問題是,當main被包含作爲選擇,並且被匹配時,main不能被匹配成字符串。所以我希望如果我從令牌中排除'main'這個詞,那麼它可能會起作用! < FUNCNAME: (["a"-"z"])+ ~["main"]>

    0熱度

    1回答

    前一段時間,我一直在爲編寫XPath步驟的JavaCC模板而努力,以便它將支持完整的步驟定義和省略了軸名稱的定義(在這種情況下,軸名字將默認爲孩子)。我發佈了a question on SO,並得到了Theodore Norvell的工作回答。 現在我試圖擴展模板,以便解析器除了前面兩個可能性之外還支持使用「@」符號作爲屬性軸的快捷方式。 下面的代碼片段不起作用: Step Step() : {