登录
首页 » 算法 » 一个用MASM写的正则表达式引擎

一个用MASM写的正则表达式引擎

于 2022-05-27 发布 文件大小:678.10 kB
0 214
下载积分: 2 下载次数: 1

代码说明:

此正则表达式引擎属于正统的NFA引擎,基本兼容Perl,简单说一下引擎是怎么实现的: 首先做一个递归下降语法分析,利用栈把正则表达式转换成NFA(以有向图的形式表现),再遍历NFA判断是否能到达完成节点。 实现正则表达式匹配的各种复杂功能的力量来自于回溯,而回溯的基础是栈,回溯能力是通过栈来达成的。 栈中保存了匹配路径中所有的状态,状态回溯就是出栈,状态匹配就是入栈。 除了回溯,一些扩展功能的实现也是通过栈来完成的,比如捕获和零宽断言,都要通过搜索或操纵栈来完成。 转换成NFA再匹配的好处是简化匹配和利于优化和DEBUG:因为不管再复杂的表达式转换成NFA之后只有边和节点组成,边和节点也只有顺序、分支、循环这三种形式组成。 详细原理说明看下面关于实现引擎的文章,第3条是我理解引擎匹配原理的入门参考。 支持GBK和UTF8编码   ==参考和学习资料== 关于实现引擎的文章: 1、《Perl语言编程》第五章  书 2、《精通正则表达式》  书 3、构造正则表达式引擎   http://www.cppblog.com/vczh/archive/2008/05/22/50763.html   我的原理学习入门参考 4、NFA引擎匹配原理   http://blog.csdn.net/lxcnn/article/details/4304651 5、英文参考资料   请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • ben wenjian shi tongguo yong cbainxie chengxuo
    ben wenjian shi tongguo yong cbainxie chengxuo-ben wenjian shi tongguo yong cbainxie Rezeption gxuo
    2022-01-26 08:32:48下载
    积分:1
  • Fisher源码
    应用统计方法解决模式识别问题的困难之一是维数问题,低维特征空间的分类问题一般比高维空间分类问题简单。因此,人们力图将特征空间进行降维, 请点击左侧文件开始预览 !预览只提供20%的代码片段,完整代码需下载后查看 加载中 侵权举报
    2022-06-14 14:13:04下载
    积分:1
  • 自动编号
    1.1 ANPR 系统作为实际人工智能中的应用 信息技术大规模融入现代生活的各个方面造成的对处理车辆作为概念资源信息系统中的需求。由于没有任何数据的独立信息系统有没有意义,还有需要变换车辆之间的现实和信息系统有关的信息。这可以通过一个人的代理,或通过特殊的智能设备,是能够通过其在实际环境中的车牌识别车辆和反映的是它在概念的资源。因此,已经开发各种识别技术和数字板识别系统今天在各类交通和安全应用程序,如停车、 访问和边境管制或跟踪被盗汽车的使用。
    2022-03-20 05:55:28下载
    积分:1
  • RFID读写软件
    完成了RFID 上位机读写,VC 2010 完成了RFID 上位机读写,VC 2010 完成了RFID 上位机读写,VC 2010 完成了RFID 上位机读写,VC 2010 完成了RFID 上位机读写,VC 2010 完成了RFID 上位机读写,VC 2010        
    2022-01-26 01:24:58下载
    积分:1
  • Linear programming simplex algorithm
    线性规划单纯形算法,包括子函数和主程序,用c++编写-Linear programming simplex algorithm
    2023-06-18 16:40:03下载
    积分:1
  • mapreduce源码
    很完美的mapreduce程序开发框架,非常实用! 让你快速学会编写自己的mapreduce,快速上手!
    2022-02-28 11:24:32下载
    积分:1
  • ZIBEE程序
    Description:  This application functions as a packet error rate (PER) tester.  One node is set up as transmitter and the other as receiver. The role and  configuration parameters for the PER test of the node is chosen on initalisation  by navigating the joystick and confirm the choices with S1.  The configuration parameters are channel, burst size and tx power. Push S1 to  enter the menu. Then the configuration parameters are set by pressing  joystick to right or left (increase/decrease value) and confirm with S1.
    2022-06-12 05:42:09下载
    积分:1
  • 正弦条纹三维重建
    应用背景用正弦条纹进行三维重建,相位解包裹部分用格雷码的二值条纹实现,可以实现精度小于1mm的三维重建。第一次上传源码,谢谢大家支持。关键技术关键技术包括正弦条纹的三维重建原理,格雷码二值条纹相位解包裹原理。之所以没直接用C++的相位解包裹算法是因为手头没有相应的代码,只有matlab的。此次上传也是为了下载c++的相位解包裹代码。
    2022-05-28 20:32:10下载
    积分:1
  • 凸多边形的最小权分割
    资源描述最小权三角剖分问题是求最小总边长三角网的问题。这是一个多边形,输入或输入点集后必须细分为三角形,满足边缘到边缘和顶点到顶点,以这样的方式来减少三角形的周长的总和。
    2022-08-12 12:31:55下载
    积分:1
  • traveling salesman Branch and Bound graphics algorithm to solve the traveling sa...
    货郎担 分枝限界算法图形求解货郎担问题的分枝限界算法图形演示-traveling salesman Branch and Bound graphics algorithm to solve the traveling salesman problem Branch and Bound algorithm graphic demonstration
    2023-01-15 15:25:04下载
    积分:1
  • 696516资源总数
  • 106914会员总数
  • 0今日下载