第三章 词法分析精选版演示课件.pptVIP

  • 10
  • 0
  • 约9.1千字
  • 约 81页
  • 2019-12-22 发布于湖北
  • 举报
DFA的模拟运行 假设输入符号就是字符; Nextchar读入下一个字符(符号) move给出了离开s,标号为c的边的目标状态 * gjgj DFA的例子 假设输入为ababb,那么进入的状态序列为 0,1,2,1,2,3 * gjgj 从正则表达式到自动机的转换 正则表达式可以简洁、精确地描述词法单元的模式 模拟DFA的执行可以高效地进行模式匹配 将正则表达式转换为DFA的步骤: 正则表达式到NFA NFA到DFA * gjgj NFA到DFA(子集构造法)(1) 基本思想: 构造得到的DFA的每个状态和NFA的状态子集对应 DFA读入a1,a2,…,an后到达的状态对应于从NFA开始状态出发沿着a1,a2,…,an可能到达的状态集合。 在算法中“并行地模拟” NFA在遇到一个给定输入串时可能执行的所有动作。 * gjgj 例子 假设考虑上面的NFA能够接受串babb 考虑从开始状态出发,沿着标号分别为b,ba,bab,babb能到达的可能状态的集合 * gjgj NFA到DFA(子集构造法)(2) 理论上,最坏情况下DFA的状态个数会是NFA状态个数的指数多个。 但是对于大部分应用,NFA和相应的DFA的状态数量大致相同。 * gjgj NFA到DFA(子集构造法)(3) 算法中使用到的基本操作 ε –closure(s):能够从NFA状态开始,只通过ε转换到达的NFA状态集

文档评论(0)

1亿VIP精品文档

相关文档