因为编译的题量较小,
偶结合考试题型作了一些简要的总结。
个人观点,仅作参考。
请大家批评、补充。
__________________________________________
1. DFA的构造:
这是常考的题型。
如2000年题目,
由Pascal语言无符号数的正规定义,
作出用状态转换图表示的DFA。
其符号表示方式与陈火旺的书不同,
请注意。
可参考陈意云《编译》的p15页2.2。
2. 给定语言,构造文法:
通常要求文法是LR(1),非LR(1),或非二义等。
参考例子:
陈意云《编译》P86页例3.38和3.39。
注意:
给二义文法构造等价非二义文法的技巧。
3. 语法制导翻译:
为文法写语法制导定义、翻译方案。
陈火旺的书没有作区分,
请参考陈意云的《编译》4.2,4.3。
注意参考书上例子,
以及2000年的题目。
尤其是书写格式。
4. 写出表达式的后缀式、三元式、四元式、间接三元式:
从往年考题答案来看,
这一部分是参考陈火旺的书。
参陈火旺的《编译》的5.3,5.4节,
注意单目运算符在四元式中的表示法。
5. 活动记录:
几乎是必考。
重点是陈意云《编译》6.3.2一节。
6. 运行环境与中间代码部分:
常用题型是C代码分析。
近三年的试卷中都有这一类题目。
参陈意云《编译》第六、七章的习题。
试卷中许多考题的来源是陈意云《编译》的课后习题,
茶余饭后不妨一做。