https://files.cnblogs.com/files/blogs/714801/gawk-master.7z 350KB
在 GitHub - gvlx/gawk: forked from git://git.savannah.gnu.org/gawk.git 下载的源码
下载安装了mingw,configure --disable-lint --disable-dependency-tracking --disable-largefile --disable-rpath --disable-nls
然后可以用tdm gcc编译。Makefile可以用NMAKE.exe.
O=array.o awkgram.o builtin.o cint_array.o command.o debug.o dfa.o eval.o ext.o field.o floatcomp.o gawkapi.o gawkmisc.o getopt.o getopt1.o int_array.o io.o main.o mpfr.o msg.o node.o profile.o random.o re.o regex.o str_array.o symbol.o version.o CFLAGS=-DHAVE_CONFIG_H -DGAWK -I. -DNDEBUG -Os gawk.exe : $(O) gcc -o $@ $(O) strip -s $@ .c.o: gcc $(CFLAGS) -c $< clean: -@del/q *.o -@del/q gawk.exe dep: gcc $(CFLAGS) -MM *.c >dep.txt include dep.txt
NAMKE.exe不支持-include (dep.txt不存在是不报错)。
改了.y文件的话,可以用单独的bison,也可以用mingw里的。
- bison -o awkgram.c awkgram.y 生成的分析函数为yyparse, yy是默认的prefix
- bison -o command.c -p zz command.y 生成的分析函数为zzparse
minimal awk (awk)这个名字已经被占了。试了下支持的语法太简单。学算法/短程序用gawk挺好
企图改成CScript/Interpreter, BEGIN换成main,支持局部变量,多个input函数。cs t.c,不用cs -f t.c。起码可以把getopt去掉。没事看点高端代码养眼啊。 整天browser.openWindowAutomatically()有啥意思 :-)
标签:清减,4.0,--,disable,源码,bison,gawk,array From: https://www.cnblogs.com/funwithwords/p/17003420.html