gnu gawk1.01源码分析 regex.c


今天看了看正则表达式的处理这段。因为以前想读sed1.8的源码,先读了getopt.c等文件,其中有测试代码,编译成功后,不停加printf语句,总算理解了代码。其中正则表达式的太难了,尽是宏定义,不知是干什么,当时,就想先读个简单的正则表达式实现。
网上找了一个1000行的正则表达式源码,当时想整个春节读,其中一帅哥的博文写得好,根据博文对照看源码,几天居然就看明白了。
于是,再看gawk1.01的源码,发现这个版本好,比sed1.8的要好,比ruby0.45中的也好,没那么多宏定义。
高版本的代码,更细致,但性价比就低了。
想在网上找函数库的使用,没找到。
于是看regex.h,把英语进行翻译,
再通读regex.c,找到后面,找到了main,这是用来测试的,意思是可以把regex.c单独编译成可执行文件,太爽了。
如果有谁能把其中正则表达式的实现逻辑讲清,就太好了。
不过,当我把正则表达式的几个函数搞明白后,就又想向前跑了,因为只要明白输入输出就解决了一大半,有时间时,再慢慢品其实现逻辑。
但看awk1.c,看不出头绪来。明天再慢慢看吧。

猜你喜欢

转载自blog.csdn.net/woshiyilitongdouzi/article/details/79546946