- ベストアンサー
LL(1)文法
S→cT T→cTd|ε で表せる文法はLL(1)文法なんでしょうか? 分かる方、ご教授願います。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
結論から言えば、LL(1)文法です。 FIRST,FOLLOW,DIRECTORの定義、および、 これらを使ったLL(1)文法の定義は、既知のものとして話を進めます。 FIRST(S)={c} FIRST(T)={c,ε } FOLLOW(S)={$} FOLLOW(T)=FOLLOW(S)∪{d}={$,d} 1)DIRECTOR(S,cT)=FIRST(cT)-{ε}={c} 2)DIRECTOR(T,cTd)=FIRST(cTd)-{ε}={c} 3)DIRECTOR(T,ε )=FOLLOW(T)={$,d} 2∩3=φ なので、LL(1)文法である。 注 記号$は、文末(あるいは、入力末尾)を表す。 私が参考にした文献は、 岩波講座 ソフトウェア科学 vol.5 『プログラミング言語処理系』,佐々正孝 著 ですが、他にも良書はたくさん有ると思います。
お礼
回答どうもありがとうございました。 お礼が遅れて済みませんでした。