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

📄 bug1163046.c

📁 a little DFA compiler.
💻 C
字号:
/* Generated by re2c */#line 1 "bug1163046.re"#include <iostream>#define YYCTYPE unsigned char#define YYCURSOR cursor#define YYLIMIT cursor#define YYMARKER marker#define YYFILL(n)bool scan(const char *text){	YYCTYPE *start = (YYCTYPE *)text;	YYCTYPE *cursor = (YYCTYPE *)text;	YYCTYPE *marker = (YYCTYPE *)text;next:	YYCTYPE *token = cursor;#line 20 "<stdout>"{	YYCTYPE yych;	if((YYLIMIT - YYCURSOR) < 45) YYFILL(45);	yych = *YYCURSOR;	switch(yych) {	case 0x00:	goto yy5;	case '(':	goto yy2;	default:	goto yy4;	}yy2:	yych = *(YYMARKER = ++YYCURSOR);	switch(yych) {	case 'T':	case 't':	goto yy7;	default:	goto yy3;	}yy3:#line 23 "bug1163046.re"	{ goto next; }#line 41 "<stdout>"yy4:	yych = *++YYCURSOR;	goto yy3;yy5:	++YYCURSOR;#line 25 "bug1163046.re"	{ return false; }#line 49 "<stdout>"yy7:	yych = *++YYCURSOR;	switch(yych) {	case 'H':	case 'h':	goto yy9;	default:	goto yy8;	}yy8:	YYCURSOR = YYMARKER;	goto yy3;yy9:	yych = *++YYCURSOR;	switch(yych) {	case 'I':	case 'i':	goto yy10;	default:	goto yy8;	}yy10:	yych = *++YYCURSOR;	switch(yych) {	case 'S':	case 's':	goto yy11;	default:	goto yy8;	}yy11:	yych = *++YYCURSOR;	switch(yych) {	case ' ':	goto yy12;	default:	goto yy8;	}yy12:	yych = *++YYCURSOR;	switch(yych) {	case 'F':	case 'f':	goto yy13;	default:	goto yy8;	}yy13:	yych = *++YYCURSOR;	switch(yych) {	case 'I':	case 'i':	goto yy14;	default:	goto yy8;	}yy14:	yych = *++YYCURSOR;	switch(yych) {	case 'L':	case 'l':	goto yy15;	default:	goto yy8;	}yy15:	yych = *++YYCURSOR;	switch(yych) {	case 'E':	case 'e':	goto yy16;	default:	goto yy8;	}yy16:	yych = *++YYCURSOR;	switch(yych) {	case ' ':	goto yy17;	default:	goto yy8;	}yy17:	yych = *++YYCURSOR;	switch(yych) {	case 'M':	case 'm':	goto yy18;	default:	goto yy8;	}yy18:	yych = *++YYCURSOR;	switch(yych) {	case 'U':	case 'u':	goto yy19;	default:	goto yy8;	}yy19:	yych = *++YYCURSOR;	switch(yych) {	case 'S':	case 's':	goto yy20;	default:	goto yy8;	}yy20:	yych = *++YYCURSOR;	switch(yych) {	case 'T':	case 't':	goto yy21;	default:	goto yy8;	}yy21:	yych = *++YYCURSOR;	switch(yych) {	case ' ':	goto yy22;	default:	goto yy8;	}yy22:	yych = *++YYCURSOR;	switch(yych) {	case 'B':	case 'b':	goto yy23;	default:	goto yy8;	}yy23:	yych = *++YYCURSOR;	switch(yych) {	case 'E':	case 'e':	goto yy24;	default:	goto yy8;	}yy24:	yych = *++YYCURSOR;	switch(yych) {	case ' ':	goto yy25;	default:	goto yy8;	}yy25:	yych = *++YYCURSOR;	switch(yych) {	case 'C':	case 'c':	goto yy26;	default:	goto yy8;	}yy26:	yych = *++YYCURSOR;	switch(yych) {	case 'O':	case 'o':	goto yy27;	default:	goto yy8;	}yy27:	yych = *++YYCURSOR;	switch(yych) {	case 'N':	case 'n':	goto yy28;	default:	goto yy8;	}yy28:	yych = *++YYCURSOR;	switch(yych) {	case 'V':	case 'v':	goto yy29;	default:	goto yy8;	}yy29:	yych = *++YYCURSOR;	switch(yych) {	case 'E':	case 'e':	goto yy30;	default:	goto yy8;	}yy30:	yych = *++YYCURSOR;	switch(yych) {	case 'R':	case 'r':	goto yy31;	default:	goto yy8;	}yy31:	yych = *++YYCURSOR;	switch(yych) {	case 'T':	case 't':	goto yy32;	default:	goto yy8;	}yy32:	yych = *++YYCURSOR;	switch(yych) {	case 'E':	case 'e':	goto yy33;	default:	goto yy8;	}yy33:	yych = *++YYCURSOR;	switch(yych) {	case 'D':	case 'd':	goto yy34;	default:	goto yy8;	}yy34:	yych = *++YYCURSOR;	switch(yych) {	case ' ':	goto yy35;	default:	goto yy8;	}yy35:	yych = *++YYCURSOR;	switch(yych) {	case 'W':	case 'w':	goto yy36;	default:	goto yy8;	}yy36:	yych = *++YYCURSOR;	switch(yych) {	case 'I':	case 'i':	goto yy37;	default:	goto yy8;	}yy37:	yych = *++YYCURSOR;	switch(yych) {	case 'T':	case 't':	goto yy38;	default:	goto yy8;	}yy38:	yych = *++YYCURSOR;	switch(yych) {	case 'H':	case 'h':	goto yy39;	default:	goto yy8;	}yy39:	yych = *++YYCURSOR;	switch(yych) {	case ' ':	goto yy40;	default:	goto yy8;	}yy40:	yych = *++YYCURSOR;	switch(yych) {	case 'B':	case 'b':	goto yy41;	default:	goto yy8;	}yy41:	yych = *++YYCURSOR;	switch(yych) {	case 'I':	case 'i':	goto yy42;	default:	goto yy8;	}yy42:	yych = *++YYCURSOR;	switch(yych) {	case 'N':	case 'n':	goto yy43;	default:	goto yy8;	}yy43:	yych = *++YYCURSOR;	switch(yych) {	case 'H':	case 'h':	goto yy44;	default:	goto yy8;	}yy44:	yych = *++YYCURSOR;	switch(yych) {	case 'E':	case 'e':	goto yy45;	default:	goto yy8;	}yy45:	yych = *++YYCURSOR;	switch(yych) {	case 'X':	case 'x':	goto yy46;	default:	goto yy8;	}yy46:	yych = *++YYCURSOR;	switch(yych) {	case ' ':	goto yy47;	default:	goto yy8;	}yy47:	yych = *++YYCURSOR;	switch(yych) {	case '4':	goto yy48;	default:	goto yy8;	}yy48:	yych = *++YYCURSOR;	switch(yych) {	case '.':	goto yy49;	default:	goto yy8;	}yy49:	yych = *++YYCURSOR;	switch(yych) {	case '0':	goto yy50;	default:	goto yy8;	}yy50:	yych = *++YYCURSOR;	switch(yych) {	case ')':	goto yy51;	default:	goto yy8;	}yy51:	++YYCURSOR;#line 18 "bug1163046.re"	{		if (token == start || *(token - 1) == '\n')		return true; else goto next;	}#line 350 "<stdout>"}#line 26 "bug1163046.re"	return false;}#define do_scan(str, expect) \	res = scan(str) == expect ? 0 : 1; \	std::cerr << str << "\t-\t" << (res ? "fail" : "ok") << std::endl; \	result += res#define YYMAXFILL 45int main(int,void**){	int res, result = 0;	do_scan("(This file must be converted with BinHex 4.0)", 1);	do_scan("x(This file must be converted with BinHex 4.0)", 0);	do_scan("(This file must be converted with BinHex 4.0)x", 1);	do_scan("x(This file must be converted with BinHex 4.0)x", 0);		return result;}

⌨️ 快捷键说明

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