javacc

    0熱度

    1回答

    我想在由javaCC生成的解析器中實現規則編碼: 不要在for-loop塊內更改循環變量。 for循環塊的規則製作的JavaCC是: void MyMethod() : {} { "(" Argument() ")" {} (Statement()) * } void Statement() : {} { expressionFOR() } void expressionF

    1熱度

    1回答

    我由JavaCC生成了一個解析器。然後,我會在我的方法中計算嵌套if的數量。 我的文件.jjt是: // TestParser.jjt PARSER_BEGIN(TestParser) public class TestParser { public static void main(String[] args) throws ParseException { TestP

    0熱度

    2回答

    我們試圖使用JavaCC作爲解析器來解析UTF-8中的源代碼(該語言是日語)。在JavaCC中,我們有這樣的聲明: < #LETTER: [ "\u0024", "\u0041"-"\u005a", "\u005f", "\u0061"-"\u007a", "\u00c0"-"\u00d6", "\u00d8"-"\u00f6"

    3熱度

    2回答

    我正嘗試創建自己的分析器/解析器。 我有一個問題,我明白爲什麼它不起作用,但我不確定如何解決它。 這是解析器問題部分的代碼。 void Expression() : {}{ Term() ((<PLUS> | <MINUS>) Term())* } void Term() : {}{ Factor()((<MULTIPLY> | <DIVIDE>) Factor())*

    0熱度

    1回答

    我正在使用JavaCC來制定識別語言的規範。我的問題是JavaCC給我一個警告,因爲public是Member()聲明的通用前綴。 Member()可以具有Attributes()和/或Method(),但必須至少有一個Method,順序無關緊要。 警告的JavaCC給我是: 在選擇衝突(...)+構造在第66行,列23 擴展嵌套構建體和膨脹以下構建物內具有共同的前綴,其中之一是: 「上市」。考慮

    5熱度

    1回答

    我試圖寫基於JavaCC的解析器,包括以下令牌/詞法狀態: TOKEN : { <"{"> : FIRST } <FIRST, DEFAULT> TOKEN : { <"~[]"> : DEFAULT } 試圖解析「{;}」導致詞彙錯誤 遇到:「;」 (59)之後:「」 我不明白。我可以通過兩種方式避免錯誤: 通過用顯式「;」替換「〜[]」模式;文字 通過去除前詞

    0熱度

    1回答

    我在努力使分析器識別操作。運算符可以是二進制算術:(+, - ,*,/),二進制關係:(==,<>)或一元(++, - )。 算術運算符應該具有正確的關聯性,關係運算符不是聯想性的。運算符的優先級爲:第一乘法(*,/),第二加法(+, - )和最後一個關係(==,<>)。如果有一個一元運算符,它應該在<Id>之後。 在表達式中可以是括號,它們具有最大優先級。 示例: ab--,cd ++,ef(a

    0熱度

    1回答

    我想創建一個使用javacc的一階邏輯的解析器,我有以下問題。 我有這樣的: <變量:<更低>(< INNER>)*> 其中 < #INNER: ( <上級> | <更低> | < DIGIT> | < UNDERSCORE> )> < #DIGIT:[ 「0」 - 「9」]> < #LOWER:[ 「一個」 - 「Z」]> < C上部:[ 「A」 - 「Z」]> < #UNDERSCORE:「_

    0熱度

    1回答

    我檢查了每個函數Function()是否都以輸入文件流中的註釋開頭。這樣的: SKIP : { " " | "\t" | "\n" | "\r" } /* COMMENTS */ SPECIAL_TOKEN : { <SINGLE_LINE_COMMENT: "--" (~["\n","\r"])* ("\n"|"\r"|"\r\n")?> } void Fun

    0熱度

    2回答

    我有這樣的語法: agent = nil | @ | id | act . agent | agent + agent | agent "|" agent | agent \ restriction | agent [relabeling] | agent where agent_frame end | automation | (agent) ,其中重點是: "wher