编译原理期末考试习题及答案(桂电) 下载本文

内容发布更新时间 : 2024/12/28 22:00:25星期一 下面是文章的全部内容请认真阅读。

.

三.证明文法 G(S) : S ? aSb | Sb | b 是二义的。(6分) 答:句子 aabbbb对应的两颗语法树为:

因此,文法是二义文法

四.给定正规文法G(S):

(1) S ? aA

(2) A ? aB | bA (3)B ? aA | b 请构造与之等价的DFA。(6分) 答:对应的DFA为:(6分)

**

五. 构造识别正规语言(ab|a) 最小的DFA(要求写出求解过程)。(15分) 答:(1)对应的NFA (5分)

word范文

.

(2)将(1)所得的NFA确定化:(5分) a b {1} {1,2} Φ {1,2} {1,2} {1,2} (5分)

六. 已知文法 G(S) :

(1) S ? ^ | a | (T) (2) T ? ST’ | S (3) T’ ? ,ST’ |ε

试:求first和follow集合,构造改文法的LL(1)分析表。(10分) 答:文法相应的first 和 follow 集合 (5分) first follow S a ^ ( # , ) T a ^ ( ) T’ , ε ) 其LL(1)分析表如下:

七. 已知文法 G(S) :

word范文

.

(1) S ? SiA | A (2) A ? A+B | B (3) B ? A* | (

非终止符的firstVT和lastVT集合如下: firstVT lastVT S i , + , * , ( i , + , * , ( A + , * , ( + , * , ( B * , ( * , ( 试构造算符的优先关系表。(10分) 答: i + ( I > < < + > > < ( > > ) < < * > > 八已知文法 G(S) :

(1) S ? a | aAb | b | bBa (2) A ? 1A0 | ε (3) B ? 1B0 | ε

求 :该文法的LR(0)项目集规范族。(15分) 答:

) < < < * > > >

九.设某语言的DO-while 语句的语法形式为: S ? do S1 while E 其语义解释为:

word范文

.

针对自上而下的语法分析器,

(1) 分段产生式;(3分)

(2) 写出每个产生式对应的语义动作。(7分) 答:(1)分段产生式(3分) G(S) : (1) R ? do

(2) U ? R S1 while (3) S ? U E

(2) 产生式对应的语义动作(7分)

(1) R ? do { $$.loop = nxq }

(2) U ? R S1 while { $$.loop = $1.loop }

(3) S ? U E { backpatch($2.FC , $1.loop ); Backpatch($2.TC , nxq ) }

word范文