编译原理计算题
1、写一个文法,使其语言是奇数集,且每个奇数不以0开头。5分2、设文法GS:
S→LaSaL→L,SS1消除左递归和回溯;2计算每个非终结符的FIRST和FOLLOW;3构造预测分析表。3、Whilea>0∨b<0doBegi
X:=X+1;ifa>0the
a:=a-1
elseb:=b+1E
d;翻译成四元式序列。7分4、已知文法GEE→TE+TT→FTFF→Ei1给出句型TF+i的最右推导及画出语法树;2给出句型TF+i的短语、素短语。7分
f5、设布尔表达式的文法为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分
7、已知文法GSS→a∧T
fT→T,SS写出句子a,a,a的规范归约过程及每一步的句柄。
8、已知文法GSS→aTT→TSS的优先关系表如下:
关系
a
a
请计算出该优先关系表所对应的优先函数表。
9、写一个文法,使其语言是偶数集,且每个偶数不以0开头。5分
10、已知文法GSS→a∧TT→TSS
⑴给出句子aaa的最左推导并画出语法树;⑵给出句型TSa的短语、直接短语、句柄。8分
11、把语句ifx0∧y0the
zxyelsebegi
xx2yy3END
翻译成四元式序列。6分
f12、设某语言的for语句的形式为foriE1TOE2doS其语义解释为iE1LIMITE2agai
ifiLIMITthe
BEGINSii1gotoagai
END
⑴写出适合语法制导翻译的产生式;⑵写出每个产生式对应的语义动作。6分
13、设文法GSS→SaFaFaFF→aFa
⑴消除左递归和回溯;⑵构造相应的FIRST和FOLLOW集合;⑶构造预测分析表10分
14、对以下基本块T12T2ABT3ABT4T2T3T53T1T6ABLABT7T6LT8T54MT8T7LM
f⑴画出DAG图;⑵假设只有L在基本块出口之后还被引用,请写出优化后的四元式序列。6分
15、(8分)化简文法GS:S→ASeBCaDaDACA→CbDBSC→bCdB→AcD→aD
16、(12分)设Líabc是满足下述条件的符号串构成的语言:1若出现a,则其后至少紧跟两个c;2若出现b,其后至少紧跟一个c。试构造识别L的最小化的DFA,并给出描述L的正规表达式。
17、(12分)已给文法GS:S→SaPSfP
P→qbPq
将GS改造成LL(1)文法,并给出LL(1)分析表。
18、(12r