东南大学编译原理1999年考研真题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
99年编悔原理
一.已知疋规文法中的左线件文法
Gt: STSaLSbLc
试枸诜无E产生式的等价佑纯性艾法・井构造相应的确定有限自动机dm 耐I]状态I 换图叩可.
二、已知正规文法
G2:X->0Y| IZ|O
Y->OX| IY|I
Z-> IX
⑴该文法产生的语宫恳什么•讷用正规式我示
(2)枸造最简的确定有限自动机M比并画出状态转换图
三、已知上下文无关文法
G3: E9ET+IT
TTT和」F
FTE|i
(1)消除文法左递归,并给;II改写后文法产生式
(2)给出文法「鹤话的个非终结符的first TH follow集,并山此判師它見否1丄⑴文法
四、已知表达式(已拓广)
G4: ETE
E->E i-E|i
(!)试构进文法G4的LR(I)项『1集观范换
(2)若忖咖从右结合率.WfftJh LR 5)折农
五、已知文法
G5:Z->bMb
M-^(Ma) | a
(1)试枸造算符优先分折我
(2)若某相邻的终结符讣间廉亦a<=b曲伸关系,那么在进行外符优先分忻倣规约动作时,在寻找栈顶的素短语符号冷时翌杳吾它与哪个产生式右部符号小匹配.
例如栈顶申・・.・aAba, (a b JffiT V T, A J®于(VN5)・ a<*b, aw V* )为已知可规约•而现右产生式X J aAba.M取素短语冰ba进行规约:苦只有产生武YT Aba.W么就取Aba进行规约.
试按此规定的体法给:IH5^b((na)a)b//的%符优先分折过阳.
沢、初译成中间代码
I、将如下程作段酬邙成麻紛匕JiWL维数细po卯1屮・设讪血为1
t:=!6;
b:«20;
while tob do
else
b:«b -t;
2、译布尔茨达式成四元式JT 列,并猜出待烦頁假傩序号.
(a>b 卜 1) and not (c-»2<d) or f(x)
注:f(x)为布尔函数
七.有一个如下计算mF 的C 语宫程存,试给出运行时誥个栈式数据结构•数抵区的活 动记录结枸如
右用.(数抿区从k 单元开始缩址•除返回他址不轨外.其余都耍橫.)
八、乜知如下程序段
a:«l;
while a<=IO do
begin
if aob then A(a, bJc^AJa, b] » 2;
a:=a+1
end; 1、 按语法和导生成四元式中间代码序列
2、 将中何代码序迥划倔水块.画川程用流图,并J&tBM 环结点集
3、 执行循环中代码外捉、啸度减弱优化和基木块内侧除公共了茨达武优化,泉后画;||包含 优化后
的中何代码的稈序流图・
注:数细按行疗放,侮个下标变駅占一字編址,甘地址为叙kkA int m;
«n)
int n;
(
int c;
if(n= =0) c=m; else
c= f(n-l)*2; rettim
(c)
)
tnaii1()
(
int n°2;
m=5;
函妆返回值 局部变別区 主用用m 亦的数抿区
函数数用区。