第三次上机作业 1. 编写First和Follow函数,实现其求解过程。 (1)FIRST集合计算方法: ① 若Xa.., 则将终结符a加入FIRST(X)中; ② 若X,则将加入FIRST(X)中; ③ 若XY…,且Y属于非终结符,则将FIRST(Y)\{}加入到FIRST(X)中;(注:“\”表示除去元素,即FIRST(Y)中的非元素加入到FIRST(X)中。以下同理。) ④ 若XY1Y2..YK,且Y1,Y2,..Yi-1都是非终结符,且Y1,Y2,..Yi-1的FIR
目的:熟练掌握自上而下的语法分析方法,并能用程序实现。
要求:
例如. 使用的文法如下:
E TE
E + TE |
T FT
T * FT |
F (E) | id
编写First函数,实现其求解过程。
提示:
1,非终结符为 大写字母;或 后面带’的大写字母
2,终结符为 小写字母和符号(+、*)
3,推导符号为或->
4,用end结束文法。
5,不针对特定文法,编写求first函数。
有余力的同学可进一步