skel2c
来自「yacc源码」· 代码 · 共 41 行
TXT
41 行
BEGIN { havesection = 0; nsec = 0; printf "/*\n** This file generated automatically from %s\n*/\n\n", FILENAME; printf "#include \"defs.h\"\n"; }/^%%/ { if (havesection) { printf " 0\n};\n\n"; } if (NF >= 2) { havesection = 1; section = $2; seclist[nsec] = section; nsec = nsec + 1; printf "char *%s[] =\n{\n", $2; printf " \"#line %d \\\"%s\\\"\",\n", FNR+1, FILENAME; } else { havesection = 0; } next; } { if (havesection) { gsub(/\\/, "\\\\"); gsub(/\t/, "\\t"); gsub(/\"/, "\\\""); printf " \"%s\",\n", $0; } else { print $0; } }END { if (havesection) { printf " 0\n};\n\n"; } if (nsec > 0) { printf "struct section section_list[] = {\n"; for (i=0; i<nsec; i++) printf "\t{ \"%s\", &%s[0] },\n", seclist[i], seclist[i]; printf "\t{ 0, 0 } };\n" } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?