第二章词法2-DFA.ppt

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章词法分析2-DFA剖析

第二章 词法分析2 确定有限自动机DFA 确定有限自动机(DFA)的定义 DFA的两种表示方法 DFA接受的集合 DFA的确定性 用DFA描述单词 自动机的实现 有限自动机FA(Finite Automata ) 有限自动机FA作为一种识别装置,它能准确识别正规集,即识别正规表达式所表示的语言,引入FA这个理论,正是为词法分析程序的自动构造寻找一种特殊的方法和工具。 确定有限自动机(DFA: Deterministic Finite Automata ) 非确定有限自动机(NFA: Nondeterministic Finite Automata ) 1 确定有限自动机的定义 确定有限自动机M为一个五元组: M = ( S ,? , S0 ,f ,Z ),其中: S是一个有穷状态集,它的每个元素称为一个状态; ?是一个有穷字母表,它的每个元素称为一个输入字符; S0?S,是唯一的一个初始状态(开始状态); f是状态转换函数:S??? S,且单值函数.f(Si,a)=Sk 表示:当前状态为Si,遇输入字符a 时,自动机将唯一地转换到状态 Sk,称Sk为 Si的一个后继状态; Z?S,是终止状态集(可接受状态集、结束状态集),其中的每个元素称为终止状态(可接受状态、结束状态),Z可空. 一个DFA的例子 DFA M=({S0, S1, S2, S3} , {a,b}, f , S0 , {S3}), 其中f 定义为: f (S0, a )=S1 f (S2, a )=S1 f (S0, b )=S2 f (S2, b )= S3 f (S1, a )= S3 f (S3, a )= S3 f (S1, b )= S2 f (S3, b )= S3 2 DFA的两种表示方式 a. 状态转换图 :用有向图表示自动机 1. 结点表示状态: 1) 非终止状态由单圆圈围住的状态标识来表示; 2) 终止状态由双圆圈围住的状态标识来表示; 3) 开始状态由一个箭头指向的状态结点来表示. 2.状态转换函数用有向边来表示,若 f(Si,a)=Sk,则由表示Si的状态节点到表示Sk的状态节点发出一条标识为a的有向边. DFA M=( {S0, S1, S2, S3}, {a,b}, f, S0, {S3}), 其中 f 定义为: f (S0, a )=S1 f (S2, a )=S1 f (S0, b )=S2 f (S2, b )= S3 f (S1, a )= S3 f (S3, a )= S3 f (S1, b )= S2 f (S3, b )= S3 b. 状态转换矩阵:用二维数组描述DFA 转换矩阵的行表示确定有限自动机的状态; 标识初始状态和终止状态:一般约定,第一行表示开始状态S0 ,或在右上角标注“+”;右上角标有“*”或“-”的状态为终止状态 ; 转换矩阵的列表示确定有限自动机的输入字符; 矩阵元素表示确定有限自动机的状态转换函数. DFA M=( {S0, S1, S2, S3}, {a,b}, f, S0, {S3}), 其中 f 定义为: f (S0, a )=S1 f (S2, a )=S1 f (S0, b )=S2 f (S2, b )= S3 f (S1, a )= S3 f (S3, a )= S3 f (S1, b )= S2 f (S3, b )= S3 3 DFA接受的字符串 对于?中的任何字符串t,若存在一条从初始结点到某一终止结点的路径,且这条路上所有弧上的标记符连接成的字符串等于t,则称t可为DFA M所接受(识别).注意路径中可以多次经过终止状态. 若DFA M的初始状态同时又是终止状态,则空字符串可为DFA M所接受(识别). DFA M 所能接受的字符串的全体记为L(M).

文档评论(0)

1520520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档