プロが教える店舗&オフィスのセキュリティ対策術

S→cT
T→cTd|ε
で表せる文法はLL(1)文法なんでしょうか?
分かる方、ご教授願います。

A 回答 (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
『プログラミング言語処理系』,佐々正孝 著
ですが、他にも良書はたくさん有ると思います。
    • good
    • 0
この回答へのお礼

回答どうもありがとうございました。
お礼が遅れて済みませんでした。

お礼日時:2002/12/10 20:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!