私はウィキペディアの説明を少なくとも十数回読んだことがありますが、LR(0) パーサーがどのように状態 0 を離れるかについて、いまだに混乱しています。
'0'
パーサーは、初期状態 ( ) だけを含むスタックから開始します。[0]
パーサーが認識する入力文字列の最初のシンボルは です'1'
。
...しかし、これは私には意味がありません。なぜなら、入力シンボルを見ることは先読みを実行することになりますが、定義により、LR(0)パーサーは先読みを実行できないからです。
パーサーが状態 0 の場合、まだシフトしていないため、スタックにシンボルがありません。
LR(0) パーサーであるため、先読みも実行できません。
では、どのようにテーブルを使用して、状態 0 からどの状態にシフトまたは縮小するかを判断するのでしょうか?