📄 yylex.cpp
字号:
#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 + -