大连理工大学编译原理..pptVIP

  • 20
  • 0
  • 约7.48千字
  • 约 36页
  • 2016-12-19 发布于重庆
  • 举报
(3) 根据算法2.3将DFA简化 划分状态集{A, B},{C,D}; {A,B}面临字母a时转到{B,C},由于B,C分属于不同的状态集,故此状态集{A,B}需要进一步划分成{A}{B}; 考虑{C,D},它面临字母a时转到{B,C},而B,C分属于不同的状态集,故此状态集{C,D}需要进一步划分成{C}{D}; 由上面可以知道,最简的DFA包含四个状态集{A}{B}{C}{D},这样前面的DFA就是最简的DFA。 方法三: (1) 直接构造DFA 按照课堂所讲述的号外方法,直接构造DFA:任意的a,b串可以分属于以下几种情况: 长度为1: a, b; 长度大于等于1,末尾两位为ab, aa, ba, bb; 画出DFA,其中 1: a, 2: b, 3: aa, 4: ab, 5: ba, 6: bb. (2) 根据算法2.3将DFA简化 6、(习题2.17)一个C语言编译器编译下面的函数时,报告parse error before ‘else’。这是因为else的前面少了一个分号。但是如果第一个注释 /* then part */ 误写成 /* then part 那么该编译器发现不了遗漏分号的错误。这是为什么? long gcd(p,q) long p,q; { if (p%q == 0) /* then part */ re

文档评论(0)

1亿VIP精品文档

相关文档