fa>0the
a:=a-1
elseb:=b+1E
d;翻译成四元式序列。7分4、已知文法GEE→TE+TT→FTFF→Ei1给出句型TF+i的最右推导及画出语法树;
f2给出句型TF+i的短语、素短语。7分5、设布尔表达式的文法为
E→E1∨E2E→E1∧E2E→i假定它们将用于条件控制语句中,请1改写文法,使之适合进行语法制导翻译和实现回填;2写出改写后的短个产生式的语义动作。6分6、设有基本块T1:=2T2:=10TT3:=S-RT4:=S+RA:=T2T4B:AT5:=S+RT6:=T3T5B:=T61画出DAG图;2假设基本块出口时只有A,B还被引用,请写出优化后的四元序列。6分参考答案:一、√√√××二、1执行性、说明性2、源程序、单词符号3、任何一步αβ都是对α中最右非终
f结符进行替换的4自上而下、自下而上5、一组终结符号,一组非终结符号、一个开始
符号、一组产生式6、为每个产生式配上一个翻译子程序,并在语法分析的同时执行这些
子程序7、类型、种属、所占单元大小、地址8、现行活动记录地址和所有外层最新活
动记录的地址9、栈式、堆式10、语法范畴
三、名词解释
1.遍--指编译程序对源程序或中间代码程序从头到尾扫描一次。
2.无环路有向图DAG--如果有向图中任一通路都不是环路,则称庐有向图为
无环路有向图,简称DAG。
3.语法分析--按文法的产生式识别输入的符号串是否为一个句子的分析过程。
4.短语--令G是一个文法。S划文法的开始符号,假定αβδ是文法G的一个句
型,如果有SαAδ且AB,则称β是句型αβ相对非终结符A的短语。
5.后缀式--一种把运算量写在前面,把算符写在后面的表示表达式的方法。
四、简述题
1、答:传名:a=12
2分
传值:a=6
2分
3、答:逆波兰表示:abc+ab+d-
三元式序列:①,b,c②+,a,①③+,a,b④,②,③⑤-,④,d
2分2分
4、答:句型a,a,aS,a,aT,a,aT,S,aS,aT,aS,aT,aT,S
T
S
归约规则S→aT→SS→aT→T,ST→SS→ST
T→SS→aT→T,SS→T
句柄aSa
T,SSTSa
T,ST
4分
5、答:优化:对程序进行各种等价变换,使得从变换后的程序出发,能产生更有效的目
标代码。
2分
三种级别:局部优化、循环优化、全局优化。2分
6、答:目标代码通常采用三种形式:机器语言,汇编语言,待装配机器语言模块。2分应着重考虑的问题:
f1如何使生成的目标代码较短;
2如何充分利用寄存器,以减少访问内存次数;
3如何充分利用r