無限先読みを備えた理論上の LR パーサーは、文脈自由文法で記述できる (明確な) 言語を解析できますか?
通常、LR(k) パーサーは決定論的文脈自由言語に制限されています。これは、現在適用できる文法規則が常に 1 つだけ存在する必要があることを意味すると思います。つまり、現在の先読みコンテキスト内では、可能な解析方法は 1 つしか発生しません。「Language Implementation Patterns」という本には、「... パーサーは非決定論的であり、どの選択肢を選択するかを決定できない」と記載されています。先読みセットが重複する場合。対照的に、非決定論的パーサーは、複数の選択肢がある場合は 1 つの方法を選択し、決定ポイントに戻って、ある時点で以前に行われた決定を続行することが不可能な場合は、次の選択肢を選択します。
LR(k) パーサーの定義 (ウィキペディアや Dragon Book など) を読むときはいつでも、「k は先読みトークンの数です」または「k > 1」の場合などを常に読みますが、k が無限になる可能性がある場合は決して読みません。 . 無限の先読みは、成功するまですべての選択肢を試すことと同じではありませんか?
LR(k) パーサーと非決定論的パーサーを (暗黙的に) 区別するために、k は有限であると想定されているのでしょうか?