0

オルタナティブが再帰的に残されている理由を私は一生理解できません。それは本当に私のパーサーにレンチを投げます。

別 ::
    [空]
    代替用語

これは、仕様のセマンティクス部分にある、正確には明確ではない注記です。たぶん、私がこれを理解すれば、その理由は明らかになるでしょうか?

注連続する用語は、入力文字列の連続する部分を同時に一致させようとします。左の代替、右の用語、および正規表現の続編にすべて選択ポイントがある場合、右の用語の次の選択肢に進む前に、続編のすべての選択肢が試され、右の用語のすべての選択肢が前に試されます左側の選択肢の次の選択肢に移動します。

左再帰文法を適切に処理できるのはどのようなパーサーですか?

4

1 に答える 1

2

特定のタイプのパーサーでは、左再帰の方がはるかに優れているためです(たとえば、yaccの場合-説明については、ここのセクション6.2を参照してください)。

特定のパーサーに問題が発生している場合は、必ず交換してください。言語の定義にはまったく影響しません。

于 2010-06-25T14:42:44.687 に答える