编译原理 第3章:词法分析

1. 词法分析器概述

  1. 词法分析的任务:从左至右逐个字符地对源程序进行扫描,产生一个个单词符号,把作为字符串的源程序改造成为单词符号串的中间程序。

  2. 词法分析器(Lexical Analyzer) 又称扫描器(Scanner):执行词法分析的程序

    • 手工构造方法
    • 自动构造方法
  3. 词法分析器的功能和输出形式
    功能:输入源程序、输出单词符号
    在这里插入图片描述

  4. 词法分析器输出的单词符号的表示形式:
    (单词种别,单词符号的属性值)

在这里插入图片描述
在这里插入图片描述
5. 实现方案:基本上为两种
在这里插入图片描述
在这里插入图片描述

2. 词法分析器的手工实现

在这里插入图片描述

2.1 输入、预处理

在这里插入图片描述

2.3 单词符号的识别:超前搜索

超前搜索是在单词识别的过程中,通过向前多读几个符号的形式,准确的进行单词的识别,一旦确定识别到的单词之后,需要进行扫描指针的回退,保证单词识别工作的顺利进行
在这里插入图片描述

2.4 状态转换圈

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 正规式与有限自动机

将转换图概念略微形式化
两个目的:
- 使用状态转换图构造词法分析程序
- 讨论词法分析程序的自动生成

3.1 正规式与正规集

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 确定有限自动机(DFA)

对状态图进行形式化,则可以下定义:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3 非确定有限自动机(DFA)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
DFA是NFA的特例

  1. 定义:对于任何两个有限自动机M和M’,如果L(M)=L(M’),则称M与M’等价。
  2. 自动机理论中一个重要的结论:判定两个自动机等价性的算法是存在的。
  3. 对于每个NFA M存在一个DFA M’,使得 L(M)=L(M’)。亦即DFA与NFA描述能力相同。
  4. 确定化过程:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

3.4 确定有限自动机的化简

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5 正规式与有限自动机的等价性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.6 正规文法与有限自动机的等价性

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 16
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵远疴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值