您现在的位置:学赛首页 > 研究生院 > 考研题库 > 正文
西安交通大学2001年编译原理部分
http://www.educity.cn 作者:不详 来源: 2006年9月4日 发表评论 进入社区

 2001年编译原理部分

1  请写出={a, b}上的第三个字符为ba, b字符串集的正规式以及识别该正规式的状态最少的DFA10分)。

 

2  对右列文法及相应的翻译方案,              PaPbprint1”}

   完成下列各题:                            PQprint2”}

   (1)它生成的语言是什么?(2分)           QcQdprint3”}

   (2)这是Chomsky哪一型文法?(1分)      QcRdprint4”}

   (3)这文法是否是SLR文法,请              RRaprint5”}

     构造分析表证实之。(7)                Raprint6”}

   (4)这文法是否是算符优先文法,请

      证实之(5分)

   (5)这文法经消除左递归,提取左因子后

      是否是LL(1)文法,请证实之(5分)

   (6)输入串acccaaadddb经翻译后的输出串是什么?(3)

 

3  对下列中间代码,完成下列各题:(8)

  1x=y+z    (2)z:=4*t     (3)y:=y+t          (4) s:=y+x

   (5)t:=t-s        (6)x:=x+z    (7)if s<t goto10   (8) z:=s+t

   (9)t: -z-t     10y: -y+z  11if x=y goto (3)  12) halt

    1)请划分基本块,构造流图,求出循环;

     (2)若基本块出口之后的活跃变量均为xt y, zY循环中可用作固定分配的寄存器为R0R1,则该分配给哪两个变量,为什么?

 

4  基木块内的代码如下图所示:

    (1) A:=2     (2) B:=C*D     (3) E:=C/D

    (4)F:=B+E  5G: =A+F    (6)H:=A*2

    (7)I:=C*D   8J:=H*I    9) I:=H+F

    请用dag表示完成局部优化,写出优化后的代码;

若基本块出口之后仅I活跃,则优化后的代码是什么?(7)