第三次上机—求first集合[大连理工大学 软件学院 ]【编译技术上机 求First集】【代码有思路+注释】【代码完美运行,界面清晰易懂;包含附加题完美运行代码:求Follow集】 目的:熟练掌握自上而下的语法分析方法,并能用程序实现。 要求: 例如. 使用的文法如下: E TE E + TE | T FT T * FT | F (E) | id 编写First函数,实现其求解过程。 提示: 1,非终结符为 大写字母;或 后面带’的大写字母 2,终结符为 小写字母和符号(+、*) 3,推导符号为或-> 4,用end结束文法。 5,不针对特定文法,编写求first函数。 有余力的同学可进一步考虑如下扩展: 1编写提取左因子的算法。 2编写消除左递归的算法。 3编写Follow函数,实现其求解过程。 运行结果:非终结符 First集合 ------------------------- E | { id, ( } ------------------------- E' | { +, # } ------------------------- F | { id, ( } ------------------------- T | { id, ( } ------------------------- T' | { *, # } 非终结符 Follow集合 ------------------------------ E | { ), $ } ------------------------------ E' | { ), $ } ------------------------------ F | { +, *, ), $ } ------------------------------ T | { +, ), $ } ------------------------------ T' | { +, ), $ }
2021-10-13 13:07:33 560KB bianyijishu first set follow
1