⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modula.c

📁 a little DFA compiler.
💻 C
📖 第 1 页 / 共 4 页
字号:
	case 'X':	case 'Y':	case 'Z':	case 'a':	case 'b':	case 'c':	case 'd':	case 'e':	case 'f':	case 'g':	case 'h':	case 'i':	case 'j':	case 'k':	case 'l':	case 'm':	case 'n':	case 'o':	case 'p':	case 'q':	case 'r':	case 's':	case 't':	case 'u':	case 'v':	case 'w':	case 'x':	case 'y':	case 'z':	goto yy80;	default:	goto yy222;	}yy222:#line 114 "modula.re"	{RETURN(42);}#line 3312 "<stdout>"yy223:	++YYCURSOR;	switch((yych = *YYCURSOR)) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	case 'G':	case 'H':	case 'I':	case 'J':	case 'K':	case 'L':	case 'M':	case 'N':	case 'O':	case 'P':	case 'Q':	case 'R':	case 'S':	case 'T':	case 'U':	case 'V':	case 'W':	case 'X':	case 'Y':	case 'Z':	case 'a':	case 'b':	case 'c':	case 'd':	case 'e':	case 'f':	case 'g':	case 'h':	case 'i':	case 'j':	case 'k':	case 'l':	case 'm':	case 'n':	case 'o':	case 'p':	case 'q':	case 'r':	case 's':	case 't':	case 'u':	case 'v':	case 'w':	case 'x':	case 'y':	case 'z':	goto yy80;	default:	goto yy224;	}yy224:#line 113 "modula.re"	{RETURN(41);}#line 3383 "<stdout>"yy225:	yych = *++YYCURSOR;	switch(yych) {	case 'I':	goto yy226;	default:	goto yy81;	}yy226:	yych = *++YYCURSOR;	switch(yych) {	case 'N':	goto yy227;	default:	goto yy81;	}yy227:	yych = *++YYCURSOR;	switch(yych) {	case 'I':	goto yy228;	default:	goto yy81;	}yy228:	yych = *++YYCURSOR;	switch(yych) {	case 'T':	goto yy229;	default:	goto yy81;	}yy229:	yych = *++YYCURSOR;	switch(yych) {	case 'I':	goto yy230;	default:	goto yy81;	}yy230:	yych = *++YYCURSOR;	switch(yych) {	case 'O':	goto yy231;	default:	goto yy81;	}yy231:	yych = *++YYCURSOR;	switch(yych) {	case 'N':	goto yy232;	default:	goto yy81;	}yy232:	++YYCURSOR;	switch((yych = *YYCURSOR)) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	case 'G':	case 'H':	case 'I':	case 'J':	case 'K':	case 'L':	case 'M':	case 'N':	case 'O':	case 'P':	case 'Q':	case 'R':	case 'S':	case 'T':	case 'U':	case 'V':	case 'W':	case 'X':	case 'Y':	case 'Z':	case 'a':	case 'b':	case 'c':	case 'd':	case 'e':	case 'f':	case 'g':	case 'h':	case 'i':	case 'j':	case 'k':	case 'l':	case 'm':	case 'n':	case 'o':	case 'p':	case 'q':	case 'r':	case 's':	case 't':	case 'u':	case 'v':	case 'w':	case 'x':	case 'y':	case 'z':	goto yy80;	default:	goto yy233;	}yy233:#line 112 "modula.re"	{RETURN(40);}#line 3496 "<stdout>"yy234:	yych = *++YYCURSOR;	switch(yych) {	case 'S':	goto yy240;	default:	goto yy81;	}yy235:	yych = *++YYCURSOR;	switch(yych) {	case 'N':	goto yy236;	default:	goto yy81;	}yy236:	yych = *++YYCURSOR;	switch(yych) {	case 'S':	goto yy237;	default:	goto yy81;	}yy237:	yych = *++YYCURSOR;	switch(yych) {	case 'T':	goto yy238;	default:	goto yy81;	}yy238:	++YYCURSOR;	switch((yych = *YYCURSOR)) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	case 'G':	case 'H':	case 'I':	case 'J':	case 'K':	case 'L':	case 'M':	case 'N':	case 'O':	case 'P':	case 'Q':	case 'R':	case 'S':	case 'T':	case 'U':	case 'V':	case 'W':	case 'X':	case 'Y':	case 'Z':	case 'a':	case 'b':	case 'c':	case 'd':	case 'e':	case 'f':	case 'g':	case 'h':	case 'i':	case 'j':	case 'k':	case 'l':	case 'm':	case 'n':	case 'o':	case 'p':	case 'q':	case 'r':	case 's':	case 't':	case 'u':	case 'v':	case 'w':	case 'x':	case 'y':	case 'z':	goto yy80;	default:	goto yy239;	}yy239:#line 111 "modula.re"	{RETURN(39);}#line 3591 "<stdout>"yy240:	yych = *++YYCURSOR;	switch(yych) {	case 'E':	goto yy241;	default:	goto yy81;	}yy241:	++YYCURSOR;	switch((yych = *YYCURSOR)) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	case 'G':	case 'H':	case 'I':	case 'J':	case 'K':	case 'L':	case 'M':	case 'N':	case 'O':	case 'P':	case 'Q':	case 'R':	case 'S':	case 'T':	case 'U':	case 'V':	case 'W':	case 'X':	case 'Y':	case 'Z':	case 'a':	case 'b':	case 'c':	case 'd':	case 'e':	case 'f':	case 'g':	case 'h':	case 'i':	case 'j':	case 'k':	case 'l':	case 'm':	case 'n':	case 'o':	case 'p':	case 'q':	case 'r':	case 's':	case 't':	case 'u':	case 'v':	case 'w':	case 'x':	case 'y':	case 'z':	goto yy80;	default:	goto yy242;	}yy242:#line 110 "modula.re"	{RETURN(38);}#line 3668 "<stdout>"yy243:	yych = *++YYCURSOR;	switch(yych) {	case 'G':	goto yy246;	default:	goto yy81;	}yy244:	++YYCURSOR;	switch((yych = *YYCURSOR)) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	case 'G':	case 'H':	case 'I':	case 'J':	case 'K':	case 'L':	case 'M':	case 'N':	case 'O':	case 'P':	case 'Q':	case 'R':	case 'S':	case 'T':	case 'U':	case 'V':	case 'W':	case 'X':	case 'Y':	case 'Z':	case 'a':	case 'b':	case 'c':	case 'd':	case 'e':	case 'f':	case 'g':	case 'h':	case 'i':	case 'j':	case 'k':	case 'l':	case 'm':	case 'n':	case 'o':	case 'p':	case 'q':	case 'r':	case 's':	case 't':	case 'u':	case 'v':	case 'w':	case 'x':	case 'y':	case 'z':	goto yy80;	default:	goto yy245;	}yy245:#line 109 "modula.re"	{RETURN(37);}#line 3745 "<stdout>"yy246:	yych = *++YYCURSOR;	switch(yych) {	case 'I':	goto yy247;	default:	goto yy81;	}yy247:	yych = *++YYCURSOR;	switch(yych) {	case 'N':	goto yy248;	default:	goto yy81;	}yy248:	++YYCURSOR;	switch((yych = *YYCURSOR)) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	case 'G':	case 'H':	case 'I':	case 'J':	case 'K':	case 'L':	case 'M':	case 'N':	case 'O':	case 'P':	case 'Q':	case 'R':	case 'S':	case 'T':	case 'U':	case 'V':	case 'W':	case 'X':	case 'Y':	case 'Z':	case 'a':	case 'b':	case 'c':	case 'd':	case 'e':	case 'f':	case 'g':	case 'h':	case 'i':	case 'j':	case 'k':	case 'l':	case 'm':	case 'n':	case 'o':	case 'p':	case 'q':	case 'r':	case 's':	case 't':	case 'u':	case 'v':	case 'w':	case 'x':	case 'y':	case 'z':	goto yy80;	default:	goto yy249;	}yy249:#line 108 "modula.re"	{RETURN(36);}#line 3828 "<stdout>"yy250:	yych = *++YYCURSOR;	switch(yych) {	case 'D':	goto yy256;	default:	goto yy81;	}yy251:	yych = *++YYCURSOR;	switch(yych) {	case 'R':	goto yy252;	default:	goto yy81;	}yy252:	yych = *++YYCURSOR;	switch(yych) {	case 'A':	goto yy253;	default:	goto yy81;	}yy253:	yych = *++YYCURSOR;	switch(yych) {	case 'Y':	goto yy254;	default:	goto yy81;	}yy254:	++YYCURSOR;	switch((yych = *YYCURSOR)) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	case 'G':	case 'H':	case 'I':	case 'J':	case 'K':	case 'L':	case 'M':	case 'N':	case 'O':	case 'P':	case 'Q':	case 'R':	case 'S':	case 'T':	case 'U':	case 'V':	case 'W':	case 'X':	case 'Y':	case 'Z':	case 'a':	case 'b':	case 'c':	case 'd':	case 'e':	case 'f':	case 'g':	case 'h':	case 'i':	case 'j':	case 'k':	case 'l':	case 'm':	case 'n':	case 'o':	case 'p':	case 'q':	case 'r':	case 's':	case 't':	case 'u':	case 'v':	case 'w':	case 'x':	case 'y':	case 'z':	goto yy80;	default:	goto yy255;	}yy255:#line 107 "modula.re"	{RETURN(35);}#line 3923 "<stdout>"yy256:	++YYCURSOR;	switch((yych = *YYCURSOR)) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	case 'G':	case 'H':	case 'I':	case 'J':	case 'K':	case 'L':	case 'M':	case 'N':	case 'O':	case 'P':	case 'Q':	case 'R':	case 'S':	case 'T':	case 'U':	case 'V':	case 'W':	case 'X':	case 'Y':	case 'Z':	case 'a':	case 'b':	case 'c':	case 'd':	case 'e':	case 'f':	case 'g':	case 'h':	case 'i':	case 'j':	case 'k':	case 'l':	case 'm':	case 'n':	case 'o':	case 'p':	case 'q':	case 'r':	case 's':	case 't':	case 'u':	case 'v':	case 'w':	case 'x':	case 'y':	case 'z':	goto yy80;	default:	goto yy257;	}yy257:#line 106 "modula.re"	{RETURN(34);}#line 3994 "<stdout>"yy258:	++YYCURSOR;#line 97 "modula.re"	{RETURN(26);}#line 3999 "<stdout>"yy260:	++YYCURSOR;#line 94 "modula.re"	{RETURN(23);}#line 4004 "<stdout>"yy262:	++YYCURSOR;#line 93 "modula.re"	{RETURN(22);}#line 4009 "<stdout>"yy264:	++YYCURSOR;#line 90 "modula.re"	{RETURN(19);}#line 4014 "<stdout>"yy266:	++YYCURSOR;#line 87 "modula.re"	{RETURN(16);}#line 4019 "<stdout>"yy268:	++YYCURSOR;	if(YYLIMIT == YYCURSOR) YYFILL(1);	yych = *YYCURSOR;yy269:	switch(yych) {	case 0x0A:	goto yy270;	case '"':	goto yy271;	default:	goto yy268;	}yy270:	YYCURSOR = YYMARKER;	switch(yyaccept) {	case 0: 	goto yy5;	case 1: 	goto yy8;	case 2: 	goto yy276;	case 3: 	goto yy294;	case 4: 	goto yy296;	}yy271:	++YYCURSOR;#line 76 "modula.re"	{RETURN(6);}#line 4043 "<stdout>"yy273:	++YYCURSOR;	if(YYLIMIT == YYCURSOR) YYFILL(1);	yych = *YYCURSOR;yy274:	switch(yych) {	case 0x0A:	goto yy270;	case '\'':	goto yy271;	default:	goto yy273;	}yy275:	yyaccept = 2;	yych = *(YYMARKER = ++YYCURSOR);	switch(yych) {	case '.':	goto yy283;	default:	goto yy286;	}yy276:#line 75 "modula.re"	{RETURN(5);}#line 4064 "<stdout>"yy277:	YYCTXMARKER = YYCURSOR + 1;	yyaccept = 0;	YYMARKER = ++YYCURSOR;	if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);	yych = *YYCURSOR;yy278:	switch(yych) {	case '.':	goto yy275;	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	goto yy277;	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	goto yy279;	case 'H':	goto yy281;	default:	goto yy5;	}yy279:	++YYCURSOR;	if(YYLIMIT == YYCURSOR) YYFILL(1);	yych = *YYCURSOR;	switch(yych) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	goto yy279;	case 'H':	goto yy281;	default:	goto yy270;	}yy281:	++YYCURSOR;#line 74 "modula.re"	{RETURN(4);}#line 4121 "<stdout>"yy283:	++YYCURSOR;	YYCURSOR = YYCTXMARKER;#line 71 "modula.re"	{RETURN(1);}#line 4127 "<stdout>"yy285:	yyaccept = 2;	YYMARKER = ++YYCURSOR;	if((YYLIMIT - YYCURSOR) < 3) YYFILL(3);	yych = *YYCURSOR;yy286:	switch(yych) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	goto yy285;	case 'E':	goto yy287;	default:	goto yy276;	}yy287:	yych = *++YYCURSOR;	switch(yych) {	case '+':	case '-':	goto yy288;	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	goto yy289;	default:	goto yy270;	}yy288:	yych = *++YYCURSOR;	switch(yych) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	goto yy289;	default:	goto yy270;	}yy289:	++YYCURSOR;	if(YYLIMIT == YYCURSOR) YYFILL(1);	yych = *YYCURSOR;	switch(yych) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	goto yy289;	default:	goto yy276;	}yy291:	YYCTXMARKER = YYCURSOR + 1;	yyaccept = 0;	YYMARKER = ++YYCURSOR;	if((YYLIMIT - YYCURSOR) < 4) YYFILL(4);	yych = *YYCURSOR;yy292:	switch(yych) {	case '.':	goto yy275;	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	goto yy291;	case '8':	case '9':	goto yy277;	case 'A':	case 'D':	case 'E':	case 'F':	goto yy279;	case 'B':	goto yy293;	case 'C':	goto yy295;	case 'H':	goto yy281;	default:	goto yy5;	}yy293:	yyaccept = 3;	yych = *(YYMARKER = ++YYCURSOR);	switch(yych) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	goto yy279;	case 'H':	goto yy281;	default:	goto yy294;	}yy294:#line 72 "modula.re"	{RETURN(2);}#line 4251 "<stdout>"yy295:	yyaccept = 4;	yych = *(YYMARKER = ++YYCURSOR);	switch(yych) {	case '0':	case '1':	case '2':	case '3':	case '4':	case '5':	case '6':	case '7':	case '8':	case '9':	case 'A':	case 'B':	case 'C':	case 'D':	case 'E':	case 'F':	goto yy279;	case 'H':	goto yy281;	default:	goto yy296;	}yy296:#line 73 "modula.re"	{RETURN(3);}#line 4278 "<stdout>"yy297:	++YYCURSOR;#line 68 "modula.re"	{ depth = 1; goto comment; }#line 4283 "<stdout>"}#line 163 "modula.re"comment:#line 4289 "<stdout>"{	YYCTYPE yych;	if((YYLIMIT - YYCURSOR) < 2) YYFILL(2);	yych = *YYCURSOR;	switch(yych) {	case 0x0A:	goto yy304;	case '(':	goto yy303;	case '*':	goto yy301;	default:	goto yy306;	}yy301:	++YYCURSOR;	switch((yych = *YYCURSOR)) {	case ')':	goto yy309;	default:	goto yy302;	}yy302:#line 180 "modula.re"	{ goto comment; }#line 4309 "<stdout>"yy303:	yych = *++YYCURSOR;	switch(yych) {	case '*':	goto yy307;	default:	goto yy302;	}yy304:	++YYCURSOR;#line 175 "modula.re"	{		if(cursor == s->eof) RETURN(0);		s->tok = s->pos = cursor; s->line++;		goto comment;	    }#line 4324 "<stdout>"yy306:	yych = *++YYCURSOR;	goto yy302;yy307:	++YYCURSOR;#line 173 "modula.re"	{ ++depth; goto comment; }#line 4332 "<stdout>"yy309:	++YYCURSOR;#line 167 "modula.re"	{		if(--depth == 0)		    goto std;		else		    goto comment;	    }#line 4342 "<stdout>"}#line 181 "modula.re"}/*void putStr(FILE *o, char *s, uint l){    while(l-- > 0)	putc(*s++, o);}*/main(){    Scanner in;    memset((char*) &in, 0, sizeof(in));    in.fd = 0;    while(scan(&in)){/*	putc('<', stdout);	putStr(stdout, (char*) in.tok, in.cur - in.tok);	putc('>', stdout);	putc('\n', stdout);*/    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -