生成词法分析器中使用的算法

本文详细介绍了一种从正则表达式生成词法分析器的算法-Thompson算法。该算法通过归纳RE结构,对基本和复合RE分别进行直接和递归构造,实现从正则表达式到NFA的转换。

生成词法分析器算法如下:

RE:正则表达式

NFA:非确定有限状态自动机

DFA:确定有限状态自动机

 

Thompson算法:

从正则表达式代码到NFA(非确定有限状态有限机)过程使用的Thompson算法

基于对RE的结构作归纳

  1. 对基本的RE直接构造
  2. 对复合的RE递归构造

例如: 如下几种正则表达式规则

进入状态转移过程时,会读取字符串中的起始字符,进行校验

  • ε (空字符 "")

  • e(字符e "e")

  • e1 e2

  • e1 | e2

  • e*

按照如上规则输入一个正则表达时: a(a|b)*

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值