私はBisonを使用しています(AFAIKはLL(1)
デフォルトで解析を使用しています)。
私の文法は次のように言っています。
function_decl: ID '(' params ')' ':' TYPE ... // body may go here
function_call: ID '(' arguments ')'
params: ID ':' TYPE
| params ',' ID ':' TYPE
| %empty
arguments: ID
| arguments ',' ID
| %empty
現在、との両方が null 可能であるため (パラメーターがゼロの場合)、競合をbison
警告します。reduce/reduce
params
arguments
function()
私の質問は、この競合を (抑制するのではなく) どうすれば削除できますか?
誰かが別の解析手法を使用することを提案しましたが、それが可能である場合 (そうするべきである)、または単に無視する必要があるかどうかを明確にしたいと思います。