regex正则表达式
qianling3439
这个作者很懒,什么都没留下…
展开
-
一、正则表达式的诞生
一、正则表达式的诞生 最初的正规表达式出现于理论计算机科学的自动控制理论和形式语言理论中。在这些领域中有对计算(自动控制)的模型和对形式语言描述与分类的研究。1940年代,Warren McCulloch与Walter Pitts将神经系统中的神经元描述成小而简单的自动控制元。稍后,数学家Stephen Kleene利用称之为正则集合的数学符号来描述此模型。Ken Thompson将此转载 2009-03-02 21:22:00 · 764 阅读 · 1 评论 -
一个perl爱好者对linux的文本编辑器的牢骚
对,waker 版主举的就是一个例子。他那个问题用 sed 很容易解决,但是用 awk 就比较费劲。其实这也就是我学习 Perl 的原因,shell 下工具众多,功能也互相重复,最头疼的是,这些重复部分的语法还各不相同,(比如 grep awk sed 都有正则表达式匹配的功能,但是三者的正则表达式语法就不相同)最最最头疼的是,每个工具还分 GNU 版和不是 GNU 版,之间的差别也很大,最最最最转载 2009-03-11 21:46:00 · 810 阅读 · 0 评论 -
二、flex的使用
看了第一篇的关于正则表达式的说明后,下面我们就来通过它,使用flex这个词法分析工具来构造我们的编译器的词法分析器. 关于lex的教程应该是很多,这里我就简单地介绍一下,然后着重后面的lex和yacc的配合使用以及其技巧.所以,如果你不看了后还是不太明白lex或者yacc的使用,请你自己上网去查查,这方面的教程是很多的.我知道的一篇常见的就是 Yacc 与 Lex 快速入原创 2009-03-16 14:49:00 · 1013 阅读 · 0 评论 -
五:JavaCC做语法分析(五)
关键字: javacc 实用javacc 前言 本系列的文章的宗旨是让大家能够写出自己的编译器,解释器或者脚本引擎,所以每到理论介绍到一个程度后,我都会来讨论实践问题.理论方面,编译原理的教材已经是够多了,而实践的问题却很少讨论. 前几节文章只讨论到了词法分析和LL文法分析,关键的LR文法分析这里却还没有讲,我们先不要管复杂的LR文法和算法,让我们使用LL算法转载 2009-03-16 14:19:00 · 386 阅读 · 0 评论 -
一、正则表达式
一、正则表达式学过编译原理的朋友肯定都接触过LEX这个小型的词法扫描工具. 但是却很少有人真正把LEX用在自己的程序里. 在构造专业的编译器的时候,常常需要使用到lex和yacc. 正是因为这两个工具,使得我们编写编译器,解释器等工具的时候工作变得非常简单.不过话说回来,会使用lex和yacc的人也确实不简单. Lex和yacc里面牵涉到一系列的编译原理的理论知识,不是简单地看看书就能搞懂原创 2009-03-16 14:48:00 · 531 阅读 · 0 评论 -
从lex&yacc说到编译器(三):范式文法
从这一节开始,我们就算进入编译器构造的正题了.不得不说,前面的词法扫描器在整个编译器部分只是个很小很小的组成,而这两节讲述的语言构造器才能真正为我们的编译工作起到重要的作用.这些东西相信大家在大学的编译原理的课程已经学了不少,那么本文我也只是大致地带过,让大家回忆起大学的知识,重要的yacc使用技巧等等,我将在后面的内容讲出. 例3.1 exp -> exp原创 2009-03-16 14:51:00 · 594 阅读 · 0 评论 -
从lex&yacc说到编译器(四):文法识别
没想到这一系列文件能得到csdn和大家的这么看好,首先要感谢大家的赏识和csdn的推荐.那么我就更没有理由不写好这下面的几篇文章了.本来我的计划是简单把lex和yacc介绍完后就直接进入编译器的构造的技术细节问题讨论,但是最近看了一些国外经典教材后,发现文法的识别问题在编译原理和技术中是个绝不能忽视的问题.即使现在有了yacc工具来帮助我来识别文法,但是有些时候还是需要我们自己来写简单的语法分原创 2009-03-16 14:51:00 · 493 阅读 · 0 评论