社区
数据结构与算法
帖子详情
关于正则表达式转NFA,Thompson用什么数据结构
lizhen100000
2010-05-16 10:52:37
谢谢
...全文
123
2
打赏
收藏
关于正则表达式转NFA,Thompson用什么数据结构
谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenshaoao
2010-05-17
打赏
举报
回复
no友情支持!up……
正则表达式
转
换为
NFA
(Regex to
NFA
).jar
用JAVA写的一个将
正则表达式
转
换为
NFA
的代码,基于
Thompson
算法的思想,递归构建
NFA
。jar为源码文件。 输出非确定有限自动状态机的有向图。如
正则表达式
: c(a|b)
NFA
为:0-c->1-ep->2-a->3-ep->7 ,0-c->1-ep->4-b->5-ep->7.其中 ep 表示 epsilon
Regx_to_
Nfa
:一个使用
Thompson
构造将
正则表达式
转
换为非确定性有限自动机(
NFA
)的C ++程序
Regx_to_
Nfa
一个使用
Thompson
构造将
正则表达式
转
换为非确定性有限自动机(
NFA
)的c ++程序。 此外,它被简化为确定性有限自动机(DFA),并且有一个函数可用于检查属于给定
正则表达式
的各种字符串。 做得更好:) PS:-不久将上传代码的详细说明。
regexjs:一个快速且最小的
正则表达式
引擎
正则表达式
JavaScript 中的
正则表达式
引擎实现。 它支持连接、并集 (|)、零或多个 (*)、一或多个 (+) 和零或一 (?) 操作以及分组。 它遵循 Ken
Thompson
的算法,用于从
正则表达式
构建
NFA
。 查看我的了解完整的实现细节。 例子 const { createMatcher } = require ( './regex' ) ; const match = createMatcher ( '(a|b)*c' ) ; match ( 'ac' ) ; // true match ( 'abc' ) ; // true match ( 'aabababbbc' ) ; // true match ( 'aaaab' ) ; // false 尝试一下 git clone https://github.com/deniskyashif/regexjs.g
毕业设计 词法分析器 生成工具 摘要与目录
本科毕业设计 简单词法分析器生成工具的设计和实现 摘 要 本文描述一个简单的词法分析器生成工具的设计和实现过程。该词法分析器生成工具的功能是,它能根据给定的
正则表达式
构造出语言识别器。该语言识别器能够判断输入的句子是否是给定的
正则表达式
所描述的语言的句子,并在文件或标准输出中显示、保存所识别句子的信息。构造语言识别器的过程为:首先,从词法分析器生成工具读入
正则表达式
,将该
正则表达式
转
换成等价的不确定的有限自动机,从而构造出确定的有限自动机,然后构造出确定的有限自动机的状态
转
换表,词法分析器生成工具利用该状态
转
换表生成语言识别器的C语言源文件,编译链接该C语言源文件即可生成语言识别器。在实现过程中,本文用语法分析器生成工具Bison来扫描
正则表达式
自动的来构造不确定的有限自动机 目 录 1 引言 1 2 基本概念 3 2.1
正则表达式
3 2.2 确定的有限自动机(DFA)和非确定的有限自动机(
NFA
) 3 2.3 产生式 5 3语言识别器生成工具的实现 6 3.1 实现的算法 7 3.1.1 由
正则表达式
构造
NFA
--
Thompson
构造法 8 3.1.2 LR语法分析法自动构造
NFA
11 3.1.3 子集构造法 14 3.1.4 语言识别器的识别算法 16 3.2
数据结构
17 3.2.1
NFA
的存储结构 17 3.2.2 DFA的存储结构 19 3.2.3 状态
转
换表的存储结构 20 3.3本章内容小结 20 4 编译运行及其性能 21 5 总结 24 参考文献 25 需要的联系请:QQ506425246
一种构造
正则表达式
更小ε-
NFA
的方法 (2013年)
基于有限自动机的
正则表达式
匹配技术在网络信息领域得到了广泛应用,提出了一种构造
正则表达式
的更小
NFA
的方法―――基于闭包的分片构造法GREC.G REC方法基于
正则表达式
中同态运算的封闭性以及闭包运算的层次特性和递归性进行构造.首先对
正则表达式
进行分片处理,然后构造每个分片的
NFA
,最后利用栈对各分片
NFA
进行重组获得最终的
NFA
. GREC方法在
正则表达式
层次结构复杂或包含有大量闭包运算的情况下,能够快速地构造出空间效率比传统的
Thompson
构造法高得多的
NFA
.
数据结构与算法
33,006
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章