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 + -
显示快捷键?