2016 - 2024

感恩一路有你

正则表达式生成器 正则表达式转换成nfa如何实现?

浏览量:2094 时间:2021-03-11 19:52:52 作者:admin

正则表达式转换成nfa如何实现?

NFA是一种抽象的数据结构,其具体实现是可变的,它依赖于特定的语言……

一种是字节码的表达,可以看作是一种线性化的NFA。代码可以引用regex/regcomp。C在master·garyhouston/regex·GitHub上,逐字扫描正则表达式,直接生成字节码,表示正则表达式的语法与嵌套词相同,因此不需要进行复杂的处理,如ast生成。。。Perl和oniguruma都是从这个古老的VM演变而来的

!但是字节码不便于执行诸如“转换为DFA”之类的操作。让我们从定义来看:NFA定义中最重要的是一组状态转换函数。然后您可以更改所有的转换函数(边)所有的建模都是可以的:

为了便于后续计算,您可以按边或输入C,或按fromState,或按to正则表达式转换基于NFA算法的正则表达式:对于正则表达式应用运算符部分构造方法:1。符号堆栈,即符号的操作,其中存储wcharut类型,用于连接,左括号

这是相当麻烦的。如果必须这样做,应该首先将正则表达式转换为NFA,然后再转换为NFA->DFA->sdfa。如果两个正则表达式相同,则它们应该具有唯一的sdfa。如果是后一个问题,应该是语法包含。目前,还没有有效的解决办法。

正则表达式生成器 正则表达式解析器 正则表达式转换工具

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。