関数呼び出しを開始記号(非終端記号)Eとする。関数の引数は、変数名のみとし、引数の数は1個以上であればいくつでもOKとする(0個はNG)。Eの例は以下の通り。
f(zz), p(k, m), f12(a, z, w), func(aa, abc, x, y, z, w)
問1 開始記号Eを(LL(1)構文解析で処理可能な)BNFで表せ。なお、E以外の非終端記号を自由に追加してよい。また、必要に応じて、以下の終端記号を用いてよい。
id: 名前を表す(例:x, a, c, …)
const: 整数定数(例:3, 5, 10, …)
[:左角カッコ
]:右角カッコ
(:左丸カッコ
):右丸カッコ
.:ピリオド
,:カンマ
->:矢印
問2 問1で導入した非終端記号及びEの、First集合、Follow集合を求めよ。なお、導出過程も記載することとし、答のみは不可とする
思考錯誤し色々検討したのですが、わかりません。
教えていただきたいです。丸投げではなく、ヒントなども教えていただきたいです。
あなたは自分が分からない点をピンポイントで教わりたいはずです。そのためには本質問のような大雑把な尋ね方ではいけません。どこまで理解し、どこまで解法を考え、どこで詰まったのかを詳細に、具体的に、明快に書くことがとても大切です。そういう質問のしかたにすればきっと有用なアドバイスが得られますよ。
あなたの回答
tips
プレビュー