编译原理(清华大学版)第三章
第三章 词法分析
正规式、正规文法
设
- 正规文法所描述的是
上的正规集,即通过 来表示。 - 正规式也称正则表达式。通过符号的有序连接来表示。
正规式递归定义:
设字母表为
和 都是 上的正规式,它们表示的正规集分别为 和 。- 任何
都是 上的一个正规式,表示的正规集为 。 - 假定
和 都是 上的正规式,他们表示的正规集分别为 ,那么 也都是正规式,表示的正规集为 。 - 仅由有限次使用上述三个步骤而定义的表达式才是
上的正规式,仅由这些正规式所表示的符号串的集合才是 上的正规集。
正规式符合的代数规律
正规式和正规文法的等价性
-
将正规式转换为正规文法
重点是两个基本正规式产生式:
-
-
将正规文法转换为正规式
规则 | 文法产生式 | 正规式 |
---|---|---|
规则 1 | ||
规则 2 | ||
规则 3 |
有穷自动机
作用:识别正规集,识别正规文法定义的语言和正规式表示的集合。
分类:
- 确定的有穷自动机DFA
- 不确定的有穷自动机NFA
确定的有穷自动机
定义:是一个五元组
是一个有穷集,每一个元素称为一个状态。 是一个有穷字母表,每个元素称为一个输入符号,也称为输入符号表。 是转换函数,是 上的映像。 ,是唯一的一个初态。 ,是一个终态集,也称之为接收状态或结束状态。
可接受的定义
-
对于
中的任意符号串 ,若存在一条从初态节点到某一终态节点的道路,且这条路上所有的弧的标记符连接成的符号串等于 ,则称 可为 所接受,若 的初态节点同时又是终态节点,则空字可为 所识别(接受)。 -
若
,其中 为 的开始状态, , 是终态集。则称 可为 所接受。
拓展:
设
一个输入符号串
考点:证明某某字符串是可接受的。
不确定的有穷自动机
定义:是一个五元组
是一个有穷集,每一个元素称为一个状态。 是一个有穷字母表,每个元素称为一个输入符号,也称为输入符号表。 是转换函数,是 到 的全体子集的映像,即 ,其中 表示 的幂集。 ,是非空初态集。 ,是一个终态集,也称之为接收状态或结束状态。
NFA转换为等价的DFA
确定有穷自动机的化简
正规式和有穷自动机的等价性
正规式和有穷自动机的等价性
本文作者:Graffiti404
本文链接:https://www.cnblogs.com/graffiticode/p/18139098
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步