zoukankan      html  css  js  c++  java
  • 编译原理-词法分析03-DFA

    0.术语

    DFA

    Deterministic finite automation,确定性有穷自动机。一般用于翻译正则表达式。

    状态state

    DFA中的圆圈,表示模式在识别过程中的位置。

    转换transition

    DFA中的箭头,该转换依赖于箭头上的字符。

    初始状态start state

    DFA中识别过程的开始,表示“不来自任何地方”。

    接收状态accepting state

    DFA中识别过程的结束,表示一个匹配,用双圆圈表示。

    确定性的deterministic

    下一个状态由当前状态和当前输入的字符唯一给出的自动机。即T(Sn,c) = Sn+1,而非T(Sn,c) = {Sn+1,Sn+i}具有多个。

    出错转换error transition

    非DFA中的一个正确的匹配,可以理解为补偿状态。一般用于先行回溯分析中。

    1. 定义

    DFA(确定性有穷自动机)M由字母表∑,状态集合S,转换函数T:Sx∑→S、初始状态_s0_∈S以及接受状态的集合A⊂S组成。由M接受的且写作L(M)被定义为字符c1c2...cn串的集合,其中每个ci∈∑,存在状态s1=T(s0,c1),s1=T(s1,c2),...,sn=T(sn-1,cn),其中sn是A(即一个接受状态)的一个元素。

    S:state

    A:accepting

    M:machine

    T:transition

    Sx∑:笛卡尔乘积

    2. number的DFA

  • 相关阅读:
    linux -- 部署java服务器(3) linux安装redis
    linux 安装php8
    linux mysql查看日志
    linux mysql常用的命令
    perl heredoc
    perl数值进制
    提问的智慧
    How to ask question the smart way
    PERL命令行
    图灵/异步图书
  • 原文地址:https://www.cnblogs.com/pengzhen/p/5836519.html
Copyright © 2011-2022 走看看