一、五个小题(25分)
1.判断一个文法是否二义
2.编译的前端,后端,什么是一遍扫描
3.什么是S属性
4.什么是语法制导翻译
5.在语法制导翻译中,空返产生式的作用(M->e)
二、自动机(15分)
一个单词表由a,b组成,请写出代表偶数个a的正规式,NFA,并确定化、最小化
三、判断一个文法是不是LL(1)的,如果是就写出预测分析表,不是就说明原因(15分)
四、判断一个文法是不是SLR(1)的,如果是就写出预测分析表,不是就说明原因(15分)
五、中间代码生成程序(15分)
while a<c and b<d do if c==1 then c:=c+1 else c:=c+2;
六、代码优化(15分)
DAG优化,最后写出四元式的形式(这个是一个坑,四元式是目标代码,也就是此时要做目标代码生成)
同时目标代码生成要列表(Rvalue 寄存器描述,Avalue地址描述)
来源:CSDN
作者:LifeMaker
链接:https://blog.csdn.net/qq_41207620/article/details/103704226