一.选择1*10=10略(注:自展的考察)
二.填空1*10=10
1.二义性文法定义
2.寄存器选择(类似ppt图)3空
3.栈式内存分配方式3空,一个目标代码都没给
4.LALR会引进什么冲突,不会引进什么冲突
5.还有一个空忘了
三.文法1.提取左公因式2.画LR(1)自动机---规模是8个状态大小
四.词法分析1.20个符号对应的类型2.输出的token串
五.1.S-SDD设计,识别赋值语句(含(a)=b形式),是的话输出yes,不是输出no
文法:EE=E
EE+E
E(E)
Eid
Enum
2.LR文法自下而上分析(解决了二义性什么什么的),用可执行的栈操作表示(应该是5.5节内容)
六.控制链与display表绘制
七.中间代码表示,跟去年差不多,注意二维数组的中间代码怎么写
八.流图相关,1块B1,j=a是否可以删除,原因
2.自然循环与回边
3.循环不变,拿些可以外提,为什么
(以上3问均无计算便可得出)
一点题外话:感觉编译原理每年除了固定的三四个题型,其他每年都不太一样,20年甚至还考过回填的SDT,建议复习的广一点
这次卷明显感觉前半很难,后边很简单,尤其看到第六题巨额的分数,完全不敢相信...