词法分析

    词法分析的主要目的是将输入的字符串输出为一个个单独的单词符号。即从左至右逐个字符的对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为由单词符号串组成的程序。实现这种过程需要借助词法分析器,其输入时源程序,输出为单词符号。

过程:

源程序 ->词法分析器 ->单词符号

单词种类:基本字,标识符,常数,运算型,界符。

词法分析器由输入缓冲区、预处理子程序,扫描缓冲区、扫描器组成。输入缓冲区、预处理子程序将预处理好的子程序放到扫描缓冲区中,扫描缓冲区、扫描器直接进行单词的识别。

单词符号的识别有以下几种方法:超前搜索,直接分析法状态转换图法。其中状态转换图法需详细介绍,状态转换图是一张用来识别一定的符号串的有限方向图,结点代表状态用圆圈表示,箭弧指状态之间的连接,箭弧上的标记代表在射出节点下可能出现的字符或字符串

正规式与正规集:
      我们可以把具有相同特征的字放在一起组成一个集合,即所谓的正规集,然后使用一种形式化的方法来表示正规集,即所谓的正规式。

确定的有限自动机, 非确定的有限自动机,正规式与有限自动机的等价性

确定的有限自动机:

一个确定有限自动机(DFA)M是一个五元式:M = (S, ∑, f, s0, F)

1.S是一个有限的状态集合

2.∑是一个有穷的输入符号的字母表

3.f是从 S×∑->S的单值部分映射

4.s0是S中的一个元素,是唯一的初态

5.F是终态集 (可空)

非确定的有限自动机:

一个非确定有限自动机(NFA)M是一个五元式:M = (S, ∑, f, S0, F)
1.S是一个有限的状态集合
2.∑是一个有穷的输入符号的字母表
3.f是从S×∑*到S的子集的部分映射,即:S×∑*->2s
4.S0是初始状态集合
5.F是终态集

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

对于任何∑上NFA M都可构造一个∑上的正规式V,使得  L(V) = L(M) 其中,L(M)是∑上NFA M所能识别的字的全体L(V)是∑上的正规集

感悟: 句法分析难度大了,NFA的确定化,基本能够掌握,正规文法与有限自动机的等价性以及正规式和有限自动机的等价性的证明学的不太好,总之还是要多看多听,才能学会这门课,对我来说不太简单,所以还要下功夫!

习题见下一个博客











  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值