6

LALR(2)は、ぶら下がっているelseケースを自然に処理できますか(LALR(1)のように、特別なルールはありません)?

ありがとう

4

2 に答える 2

5

いいえ、他のぶら下がりの問題はあいまいさであるため、先読みの量は役に立ちません。

于 2009-12-01T23:32:08.080 に答える
3

あいまいですが、問題にはなりません。適切に動作する LALR パーサー ジェネレーターは、reduce の選択ではなく shift を選択することであいまいさを解決するからです。これはあなたが望むものです - 「else」は前の「if」ステートメントと一致します。結論としては、問題ありません。パーサージェネレーターがすべてのシフト削減のあいまいさに対して行うデフォルトの選択を理解する必要があるだけです。このデフォルトは、明確化ルールまたは「yacc」の「%prec」演算子などでオーバーライドできます。
しかし、それはより高度なトピックです。

于 2012-07-14T04:43:59.413 に答える