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

📄 yylex.cpp

📁 语法分析器lex和词法分析器yacc的C++语言实现 1.Lex (1)Lex输入文件的解析 (2)正规表达式的解析 (3)一个正规表达式到NFA的转换算法实现 (4)多个NFA的合并
💻 CPP
📖 第 1 页 / 共 4 页
字号:
			break;
		}
		if(yytext[i]=='k')
		{
			state=28;
			break;
		}
		if(yytext[i]=='l')
		{
			state=28;
			break;
		}
		if(yytext[i]=='m')
		{
			state=28;
			break;
		}
		if(yytext[i]=='n')
		{
			state=28;
			break;
		}
		if(yytext[i]=='o')
		{
			state=28;
			break;
		}
		if(yytext[i]=='p')
		{
			state=28;
			break;
		}
		if(yytext[i]=='q')
		{
			state=28;
			break;
		}
		if(yytext[i]=='r')
		{
			state=28;
			break;
		}
		if(yytext[i]=='s')
		{
			state=28;
			break;
		}
		if(yytext[i]=='t')
		{
			state=28;
			break;
		}
		if(yytext[i]=='u')
		{
			state=28;
			break;
		}
		if(yytext[i]=='v')
		{
			state=28;
			break;
		}
		if(yytext[i]=='w')
		{
			state=28;
			break;
		}
		if(yytext[i]=='x')
		{
			state=28;
			break;
		}
		if(yytext[i]=='y')
		{
			state=28;
			break;
		}
		if(yytext[i]=='z')
		{
			state=28;
			break;
		}
		if(yytext[i]=='A')
		{
			state=28;
			break;
		}
		if(yytext[i]=='B')
		{
			state=28;
			break;
		}
		if(yytext[i]=='C')
		{
			state=28;
			break;
		}
		if(yytext[i]=='D')
		{
			state=28;
			break;
		}
		if(yytext[i]=='E')
		{
			state=28;
			break;
		}
		if(yytext[i]=='F')
		{
			state=28;
			break;
		}
		if(yytext[i]=='G')
		{
			state=28;
			break;
		}
		if(yytext[i]=='H')
		{
			state=28;
			break;
		}
		if(yytext[i]=='I')
		{
			state=28;
			break;
		}
		if(yytext[i]=='J')
		{
			state=28;
			break;
		}
		if(yytext[i]=='K')
		{
			state=28;
			break;
		}
		if(yytext[i]=='L')
		{
			state=28;
			break;
		}
		if(yytext[i]=='M')
		{
			state=28;
			break;
		}
		if(yytext[i]=='N')
		{
			state=28;
			break;
		}
		if(yytext[i]=='O')
		{
			state=28;
			break;
		}
		if(yytext[i]=='P')
		{
			state=28;
			break;
		}
		if(yytext[i]=='Q')
		{
			state=28;
			break;
		}
		if(yytext[i]=='R')
		{
			state=28;
			break;
		}
		if(yytext[i]=='S')
		{
			state=28;
			break;
		}
		if(yytext[i]=='T')
		{
			state=28;
			break;
		}
		if(yytext[i]=='U')
		{
			state=28;
			break;
		}
		if(yytext[i]=='V')
		{
			state=28;
			break;
		}
		if(yytext[i]=='W')
		{
			state=28;
			break;
		}
		if(yytext[i]=='X')
		{
			state=28;
			break;
		}
		if(yytext[i]=='Y')
		{
			state=28;
			break;
		}
		if(yytext[i]=='Z')
		{
			state=28;
			break;
		}
		if(yytext[i]=='0')
		{
			state=29;
			break;
		}
		if(yytext[i]=='1')
		{
			state=29;
			break;
		}
		if(yytext[i]=='2')
		{
			state=29;
			break;
		}
		if(yytext[i]=='3')
		{
			state=29;
			break;
		}
		if(yytext[i]=='4')
		{
			state=29;
			break;
		}
		if(yytext[i]=='5')
		{
			state=29;
			break;
		}
		if(yytext[i]=='6')
		{
			state=29;
			break;
		}
		if(yytext[i]=='7')
		{
			state=29;
			break;
		}
		if(yytext[i]=='8')
		{
			state=29;
			break;
		}
		if(yytext[i]=='9')
		{
			state=29;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 11:
	{
		if(i==N-1)
		{
			return NUM;
			break;
		}
		if(yytext[i]=='1')
		{
			state=11;
			break;
		}
		if(yytext[i]=='2')
		{
			state=11;
			break;
		}
		if(yytext[i]=='3')
		{
			state=11;
			break;
		}
		if(yytext[i]=='4')
		{
			state=11;
			break;
		}
		if(yytext[i]=='5')
		{
			state=11;
			break;
		}
		if(yytext[i]=='6')
		{
			state=11;
			break;
		}
		if(yytext[i]=='7')
		{
			state=11;
			break;
		}
		if(yytext[i]=='8')
		{
			state=11;
			break;
		}
		if(yytext[i]=='9')
		{
			state=11;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 12:
	{
		if(i==N-1)
		{
			return LESS;
			break;
		}
	break;
	}
	case 13:
	{
		if(i==N-1)
		{
			return GREAT;
			break;
		}
	break;
	}
	case 14:
	{
		if(i==N-1)
		{
			return 30028; 
			break;
		}
		if(yytext[i]=='=')
		{
			state=40;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 15:
	{
		if(yytext[i]=='=')
		{
			state=41;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 16:
	{
		if(i==N-1)
		{
			return 30020; 
			break;
		}
	break;
	}
	case 17:
	{
		if(i==N-1)
		{
			return 30023; 
			break;
		}
	break;
	}
	case 18:
	{
		if(i==N-1)
		{
			return 30021; 
			break;
		}
	break;
	}
	case 19:
	{
		if(i==N-1)
		{
			return 30022; 
			break;
		}
	break;
	}
	case 20:
	{
		if(i==N-1)
		{
			return 30026; 
			break;
		}
	break;
	}
	case 21:
	{
		if(i==N-1)
		{
			return 30024; 
			break;
		}
	break;
	}
	case 22:
	{
		if(i==N-1)
		{
			return 30025; 
			break;
		}
	break;
	}
	case 23:
	{
		if(i==N-1)
		{
			return 30027; 
			break;
		}
	break;
	}
	case 24:
	{
		if(i==N-1)
		{
			return 30018; 
			break;
		}
	break;
	}
	case 25:
	{
		if(i==N-1)
		{
			return 30019; 
			break;
		}
	break;
	}
	case 26:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='t')
		{
			state=42;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 27:
	{
		if(i==N-1)
		{
			return IF; 
			break;
		}
	break;
	}
	case 28:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
	break;
	}
	case 29:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='1')
		{
			state=11;
			break;
		}
		if(yytext[i]=='2')
		{
			state=11;
			break;
		}
		if(yytext[i]=='3')
		{
			state=11;
			break;
		}
		if(yytext[i]=='4')
		{
			state=11;
			break;
		}
		if(yytext[i]=='5')
		{
			state=11;
			break;
		}
		if(yytext[i]=='6')
		{
			state=11;
			break;
		}
		if(yytext[i]=='7')
		{
			state=11;
			break;
		}
		if(yytext[i]=='8')
		{
			state=11;
			break;
		}
		if(yytext[i]=='9')
		{
			state=11;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 30:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='n')
		{
			state=43;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 31:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='o')
		{
			state=44;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 32:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='g')
		{
			state=45;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 33:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='r')
		{
			state=46;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 34:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='o')
		{
			state=47;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 35:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='a')
		{
			state=48;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 36:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='s')
		{
			state=49;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 37:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='u')
		{
			state=50;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 38:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='i')
		{
			state=51;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 39:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='s')
		{
			state=52;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 40:
	{
		if(i==N-1)
		{
			return EQU;
			break;
		}
	break;
	}
	case 41:
	{
		if(i==N-1)
		{
			return NE;
			break;
		}
	break;
	}
	case 42:
	{
		if(i==N-1)
		{
			return INT; 
			break;
		}
	break;
	}
	case 43:
	{
		if(yytext[i]=='g')
		{
			state=53;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 44:
	{
		if(yytext[i]=='r')
		{
			state=54;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 45:
	{
		if(yytext[i]=='n')
		{
			state=55;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 46:
	{
		if(i==N-1)
		{
			return FOR;  
			break;
		}
	break;
	}
	case 47:
	{
		if(yytext[i]=='a')
		{
			state=56;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 48:
	{
		if(yytext[i]=='r')
		{
			state=57;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 49:
	{
		if(yytext[i]=='i')
		{
			state=58;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 50:
	{
		if(yytext[i]=='b')
		{
			state=59;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 51:
	{
		if(yytext[i]=='l')
		{
			state=60;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 52:
	{
		if(yytext[i]=='e')
		{
			state=61;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 53:
	{
		if(i==N-1)
		{
			return LONG;
			break;
		}
	break;
	}
	case 54:
	{
		if(yytext[i]=='t')
		{
			state=62;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 55:
	{
		if(yytext[i]=='e')
		{
			state=63;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 56:
	{
		if(yytext[i]=='t')
		{
			state=64;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 57:
	{
		if(i==N-1)
		{
			return CHAR; 
			break;
		}
	break;
	}
	case 58:
	{
		if(yytext[i]=='g')
		{
			state=65;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 59:
	{
		if(yytext[i]=='l')
		{
			state=66;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 60:
	{
		if(yytext[i]=='e')
		{
			state=67;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 61:
	{
		if(i==N-1)
		{
			return ELSE;
			break;
		}
	break;
	}
	case 62:
	{
		if(i==N-1)
		{
			return SHORT;
			break;
		}
	break;
	}
	case 63:
	{
		if(yytext[i]=='d')
		{
			state=68;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 64:
	{
		if(i==N-1)
		{
			return FLOAT;
			break;
		}
	break;
	}
	case 65:
	{
		if(yytext[i]=='n')
		{
			state=69;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 66:
	{
		if(yytext[i]=='e')
		{
			state=70;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 67:
	{
		if(i==N-1)
		{
			return WHILE;
			break;
		}
	break;
	}
	case 68:
	{
		if(i==N-1)
		{
			return SIGNED;
			break;
		}
	break;
	}
	case 69:
	{
		if(yytext[i]=='e')
		{
			state=71;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 70:
	{
		if(i==N-1)
		{
			return DOUBLE;
			break;
		}
	break;
	}
	case 71:
	{
		if(yytext[i]=='d')
		{
			state=72;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 72:
	{
		if(i==N-1)
		{
			return UNSIGNED;
			break;
		}
	break;
	}
	}
	}

}

⌨️ 快捷键说明

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