cup

    2熱度

    1回答

    我試圖在Java中創建一個語法分析器(使用CUP),可以承認這段代碼: Instr ::= ... | IF CONOP Exp:e CONCL THEN CondInstrList:l ... ; ... CondInstrList ::= CondInstrList CondInstr | /*empty*/ ; ... Co

    1熱度

    1回答

    我正在使用名爲CUP的解析器生成器。我爲這個類定義提供了語法(CUP規範)和這段支持代碼(Expr.java)。 在CUP規範,語法制作有他們這樣相關的語義動作: expr ::= expr:e1 PLUS expr:e2 {: RESULT = new OpExpr(e1,e2,sym.PLUS); :}; 類定義是這樣的: package java_cup.output; abstra

    0熱度

    1回答

    我有以下解析代碼,但我得到了非終端表達式和function_call之間的移位/減少衝突。這是Visual Basic編程語言的一個小解析代碼。 CFG會錯嗎?還是隻有這兩個非終端符號的問題。 program ::= function_declarations:functionDeclarations | /* Vacio */ ; function_declarations

    1熱度

    1回答

    我試圖用Java編寫一個編譯器,而使用CUP編譯生成語法的語法。 我有這個Parser.cup /* Terminals (tokens returned by the scanner). */ terminal PLUS, MINUS; terminal TIMES, DIV, DIVINT; terminal LPAREN, RPAREN; terminal EXP, MOD; te

    1熱度

    1回答

    ,我發現了以下錯誤: Warning : *** Shift/Reduce conflict found in state #2 between ExitLoopStatement ::= EXITLOOP (*) and VarAccess ::= (*) DOLLAR IDENTIFIER under symbol DOLLAR 這是我使用的語法。目前我有任

    0熱度

    1回答

    我正在嘗試爲JFlex和Cup編寫javascript-ish語言的解析器,但是我遇到了致命移位/減少問題以及減少/減少問題的一些問題。 我已經徹底搜索並發現了大量的例子,但我無法將這些推斷到我的語法。我迄今爲止的理解是,這些問題是因爲解析器無法確定它應該採用哪種方式,因爲它無法區分。 我的語法如下: 以INPUT開頭; INPUT::= PROGRAM; PROGRAM::= FUNCTIO

    2熱度

    2回答

    我有一個JavaCUP的LR(1)語法分析器的簡單語法,它可以識別標識符和字符串的連接表達式。我也想添加一些空的函數調用作爲可能的連接參數。但是,當我嘗試時,它會導致轉換/減少衝突。 語法: precedence left PLUS; e ::= e exp | exp; exp ::= concat | literal; concatenation ::= e

    0熱度

    2回答

    我剛做了jflex和cup的安裝,我想測試一切是否正常。 以下是我在shell中寫的內容以及我得到的結果。 這裏是jflex.bat文件的內容: 有什麼我做錯了? 如何運行第一次jflex?當我編寫java -version時,它會在我的電腦中顯示正確的java版本。問題在於jflex。 謝謝!

    2熱度

    1回答

    我收到以下錯誤: Warning : *** Shift/Reduce conflict found in state #116 between Statement ::= Matched (*) and Unmatched ::= IF LPAREN Condition RPAREN Matched (*) ELSE Unmatched and Matched ::= IF LPARE

    2熱度

    1回答

    我正在嘗試編寫一個非常簡單的解析器。我在Java CUP中使用JFlex。這裏是我的代碼: LEX文件: import java_cup.runtime.*; %% %class Lexer %line %column %cup %{ /*****************************************************************