说明:目的:熟练掌握自上而下的语法分析方法,并能用程序实现。
要求:
例如. 使用的文法如下:
E TE
E + TE |
T FT
T * FT |
F (E) | id
编写First函数,实现其求解过程。
提示:
1,非终结符为 大写字母;或 后面带’的大写字母
2,终结符为 小写字母和符号(+、*)
3,推导符号为或->
4,用end结束文法。
5,不针对特定文法,编写求first函数。
有余力的同学可进一步 <weixin_43314494> 在 上传 | 大小:15728640
说明:目的:熟练掌握自上而下的语法分析方法,并能用程序实现。
要求:
1. 使用的文法如下:
E TE
E + TE |
T FT
T * FT |
F (E) | id
2. 对于任意给定的输入串(词法记号流)进行语法分析,递归下降方法和非递归预测分析方法可以任选其一来实现。
3. 要有一定的错误处理功能。即对错误能提示,并且能在一定程度上忽略尽量少的记号来进行接下来的分析。可以参考书上介绍的同步记号集合来处理。
可能的出错 <weixin_43314494> 在 上传 | 大小:8388608
说明:目的:充分理解语义分析的方法及相关语义计算的执行时机。
要求:
1.以S属性的语法制导定义为基础,将下表的语义规则嵌套在语法分析的过程中,即实现语法制导的翻译过程。
产 生 式 语 义 规 则
L E n print (E.val)
E E1 + T E.val := E1 .val + T.val
E T E.val := T.val
T T1 * F T.val := T1.val * F.val
T F T <weixin_43314494> 在 上传 | 大小:20971520