当前位置:首页 > 词法分析器
cout<<\
else if(bring[i]=='1') cout<<\
else if(bring[i]=='2') cout<<\
else if(bring[i]=='3') cout<<\
else if(bring[i]=='4') cout<<\
else if(bring[i]=='5') cout<<\
else if(bring[i]=='6') cout<<\
else if(bring[i]=='7') cout<<\
else if(bring[i]=='8') cout<<\
else if(bring[i]=='9') cout<<\
else if(bring[i]=='A') cout<<\
else if(bring[i]=='B') cout<<\
else if(bring[i]=='C') cout<<\
else if(bring[i]=='D') cout<<\
else if(bring[i]=='E') cout<<\
else cout<<\ } }
void Sao_Miao() {
for(n=0;n<9;n++) {
bring[n]=NULL; } ch=prog[p]; p++;
while(ch==' ') { ch=prog[p]; p++; }
if(ch=='\\n') hanghao++;
if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||ch=='_') //可能是标示符或者变量名
{ m=0; int flag3=0;
while((ch>='0'&&ch<='9')||(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')||ch=='_'||ch=='@'||ch=='$'||ch=='^'||ch=='&'||ch=='~'||ch=='?')
{
bring[m]=ch; m++; ch=prog[p]; p++;
if(ch=='@'||ch=='$'||ch=='^'||ch=='&'||ch=='~'||ch=='?')
flag3=1; }
bring[m]='\\0'; p--; Lei_Xing=6002; if(flag3==1) Lei_Xing=3333;//非法字符 char temp[20];
for(n=0;n<8;n++) //将识别出来的字符和已定义的标示符作比较,
{
if(strcmp(bring,keyword[n])==0) { Lei_Xing=6001; break; }
for(int i=0;i<=m;i++) {
if(bring[i]>='A'&&bring[i]<='Z') temp[i]=bring[i]+32; else
temp[i]=bring[i]; }
if(strcmp(temp,keyword[n])==0) {
Lei_Xing=1111;//大小写拼写错误 break; } } int xx=m;
if(xx>8)//判断是否超出8位字符 { Lei_Xing=4444; } }
else if((ch>='0'&&ch<='9')) //数字,十六进制只能以数字开头, {
if(ch=='0') { m=0;
bring[m++]=ch; ch=prog[p++];
if(ch=='X') //数字,识别十六进制 {
bring[m++]=ch; ch=prog[p++];
while((ch>='0'&&ch<='9')||(ch>='A'&&ch<='F')) {
bring[m++]=ch;
共分享92篇相关文档