zoukankan      html  css  js  c++  java
  • 编译原理 第三章 词法分析(下)

    3.6 有穷自动机(非常重要)

    3.6.1 不确定的有穷自动机(重要)

    例:

     状态0是开始状态, 在状态0上输入符号b会进入状态0,输入a可能进去状态0也有可能进入状态1。所以对于状态0来说一个确定的输入符号a他有两种离开状态,这就是一种不确定的状态。

    3.6.2 转换表 (非常重要)

    : 3-24NFA 对应的转换表

    3.6.3 自动机中输入字符串的接受(重要)

     

    状态0连接着两个ε,为什么要连接ε?

    我们可以把NFA L(aa*|bb*),拆分为两个独立的NFA。

    1. L(aa*) 接受a开头的a字符连接的串

    2. L(bb*)接受b开头的b字符连接的串

    L(aa*|bb*)同时接受这两种模式的串。每个NFA都需要一个开始状态,这个开始状态不需要任何输入符号就可能进入L(aa*)或者L(bb*)

    所以我们需要在开始状态连接L(aa*) L(bb*),但是他们不需要任何输入符号所以我们用ε去连接L(aa*)L(bb*)的开始状态。

    3.6.4 确定的有穷自动机(重要)

     

    第三章后续都是一些算法,每个算法单独记录一个博文把。。。。

  • 相关阅读:
    error C2144
    Linux下STL使用
    GZip压缩的实例
    头文件类型的选择
    双重指针
    locate命令的使用
    有了malloc/free为什么还要new/delete !
    Mongdb windows下安装
    虚函数工作机制
    extern使用
  • 原文地址:https://www.cnblogs.com/lxykl/p/9994357.html
Copyright © 2011-2022 走看看