0

コンマがないことを認識して特定のパラメーターの終わりを見つけるようにパーサーを設定しようとしているので、基本的にはこのようなパラメーターを見つけるように設定しています

パラメータ: end_parameter コンマ

(このデータ型は単なるリストなので、終了を示すものは何もありません。項目を区切るコンマがない場合に終了するだけです)

そして、 end_parameter は以下で定義されており、想定されていることを行います。パーサーは、右中かっこを末尾として認識して他のデータ型を処理しますが、コンマの欠落で終了する型を設定すると、シフト/削減エラーが発生します。誰か提案はありますか?

4

1 に答える 1

1

あなたは、そうでないものではなく、それらが何であるかに一致するルールを書くことによって物事を認識します。したがって、末尾にコンマがないコンマで区切られたパラメータリストの場合は、次を使用します。

parameter_list : parameter
               | parameter_list ',' parameter
               ;

これを使用するコンテキスト、および同じコンテキストで使用される他のルールによっては、競合が発生する可能性があります。その場合は、y.outputファイルを調べて、競合を解決するために競合がどこから来ているかを確認する必要があります。

単一のルールから競合が発生することはめったにありません。競合は通常、複数のルールの相互作用から発生します。

于 2012-09-13T21:25:35.687 に答える