shift-reduce-conflict

    2熱度

    1回答

    我需要幫助來解決這個問題,並解釋如何在未來處理這個SHIFT/REDUCE CONFLICTS。 我在我的杯子文件中的幾個州之間有一些衝突。 格拉默是這樣的: 我之間的衝突 「(」[ActPars] 「)」 狀態。 1. Statement = Designator ("=" Expr | "++" | "‐‐" | "(" [ActPars] ")") ";" 2. Factor = num

    1熱度

    1回答

    我的gramamar的一段代碼使我瘋狂。 我必須寫一個語法,允許多輸入寫功能 例如, function begin a: <statments> b: <statements> end 用的問題,即它的那就是都是這樣 ID = Expresion賦值語句。 在下面的引用中可以看到yacc產生的輸出。 0 $accept : Ins

    1熱度

    2回答

    我已經創建了其具有以下語法一個語言的編譯器,通過ML-Yacc的定義衝突(起始符號是「程序」,這是在底部定義): %nonassoc FUN VAR ASSIGN PLUSASSIGN MINUSASSIGN TIMESASSIGN DIVIDEASSIGN %right ELSE %left OR %left AND %nonassoc EQ NEQ GT LT GE L

    0熱度

    1回答

    我試圖做一個Java語言的解析器,但與其他語句,移位/減少衝突出現。 我試圖野牛bison_file.y --report=state和有關衝突的結果是: 國家62 31聲明:if_statement。 65 if_else_statement:if_statement。 ELSE語句 ELSE轉變,並進入狀態84 ELSE [減少使用第31條(聲明) $默認降低使用第31條(聲明) 我想不出辦法

    1熱度

    2回答

    我有以下模棱兩可文法,其中大寫字母規則是簡單的詞法令牌: program : function | function program function : FN ID ARROW TYPE invariants DASH block fn_call : ID L_PAREN CONSTANT R_PAREN invariants : invariant | invariant invar

    0熱度

    1回答

    鑑於以下輸入: int x = y; 和 int x = y(); 有沒有辦法爲LALR(1)語法,以避免移進/歸約衝突?轉移/減少衝突決定減少y或繼續(。 (這是假設變量名可以是任何一組字母數字字符,和函數調用是任何組由括號下列字母數字字符。)

    0熱度

    1回答

    我真的被Goldparser中的Shift-Reduce衝突困住了。 我寫了一個PHP類語法理論上應該能夠解析下面的腳本: public $Test = null; protected $bDemo = true; function Main() { } private function Run() { } 在我想要分配的全局變量的頂部,之後來到函數定義。 爲了縮小這個問題,

    0熱度

    1回答

    空規則下面我有yacc語法: OPTIONS:OPTIONS OPTION {printf("%s\n", "Options enabled");} | OPTION {printf("%s\n", "First option");} | ; OPTION: DEBUG {printf("%s\n", "debug enabl

    0熱度

    1回答

    我一直試圖解析連接字符串,以便表達式也可以連接起來形成字符串。也就是, "No, " + 4*(6+5)/(8-4) + " is not equal to " + 75*1.3 + "." 上面應該正確解析。問題是+導致轉換減少衝突。我一直在使用下面的語法; <S> ::= <A> '+' <S> | <A> <A> ::= <E> |QUOT <E> ::= <

    0熱度

    1回答

    我要創建語法識別這樣的:如果兩個表達式等於執行 ifequal(exp1, exp2) statement1 smaller statement2 larger statement3 語句1,第二如果第一較小第三如果是較大的。我試圖做出類似this解決方案,但沒有運氣。我不能使用優先順序,所以必須正確地更改語法。我正在使用杯子工具來生成解析器。 編輯:越來越大