shift-reduce-conflict

    1熱度

    2回答

    這裏衝突的例子是C編譯器的一部分: Exp : INTNUMBER { $$ = $1; } | lvalue { $$ = $1; } | REALNUMBER { $$ = $1; } | CHARVALUE { $$ = $1; } | TRUE { $$ = $1; }

    0熱度

    1回答

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

    0熱度

    1回答

    我想爲minipython的一個版本(使用後綴/前綴增量和減量運算符)編寫sablecc的規範文件,有些產品自然需要使用標識符,但是我在解析期間得到這些衝突: shift/reduce conflict in state [stack: TPrint TIdentifier *] on TPlusPlus in { [ PMultiplication = TIdentifier * ]

    0熱度

    1回答

    我打算用野牛解析一些腳本語言移減少衝突,在這種語言,我可以寫類似下面的代碼: a = input() b = a + 1 function myfunc a = input() b = a + 1 end function 我發現,該塊 a = input() b = a + 1 其中進出函數定義的同時出現可以通過相同的規則stmts被減小,所以我寫如下代碼 %

    2熱度

    1回答

    我是新來的野牛,我試圖做一個文法解析表達式。 我現在面臨着一種轉變/減少困惑,我無法解決。 語法如下: %left "[" "(" %left "+" %% expression_list : expression_list "," expression | expression | /*empty*/ ; expression :

    0熱度

    2回答

    這裏是簡化yaac文件: %token CONTEXT_ // the corresponding string is "context" %token CONTEXTREF_ //"contextref" %token IS_ //"is" %token ID_L //"id_l" %token ID_L1 //"id_l1" %token LIB_ %start desi

    1熱度

    1回答

    我已經寫了這個YACC程序來驗證字符串w.r.t語法{ckanbm: n ≠ m ∧ k,m,n > 0}。 NL代表換行符。令牌通過已經在那裏的lex傳遞。但是,這個錯誤是給出的。我認爲,產生式規則都OK,但我收到此消息: [[email protected] wali1]$ yacc -d assign1.y yacc: 2 shift/reduce conflicts, 1 reduce/

    0熱度

    2回答

    我使用PLY解析this語法。我爲鏈接規範中使用的EBNF實現了一個metagrammar,但PLY報告了多個shift/reduce衝突。 語法: Rule 0 S' -> grammar Rule 1 grammar -> prod_list Rule 2 grammar -> empty Rule 3 prod_list -> prod Rule 4 prod_list -

    -2熱度

    1回答

    我寫在野牛解析器對於具有以下構造,以及其他語言: 自調度:identifierarguments] 調度:expression。 identifierarguments] 字符串切片:expression [expression,expression] - 與Python類似。 arguments是逗號分隔的表達式列表,它也可以是空的。以上所有內容都是表達自己的。 我的問題是,我不知道如何解析[m

    0熱度

    1回答

    我想製作一個編譯器,現在我正在嘗試製作解析器。 我得到這個狀態的警告: 國家89 62 expr: '(' expr . ')' 66 | expr . '+' expr 67 | expr . '-' expr 68 | expr . '*' expr 69 | expr . '/' expr 70 | expr . '%' expr