编译原理大复习.ppt

习题2.10(2)的解 该DFA从初态到终态有三条路径:b|c|a(a|c)*b,而且是这三条路径的至少一次重复,故正规式为:(b|c|a(a|c)*b)+ 习题3.7 设计一文法G,使得L(G)={ω|ω是不以0开始的正奇数} 思路:首先根据集合的描述设计几个句子,然后从句子中找出规律(或共性),把它们的性质用产生式表示出来。 解:正规式: ? 个位:[13579] 个位以上:[0-9]* 最高位:[1-9] ? 三段连起来:[1-9][0-9]*[13579] 两种情况: [1-9][0-9]*[13579] | [13579] 产生式: S→ACB|B A→1|2|3|4|5|6|7|8|9 B→1|3|5|7|9 C→ε|0C|AC 习题 3.17 对于文法G3.4和它所产生的句子-id+id*id 和 -(id+id)*id E → E+T|T T → T*F|F (G3.4) F → (E) |-F|id (1)构造基于LR(0)项目集的识别活前缀的DFA (2)指出DFA中所有含有冲突的项目集,并说明这些冲突可以用SLR(1)方法解决; (3)构造文法G3.4的SLR(1)分析表 (4)用分析表对句子-id+id*id 和 -(id+id)*id进行分析(以格局变化的方式) (5)根据(4)的分析给出-i

文档评论(0)

1亿VIP精品文档

相关文档