現在、Decaf(プログラミング言語)文法の一部を実装しています。ここでバイソンコードの関連するスニペットは次のとおりです。次のreduce-reduceエラー(LALR解析)を解決できません。
type:
INT
| ID
| type LS RS
;
local_var_decl:
type ID SEMICOLON
;
name:
THIS
| ID
| name DOT ID
| name LS expression RS
;
それにもかかわらず、できるだけ早く私は名前生成規則に仕事を始めとして、私のパーサはを減らす、削減警告を与えます。それは(バイソンによって生成された) .OUTPUTファイル内に何ここ
は:私たちは、次の入力{ abc[1] = abc; }
を与える場合
State 84
23 type: ID .
61 name: ID .
ID reduce using rule 23 (type)
LS reduce using rule 23 (type)
LS [reduce using rule 61 (name)]
$default reduce using rule 61 (name)
そう、それはそのsyntax error, unexpected NUMBER, expected RS
を言います。 NUMBERはの式のルール(基本的にどのように解析する必要があるのですか)ですが、local_var_declルールで解析しようとします。
この問題を解決するにはどうすればよいと思いますか? 2時間ぐらい過ごして、別のものを試しましたが、うまくいかなかった。
ありがとうございました!
PS。ここにはlinkが完全に.yソースコード
ありがとうございます!それは完璧に働いた。 – oneturkmen