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

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

于 2022-05-27 发布 文件大小:678.10 kB
0 174
下载积分: 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 个回复

  • Recteneald on a numerical calculation of all source and courseware
    Recteneald数值计算一书的所有源码和课件-Recteneald on a numerical calculation of all source and courseware
    2022-02-26 20:19:33下载
    积分:1
  • An extensible math parser
    An extensible math parser
    2023-05-04 13:10:03下载
    积分:1
  • matrix的一些常用操作
    一些常用的矩阵操作,包括常用的矩阵加法,乘法,strassen算法,还有位并行操作预留的算法。包括为wingoth算法预留的矩阵乘法,为了分块矩阵预留的算法等等。
    2022-04-19 02:11:14下载
    积分:1
  • 整数类型超过 128 个字符
    用C语言写的一个将大于128的整型数转换为Unicode的字符型字符, ascii基本表最大描述字符只有127大于127的字符为ascii扩展表, 正常转换时为不可见字符, 这个算法能够实现不可见字符的转换.
    2023-01-05 05:25:03下载
    积分:1
  • 约瑟夫(Joseph)环C语言实现
    Joseph环问题描述如下:编号是2,n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。一开始任选一个正整数作为报数上限值1开始顺序报数,报到m的人出列,将他的密码作为新的1报数,如此下去,直到所有人全部出列为止。设计一个程序来求出出列顺序。
    2023-04-19 02:35:04下载
    积分:1
  • 准确的眼科中心跟踪
    一个OpenCV,只需要一个摄像头。
    2022-08-25 08:34:50下载
    积分:1
  • 方程求根的数值实验,利用Newton迭代,求出所给方程的跟。...
    方程求根的数值实验,利用Newton迭代算法,求出所给方程的跟。-Equation Roots of numerical experiments using the Newton iterative algorithm are obtained with the given equation.
    2023-03-16 11:15:04下载
    积分:1
  • tsp货郎问题
    应用背景  Tsp问题在物流配送车辆运行路线中的应用。配货路线指从配货公司所在地出发,走遍各公司,又回到配货公司所在地的路线。要求过程中的路径代价最小。    ER P,即企业资源规划,能够对企业整个资源进行整合, 并为达到一定的目标作企业资源的最优化配置。物流资源管理是ER P 的重要组成部分。在该系统中用户只需将待运行的Excel 数据文件上传, 就可快捷地得到期望的运行结果, 为企业物流配送路线提供科学合理的建议; 用户不需要再次上传数据, 就可以对某一物流配送路线原始数据通过修改运行参数等方式执行多次; 用户也可以对运行过的陈旧结果进行删除; 为了数据安全考虑, 系统不允许某一用户查看和操作不属于该用户的数据, 也不允许某一用户同时在异地登录 。    Tsp问题在日常生活中应用广泛,但最多就是关于最短路径的求解(无论是旅行商还是货郎)。     关键技术 对于TSP问题,一种最容易想到的也肯定能得到最佳解的算法是穷举法,即考虑所有可能的旅行路线,从中选择最佳的一条。但是用穷举法求解TSP问题的时间复杂度为Ο(n!),当n大到一定
    2023-04-10 14:05:03下载
    积分:1
  • machine learning ppt manuscripts
    机器学习的ppt文稿-machine learning ppt manuscripts
    2022-07-05 11:55:39下载
    积分:1
  • 用劈因子解方程,按照提示输入方程的阶数,以及相应的系数即可...
    用劈因子法解方程,按照提示输入方程的阶数,以及相应的系数即可-rebuilding factor method of solving equations, in accordance with the importation of equations suggest the order, and the corresponding coefficient can be
    2022-08-08 11:49:15下载
    积分:1
  • 696516资源总数
  • 106432会员总数
  • 11今日下载