削除された内容 追加された内容
m →‎設定: リスト番号が規則番号を示す事を明示。例がLL(1)である事を英語版に合わせ修正。
Koba-e964 (会話 | 投稿記録)
→‎LL(1)構文解析表の作成: 誤訳の訂正 (https://en.wikipedia.org/w/index.php?title=LL_parser&oldid=674296584 から翻訳)
88行目:
 
== LL(1)構文解析表の作成 ==
構文解析表を作成するためには、非終端記号 'A' がスタックのトップにあり、記号 'a' が入力バッファの先頭にある場合に適用すべき文法規則を決定しなければならない。そのような規則は''A'' → ''w'' という形式の規則が存在しでありさらに''w'' という文字列のに対応する言語に、先頭 'a' の文字列ありう少なくとも1つ存在する場合に限られることは簡単であに分かる。このため、文字列 ''w'' の先頭になりうる終端記号の集合 (First-set) を '''Fi'''(''w'') で表す。また、''w'' が空文字列の可能性もある場合は'''Fi'''(''w'')に ε で表すを加える。''A''<sub>1</sub> → ''w''<sub>1</sub>, ..., ''A''<sub>''n''</sub> → ''w''<sub>''n''</sub> という規則群から構成される文法があるとき、'''Fi'''(''w''<sub>''i''</sub>) と '''Fi'''(''A''<sub>''i''</sub>) を各規則について以下のように求める。
# 各 '''Fi'''(''w''<sub>''i''</sub>) と '''Fi'''(''A''<sub>''i''</sub>) を空集合で初期化する。
# 各規則 ''A''<sub>''i''</sub> → ''w''<sub>i</sub> について、'''Fi'''(''w''<sub>''i''</sub>) を '''Fi'''(''A''<sub>''i''</sub>) に追加する。ここで、'''Fi''' は以下のように定義される: