3

私のC#風のおもちゃの文法には、最初のreduce-reduceの競合があります。私は私をとても誇りに思っています。

しかし、それは私には大丈夫のようです(私はその機会にGLRパーサーに切り替えました)。問題は、%expectディレクティブがシフト/リデュースの競合についてバイソンをシャットダウンできることは知っていますが、リデュース/リデュースの競合に相当するものが見つからないことです。では、3つのシフト/リデュースと2つのリデュース/リデュースについて沈黙させるには何を使用すればよいですか?

4

1 に答える 1

4

ここにあるGNUBisonのドキュメントから

通常のLALR(1)パーサーの場合、競合の削減/削減はより深刻であり、完全に排除する必要があります。Bisonは、これらのパーサーの競合の削減/削減を常に報告します。ただし、GLRパーサーでは、両方の種類の競合が日常的に発生します。それ以外の場合は、GLR解析を使用する必要はありません。したがって、次の宣言を使用して、GLRパーサーで予想されるreduce/reduce競合の数を指定することもできます。

 %expect-rr n
于 2010-01-18T19:46:28.413 に答える