x年编译原理试题.doc

x年编译原理试题.doc

2004年编译原理试题 1.(20分)写出字母表( = {a, b}上语言L = {w | w的最后两个字母是aa或bb}的正规式,并画出接受该语言的最简DFA。 2.(15分)说明下面的文法不是SLR(1)文法,并重写一个等价的SLR(1)文法。 S ( M a | b M c | d c | b d a M ( d 3.(10分)为下面的语言写一个无二义的文法: ML语言中用分号分隔语句的语句块,例如: ( (s ; s ) ; ( s ; s ; s ) ; s ) ; ( s ; s ) 4.(20分)考虑一个类Pascal的语言,其中所有的变量都是整型(不需要显式声明),并且仅包含赋值语句、读语句、写语句,条件语句和循环语句。下面的产生式定义了该语言的语法(其中lit表示整型常量;OP的产生式没有给出,因为它和下面讨论的问题无关)。 定义Stmt的两个属性:MayDef表示它可能定值的变量集合,MayUse表示它可能引用的变量集合。 (1)写一个语法制导定义或翻译方案,它计算Stmt的MayDef和MayUse属性。 (2)基于MayDef和MayUse属性,说明Stmt1;Stmt2和Stmt2;Stmt1在什么情况下有同样的语义。 Program ( Stmt Stmt ( id := Exp Stmt ( read (id ) St

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档