2009-05-12 12 views
3

ここでは、クラスのクイズでいくつかの質問があり、その正しさを検証したいだけです。 文法:First&Follow簡単な文法のチェックを設定します

S -> ABC 
A -> df | epsilon 
B -> f | epsilon 
C -> g | epsilon 

1)BのフォローセットがGおよびイプシロン(T/F)が含まれ? Ans:F. フォローセットにイプシロンはありませんが、正しいですか? (入力の$ akaのみ)

2.)最初のセットのSはd、f、g、ε(T/F)を含んでいますか? Ans:T. 私はFirst(S)= First(A)と考えていたので、これは間違っていました。これはgの一部ではありません。誰が正しいですか?

+0

Ah!朝の文法論の匂いのようなものはありません:) –

答えて

4
  1. あなたは正しいです。イプシロンが関与している場合、フォローセットではなく、最初のセットで説明されます。プロダクションがストリングを終了する可能性がある場合、$はイプシロンではなくフォローセットに入ります。
  2. クイズが正しいです。プロダクションSは実際にはd、f、gのいずれかで始まり、空の文字列で開始することもできます。 gという入力文字列を考えてみましょう。それはSにマッチしますよね? Aは空の文字列で満たされ、Bは空の文字列で満たされ、Cはgで満たされます。 A、B、Cがすべて満たされているので、Sが成り立つ。 Sによって消費される最初の文字はgなので、gはFirst(S)でなければなりません。
関連する問題