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

📄 yylex.cpp

📁 使用lex生成的c++代码
💻 CPP
📖 第 1 页 / 共 5 页
字号:

#include<iostream>
#include<cstdlib>
#include"yytab.h"
using namespace std;
const int START=0;
const int ERROR=32767;

int analysis(char *yytext,int n)
{
	int state=START;
	int N=n+1;//N表示串长加1,为与状态数保持一致。
	for(int i=0;i<N;i++)
	{
	switch(state)
	{
	case 0:
	{
		if(yytext[i]=='b')
		{
			state=1;
			break;
		}
		if(yytext[i]=='c')
		{
			state=2;
			break;
		}
		if(yytext[i]=='d')
		{
			state=3;
			break;
		}
		if(yytext[i]=='e')
		{
			state=4;
			break;
		}
		if(yytext[i]=='f')
		{
			state=5;
			break;
		}
		if(yytext[i]=='g')
		{
			state=6;
			break;
		}
		if(yytext[i]=='i')
		{
			state=7;
			break;
		}
		if(yytext[i]=='l')
		{
			state=8;
			break;
		}
		if(yytext[i]=='r')
		{
			state=9;
			break;
		}
		if(yytext[i]=='s')
		{
			state=10;
			break;
		}
		if(yytext[i]=='t')
		{
			state=11;
			break;
		}
		if(yytext[i]=='u')
		{
			state=12;
			break;
		}
		if(yytext[i]=='v')
		{
			state=13;
			break;
		}
		if(yytext[i]=='w')
		{
			state=14;
			break;
		}
		if(yytext[i]=='1')
		{
			state=15;
			break;
		}
		if(yytext[i]=='2')
		{
			state=15;
			break;
		}
		if(yytext[i]=='3')
		{
			state=15;
			break;
		}
		if(yytext[i]=='4')
		{
			state=15;
			break;
		}
		if(yytext[i]=='5')
		{
			state=15;
			break;
		}
		if(yytext[i]=='6')
		{
			state=15;
			break;
		}
		if(yytext[i]=='7')
		{
			state=15;
			break;
		}
		if(yytext[i]=='8')
		{
			state=15;
			break;
		}
		if(yytext[i]=='9')
		{
			state=15;
			break;
		}
		if(yytext[i]=='a')
		{
			state=16;
			break;
		}
		if(yytext[i]=='h')
		{
			state=16;
			break;
		}
		if(yytext[i]=='j')
		{
			state=16;
			break;
		}
		if(yytext[i]=='k')
		{
			state=16;
			break;
		}
		if(yytext[i]=='m')
		{
			state=16;
			break;
		}
		if(yytext[i]=='n')
		{
			state=16;
			break;
		}
		if(yytext[i]=='o')
		{
			state=16;
			break;
		}
		if(yytext[i]=='p')
		{
			state=16;
			break;
		}
		if(yytext[i]=='q')
		{
			state=16;
			break;
		}
		if(yytext[i]=='x')
		{
			state=16;
			break;
		}
		if(yytext[i]=='y')
		{
			state=16;
			break;
		}
		if(yytext[i]=='z')
		{
			state=16;
			break;
		}
		if(yytext[i]=='A')
		{
			state=16;
			break;
		}
		if(yytext[i]=='B')
		{
			state=16;
			break;
		}
		if(yytext[i]=='C')
		{
			state=16;
			break;
		}
		if(yytext[i]=='D')
		{
			state=16;
			break;
		}
		if(yytext[i]=='E')
		{
			state=16;
			break;
		}
		if(yytext[i]=='F')
		{
			state=16;
			break;
		}
		if(yytext[i]=='G')
		{
			state=16;
			break;
		}
		if(yytext[i]=='H')
		{
			state=16;
			break;
		}
		if(yytext[i]=='I')
		{
			state=16;
			break;
		}
		if(yytext[i]=='J')
		{
			state=16;
			break;
		}
		if(yytext[i]=='K')
		{
			state=16;
			break;
		}
		if(yytext[i]=='L')
		{
			state=16;
			break;
		}
		if(yytext[i]=='M')
		{
			state=16;
			break;
		}
		if(yytext[i]=='N')
		{
			state=16;
			break;
		}
		if(yytext[i]=='O')
		{
			state=16;
			break;
		}
		if(yytext[i]=='P')
		{
			state=16;
			break;
		}
		if(yytext[i]=='Q')
		{
			state=16;
			break;
		}
		if(yytext[i]=='R')
		{
			state=16;
			break;
		}
		if(yytext[i]=='S')
		{
			state=16;
			break;
		}
		if(yytext[i]=='T')
		{
			state=16;
			break;
		}
		if(yytext[i]=='U')
		{
			state=16;
			break;
		}
		if(yytext[i]=='V')
		{
			state=16;
			break;
		}
		if(yytext[i]=='W')
		{
			state=16;
			break;
		}
		if(yytext[i]=='X')
		{
			state=16;
			break;
		}
		if(yytext[i]=='Y')
		{
			state=16;
			break;
		}
		if(yytext[i]=='Z')
		{
			state=16;
			break;
		}
		if(yytext[i]=='+')
		{
			state=17;
			break;
		}
		if(yytext[i]=='-')
		{
			state=18;
			break;
		}
		if(yytext[i]=='=')
		{
			state=19;
			break;
		}
		if(yytext[i]=='/')
		{
			state=20;
			break;
		}
		if(yytext[i]=='&')
		{
			state=21;
			break;
		}
		if(yytext[i]=='|')
		{
			state=22;
			break;
		}
		if(yytext[i]=='<')
		{
			state=23;
			break;
		}
		if(yytext[i]=='>')
		{
			state=24;
			break;
		}
		if(yytext[i]=='!')
		{
			state=25;
			break;
		}
		if(yytext[i]==';')
		{
			state=26;
			break;
		}
		if(yytext[i]==',')
		{
			state=27;
			break;
		}
		if(yytext[i]==':')
		{
			state=28;
			break;
		}
		if(yytext[i]=='.')
		{
			state=29;
			break;
		}
		if(yytext[i]=='?')
		{
			state=30;
			break;
		}
		if(yytext[i]=='{')
		{
			state=31;
			break;
		}
		if(yytext[i]=='}')
		{
			state=32;
			break;
		}
		if(yytext[i]=='[')
		{
			state=33;
			break;
		}
		if(yytext[i]==']')
		{
			state=34;
			break;
		}
		if(yytext[i]=='*')
		{
			state=35;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 1:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='r')
		{
			state=36;
			break;
		}
		if(yytext[i]=='a')
		{
			state=37;
			break;
		}
		if(yytext[i]=='b')
		{
			state=37;
			break;
		}
		if(yytext[i]=='c')
		{
			state=37;
			break;
		}
		if(yytext[i]=='d')
		{
			state=37;
			break;
		}
		if(yytext[i]=='e')
		{
			state=37;
			break;
		}
		if(yytext[i]=='f')
		{
			state=37;
			break;
		}
		if(yytext[i]=='g')
		{
			state=37;
			break;
		}
		if(yytext[i]=='h')
		{
			state=37;
			break;
		}
		if(yytext[i]=='i')
		{
			state=37;
			break;
		}
		if(yytext[i]=='j')
		{
			state=37;
			break;
		}
		if(yytext[i]=='k')
		{
			state=37;
			break;
		}
		if(yytext[i]=='l')
		{
			state=37;
			break;
		}
		if(yytext[i]=='m')
		{
			state=37;
			break;
		}
		if(yytext[i]=='n')
		{
			state=37;
			break;
		}
		if(yytext[i]=='o')
		{
			state=37;
			break;
		}
		if(yytext[i]=='p')
		{
			state=37;
			break;
		}
		if(yytext[i]=='q')
		{
			state=37;
			break;
		}
		if(yytext[i]=='s')
		{
			state=37;
			break;
		}
		if(yytext[i]=='t')
		{
			state=37;
			break;
		}
		if(yytext[i]=='u')
		{
			state=37;
			break;
		}
		if(yytext[i]=='v')
		{
			state=37;
			break;
		}
		if(yytext[i]=='w')
		{
			state=37;
			break;
		}
		if(yytext[i]=='x')
		{
			state=37;
			break;
		}
		if(yytext[i]=='y')
		{
			state=37;
			break;
		}
		if(yytext[i]=='z')
		{
			state=37;
			break;
		}
		if(yytext[i]=='A')
		{
			state=37;
			break;
		}
		if(yytext[i]=='B')
		{
			state=37;
			break;
		}
		if(yytext[i]=='C')
		{
			state=37;
			break;
		}
		if(yytext[i]=='D')
		{
			state=37;
			break;
		}
		if(yytext[i]=='E')
		{
			state=37;
			break;
		}
		if(yytext[i]=='F')
		{
			state=37;
			break;
		}
		if(yytext[i]=='G')
		{
			state=37;
			break;
		}
		if(yytext[i]=='H')
		{
			state=37;
			break;
		}
		if(yytext[i]=='I')
		{
			state=37;
			break;
		}
		if(yytext[i]=='J')
		{
			state=37;
			break;
		}
		if(yytext[i]=='K')
		{
			state=37;
			break;
		}
		if(yytext[i]=='L')
		{
			state=37;
			break;
		}
		if(yytext[i]=='M')
		{
			state=37;
			break;
		}
		if(yytext[i]=='N')
		{
			state=37;
			break;
		}
		if(yytext[i]=='O')
		{
			state=37;
			break;
		}
		if(yytext[i]=='P')
		{
			state=37;
			break;
		}
		if(yytext[i]=='Q')
		{
			state=37;
			break;
		}
		if(yytext[i]=='R')
		{
			state=37;
			break;
		}
		if(yytext[i]=='S')
		{
			state=37;
			break;
		}
		if(yytext[i]=='T')
		{
			state=37;
			break;
		}
		if(yytext[i]=='U')
		{
			state=37;
			break;
		}
		if(yytext[i]=='V')
		{
			state=37;
			break;
		}
		if(yytext[i]=='W')
		{
			state=37;
			break;
		}
		if(yytext[i]=='X')
		{
			state=37;
			break;
		}
		if(yytext[i]=='Y')
		{
			state=37;
			break;
		}
		if(yytext[i]=='Z')
		{
			state=37;
			break;
		}
		if(yytext[i]=='0')
		{
			state=37;
			break;
		}
		if(yytext[i]=='1')
		{
			state=37;
			break;
		}
		if(yytext[i]=='2')
		{
			state=37;
			break;
		}
		if(yytext[i]=='3')
		{
			state=37;
			break;
		}
		if(yytext[i]=='4')
		{
			state=37;
			break;
		}
		if(yytext[i]=='5')
		{
			state=37;
			break;
		}
		if(yytext[i]=='6')
		{
			state=37;
			break;
		}
		if(yytext[i]=='7')
		{
			state=37;
			break;
		}
		if(yytext[i]=='8')
		{
			state=37;
			break;
		}
		if(yytext[i]=='9')
		{
			state=37;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 2:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='a')
		{
			state=38;
			break;
		}
		if(yytext[i]=='h')
		{
			state=39;
			break;
		}
		if(yytext[i]=='o')
		{
			state=40;
			break;
		}
		if(yytext[i]=='b')
		{
			state=37;
			break;
		}
		if(yytext[i]=='c')
		{
			state=37;
			break;
		}
		if(yytext[i]=='d')
		{
			state=37;
			break;
		}
		if(yytext[i]=='e')
		{
			state=37;
			break;
		}
		if(yytext[i]=='f')
		{
			state=37;
			break;
		}
		if(yytext[i]=='g')
		{
			state=37;
			break;
		}
		if(yytext[i]=='i')
		{
			state=37;
			break;
		}
		if(yytext[i]=='j')
		{
			state=37;
			break;
		}
		if(yytext[i]=='k')
		{
			state=37;
			break;
		}
		if(yytext[i]=='l')
		{
			state=37;
			break;
		}
		if(yytext[i]=='m')
		{
			state=37;
			break;
		}
		if(yytext[i]=='n')
		{
			state=37;
			break;
		}
		if(yytext[i]=='p')
		{
			state=37;
			break;
		}
		if(yytext[i]=='q')
		{
			state=37;
			break;
		}
		if(yytext[i]=='r')
		{
			state=37;
			break;
		}
		if(yytext[i]=='s')
		{
			state=37;
			break;
		}
		if(yytext[i]=='t')
		{
			state=37;
			break;
		}
		if(yytext[i]=='u')
		{
			state=37;
			break;
		}
		if(yytext[i]=='v')
		{
			state=37;
			break;
		}
		if(yytext[i]=='w')
		{
			state=37;
			break;
		}
		if(yytext[i]=='x')
		{
			state=37;
			break;
		}
		if(yytext[i]=='y')
		{
			state=37;
			break;
		}
		if(yytext[i]=='z')
		{
			state=37;
			break;
		}
		if(yytext[i]=='A')
		{
			state=37;
			break;
		}
		if(yytext[i]=='B')
		{
			state=37;
			break;
		}
		if(yytext[i]=='C')
		{
			state=37;
			break;
		}
		if(yytext[i]=='D')
		{
			state=37;
			break;
		}
		if(yytext[i]=='E')
		{
			state=37;
			break;
		}
		if(yytext[i]=='F')
		{
			state=37;
			break;
		}
		if(yytext[i]=='G')
		{
			state=37;
			break;
		}
		if(yytext[i]=='H')
		{
			state=37;
			break;
		}
		if(yytext[i]=='I')
		{
			state=37;
			break;
		}
		if(yytext[i]=='J')
		{
			state=37;
			break;
		}
		if(yytext[i]=='K')
		{
			state=37;
			break;
		}
		if(yytext[i]=='L')
		{
			state=37;
			break;
		}
		if(yytext[i]=='M')
		{
			state=37;
			break;
		}
		if(yytext[i]=='N')
		{
			state=37;
			break;
		}
		if(yytext[i]=='O')
		{
			state=37;
			break;
		}
		if(yytext[i]=='P')
		{
			state=37;
			break;
		}
		if(yytext[i]=='Q')
		{
			state=37;
			break;
		}
		if(yytext[i]=='R')
		{
			state=37;
			break;
		}
		if(yytext[i]=='S')
		{
			state=37;
			break;
		}
		if(yytext[i]=='T')
		{
			state=37;
			break;
		}
		if(yytext[i]=='U')
		{
			state=37;
			break;
		}
		if(yytext[i]=='V')
		{
			state=37;
			break;
		}
		if(yytext[i]=='W')
		{
			state=37;
			break;
		}
		if(yytext[i]=='X')
		{
			state=37;
			break;
		}
		if(yytext[i]=='Y')
		{
			state=37;
			break;
		}
		if(yytext[i]=='Z')
		{
			state=37;
			break;
		}
		if(yytext[i]=='0')
		{
			state=37;
			break;
		}
		if(yytext[i]=='1')
		{
			state=37;
			break;
		}
		if(yytext[i]=='2')
		{
			state=37;
			break;
		}
		if(yytext[i]=='3')
		{
			state=37;
			break;
		}
		if(yytext[i]=='4')
		{
			state=37;
			break;
		}
		if(yytext[i]=='5')
		{
			state=37;
			break;
		}
		if(yytext[i]=='6')
		{
			state=37;
			break;
		}
		if(yytext[i]=='7')
		{
			state=37;
			break;
		}
		if(yytext[i]=='8')
		{
			state=37;
			break;
		}
		if(yytext[i]=='9')
		{
			state=37;
			break;
		}
	else
	{
		return ERROR;
	}
	break;
	}
	case 3:
	{
		if(i==N-1)
		{
			return IDENTIFIER;
			break;
		}
		if(yytext[i]=='e')
		{
			state=41;
			break;
		}
		if(yytext[i]=='o')
		{
			state=42;
			break;
		}
		if(yytext[i]=='a')
		{
			state=37;
			break;
		}
		if(yytext[i]=='b')
		{
			state=37;
			break;
		}
		if(yytext[i]=='c')
		{
			state=37;
			break;
		}
		if(yytext[i]=='d')
		{
			state=37;
			break;
		}
		if(yytext[i]=='f')
		{
			state=37;
			break;
		}
		if(yytext[i]=='g')
		{
			state=37;
			break;
		}
		if(yytext[i]=='h')
		{
			state=37;
			break;
		}
		if(yytext[i]=='i')
		{
			state=37;
			break;
		}
		if(yytext[i]=='j')
		{
			state=37;
			break;
		}
		if(yytext[i]=='k')
		{
			state=37;
			break;
		}
		if(yytext[i]=='l')
		{
			state=37;
			break;
		}
		if(yytext[i]=='m')
		{
			state=37;
			break;
		}
		if(yytext[i]=='n')
		{
			state=37;
			break;
		}
		if(yytext[i]=='p')
		{
			state=37;
			break;
		}
		if(yytext[i]=='q')
		{
			state=37;
			break;
		}
		if(yytext[i]=='r')
		{
			state=37;
			break;
		}
		if(yytext[i]=='s')
		{
			state=37;
			break;
		}
		if(yytext[i]=='t')
		{
			state=37;

⌨️ 快捷键说明

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