码迷,mamicode.com
首页 >  
搜索关键字:nfa    ( 737个结果
正则表达式中的贪婪模式与非贪婪模式详解
1 概述贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为,贪婪模式在整个表达式匹配成功的前提下,尽可能多的匹配,而非贪婪模式在整个表达式匹配成功的前提下,尽可能少的匹配。非贪婪模式只被部分NFA引擎所支持。属于贪婪模式的量词,也叫做匹配优先量词,包括:“{m,n}”、“{m,}”、“?”、“*...
分类:其他好文   时间:2015-04-23 23:01:32    阅读次数:168
Lexical Analyzer Generator
一个词法分析器生成程序: regex(BinTree) -> NFA -> DFA
分类:其他好文   时间:2015-04-19 12:59:10    阅读次数:240
词法分析学习
任务: 源文件->记号流 方法: 1. 手工构造 2. 自动构造 手工构造: 实现标识符与关键字通过转移图完成. 然后再通过hashtable特判即可. 自动构造: Thompson算法将正则表达式转化为NFA 五种情况,两种基本的直接构造,三种复合的递归构造 子集构造算法 NFA-DFA stack = []//遍历的结构 Q = []//所以的D...
分类:其他好文   时间:2015-04-18 11:33:41    阅读次数:170
写个简单的正则表达式
使用NFA来构造正则表达式,详细解释可以参见Algorithm 4th。书中代码为JAVA版本。书中内容前后耦合度较大,遂用cpp简单的实现了一下(基于vector的存储方式主要是我发现std::stack不能访问中间的元素,性能上的优化我就忽略掉了)。代码接受“(A*C|AB)V.*”等类似的正则...
分类:其他好文   时间:2015-04-15 13:00:36    阅读次数:165
正则表达式基础提升归纳
正则表达式是一种不确定有限自动机。NFA。 在书写正则表达式时应尽量减少回溯来提高正则表达式的效率。 一.     理解元字符 根据功能,元字符可分为两种类型:匹配位置的元字符和匹配字符的元字符。 1.     匹配位置的元字符 包括:^、$和\b三个字符。 ^(脱字符号,在文章插入字时使用) $(美元符号)。 他们分别表示行的开始和末尾。 ^string 正则表达式匹配以str...
分类:其他好文   时间:2015-04-14 16:41:38    阅读次数:141
编译原理:正规式转变成NFA算法
import java.util.ArrayList;import java.util.Map;import java.util.TreeMap;class Edge{ private int u, v; private char key; public Edge(int u, i...
分类:编程语言   时间:2015-04-13 01:35:40    阅读次数:1945
ColKang v1.0
最近尝试写一下NFA到DFA转换的函数,用C++,但是想到集合的表示比较麻烦,一些高级的容器也还没学到,因此自己先写一个简单的collection类,1.0版本。 能实现的功能有:存储数字集合;能进行集合间比较O(N)及加O(M+N)减法O(N);能向集合中添加元素O(N)或删除元素O(N);...
分类:其他好文   时间:2015-03-31 10:34:49    阅读次数:162
自己动手开发编译器(四)利用DFA转换表建立扫描器
上回我们介绍了两种有穷自动机模型——确定性有穷自动机DFA和非确定性有穷自动机,以及从正则表达式经过NFA最终转化为DFA的算法。有些同学表示还是难以理解NFA到底怎么转化为DFA。所以本篇开头时我想再多举一个例子,看看NFA转化为DFA之后到底是什么样。首先我们看下面的NFA,它是从一组词法分析所...
分类:其他好文   时间:2015-03-01 11:46:37    阅读次数:242
JavaSript中的正则表达式
正则表达式是对字符串操作的逻辑公式,表达了对字符串的一种过滤逻辑。 相对于.NET和Perl,JS对正则表达式的支持相当朴素,或者说JS的正则表达式是perl正则表达式的一个子集。一、正则表达式引擎:主流正则引擎分为3类:1、DFA(text-directed) 2、NFA(rege-direc.....
分类:编程语言   时间:2015-02-27 00:15:55    阅读次数:506
词法分析
算法1:根据Regex构建NFA - McNaughton-Yamada-Thompson算法输入:字母表∑上的一个正则表达式r。输出:一个接受L(r)的NFA N。方法:首先对r进行语法分析,分解出组成它的子表达式。构建NFA的规则分为基本规则和归纳规则。基本规则:处理不包含运算符的子表达式。 ....
分类:其他好文   时间:2015-01-11 06:11:58    阅读次数:391
737条   上一页 1 ... 70 71 72 73 74 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!