在撰写了《构造可配置词法分析器》之后,我陆续收到了不少读者的来信,不过大多数都是要求源代码的。这篇文章原先是发布在自己的百度空间的,不过现在那个地方已经不打算写技术相关的东西了。而且由于cppblog的一些用户也转载了那篇文章,因此不打算再在这里重复贴了。
由于大多数读者都向我发邮件要求源代码,因此我想到,上一篇文章虽然把所有的原理都说明白了,不过关于实现相关的数据结构的那些细节却都没说出来。对与那些真的想实现自己的正则表达式引擎的人来说,可能还不能从文章中得到所有问题的解决方法。不过鉴于本人一贯来不想把所有的细节问题都说得太过于繁琐(留点问题给读者想也是好的,不然文章就没起到带动学习的作用了),因此作出决定:接下来的几天如果有空的话还要撰写一篇新的文章。
新的文章将着眼于【如何实现正则表达式引擎】这个话题,续《构造可配置词法分析器》的内容继续讨论。在这篇文章之中,我打算把使用DFA构造的正则表达式引擎的实现方法稍微描述一下(因为实际上难度不大),然后再花比较大的篇幅来讲述实现正向预查、反向预查、匿名获取、命名获取和子表达式引用的方法。文章中还会描述这篇文章中所提及的优化正则表达式的方法(招太多口水了,看来不写也会有很多人不高兴的,这是文化问题)。
敬请等待。
posted on 2008-05-16 05:11
陈梓瀚(vczh) 阅读(1906)
评论(6) 编辑 收藏 引用 所属分类:
脚本技术