📄 fenxiqi.cpp
字号:
row_total[row]++;
total++;
}
}
else if(in=='l' || in=='L'){
bsf[b++]=in;
bsf[b]='\0';
b=0;
fpout<<bsf<<' '<<"0x107(整型)"<<endl;
state=0;
row_total[row]++;
total++;
}
else{
fpin.putback(in);
bsf[b]='\0';
b=0;
fpout<<bsf<<' '<<"0x107(整型)"<<endl;
state=0;
row_total[row]++;
total++;
}
}
break;
case 102:
fpout<<"-="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 103:
fpout<<"--"<<' '<<"0x11c(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 104:
fpin.putback(in);
fpout<<"-"<<' '<<"0x11a(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 105:
if(in=='\''){
fpout<<"\'空\'"<<' '<<"0x106(字符型)"<<endl;
state=0;
row_total[row]++;
total++;
}
else if(in=='\\'){
in=fpin.get();
out1=in;
in=fpin.get();
if(in=='\''){
if(out1=='\'' || out1=='\\' || out1=='r' || out1=='n'|| out1=='f'||
out1=='t'|| out1=='b'){
fpout<<'\\'<<out1<<' '<<"0x106(转义型)"<<endl;
state=0;
row_total[row]++;
total++;
}
else{
printf("Error! line=%d,content=\\%c.\n",row+1,out1);
fpout<<'\\'<<out1<<' '<<"0x100(错误的单词)"<<endl;
state=0;
}
}
else{
printf("Error! line=%d,content=\\%c.\n",row+1,out1);
fpout<<'\\'<<out1<<' '<<"0x100(错误的单词)"<<endl;
state=0;
}
}
else{
out2=in;
in=fpin.get();
if(in=='\''){
fpout<<out2<<' '<<"0x106(字符型)"<<endl;
state=0;
row_total[row]++;
total++;
}
else{
if(out2=='\n'){
printf("Error! line=%d,content=%c%s.\n",row+1,'\'',name1);
fpout<<'\''<<name1<<' '<<"0x100(错误的单词)"<<endl;
}
else{
printf("Error! line=%d,content=\'%c.\n",row+1,out2);
fpout<<'\''<<out2<<' '<<"0x100(错误的单词)"<<endl;
}
state=0;
}
}
break;
case 106:
b=0;
while(in!='\"'){
bsf[b++]=in;
in=fpin.get();
if(in==-1 || fpin.eof())
break;
}
bsf[b]='\0';
len=strlen(bsf);
for(i=0,b=0;b<len;i++,b++){
if(bsf[b]=='\\'){
out1=bsf[b+1];
b++;
if(out1=='\'' || out1=='\\' || out1=='r' || out1=='n'|| out1=='f'||
out1=='t'|| out1=='b'){
fpout<<'\\'<<out1<<' '<<"0x106(转义型)"<<endl;
state=0;
row_total[row]++;
total++;
}
else{
printf("Error! line=%d,content=\\%c.\n",row+1,out1);
fpout<<'\\'<<out1<<' '<<"0x100(错误的单词)"<<endl;
state=0;
}
}
}
fpout<<bsf<<' '<<"0x109(字符串)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 107:
out1=in;
if(out1=='\'' || out1=='\\' || out1=='r' || out1=='n'|| out1=='f'||
out1=='t'|| out1=='b'){
fpout<<'\\'<<out1<<' '<<"0x106(转义型)"<<endl;
state=0;
row_total[row]++;
total++;
}
else{
printf("Error! line=%d,content=\\%c.\n",row+1,out1);
fpout<<'\\'<<out1<<' '<<"0x100(错误的单词)"<<endl;
state=0;
}
break;
case 108:
fpout<<'{'<<' '<<"0x121(界限符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 109:
fpout<<'}'<<' '<<"0x121(界限符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 110:
fpout<<'('<<' '<<"0x11d(界限符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 111:
fpout<<')'<<' '<<"0x11d(界限符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 112:
fpout<<'['<<' '<<"0x11d(界限符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 113:
fpout<<']'<<' '<<"0x11d(界限符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 114:
fpout<<';'<<' '<<"0x122(界限符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 115:
fpout<<'.'<<' '<<"0x11d(界限符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 116:
fpout<<','<<' '<<"0x120(界限符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 117:
fpout<<"\'空格\'"<<' '<<"0x102(空格)"<<endl;
state=0;
break;
case 118:
if(judge2){
judge2=0;
printf("Error! line=%d,content=?.\n",row+1);
fpout<<'?'<<' '<<"0x100(错误的单词)"<<endl;
}
row++;
state=0;
break;
case 119:
fpout<<"+="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 120:
fpout<<"++"<<' '<<"0x11c(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 121:
fpin.putback(in);
fpout<<"+"<<' '<<"0x11a(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 122:
fpout<<"&="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 123:
fpout<<"&&"<<' '<<"0x113(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 124:
fpin.putback(in);
fpout<<"&"<<' '<<"0x116(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 125:
fpout<<"=="<<' '<<"0x117(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 126:
fpin.putback(in);
fpout<<"="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 127:
fpout<<"~"<<' '<<"0x11c(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 128:
fpout<<"|="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 129:
fpout<<"||"<<' '<<"0x112(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 130:
fpin.putback(in);
fpout<<"|"<<' '<<"0x114(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 131:
fpout<<"^="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 132:
fpin.putback(in);
fpout<<"^"<<' '<<"0x115(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 133:
judge2=1;
state=0;
break;
case 134:
fpout<<"/="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 135:
in=fpin.get();
do{
out1=in;
in=fpin.get();
if(in==-1 || fpin.eof())
break;
}while(out1!='*' || in!='/');
fpout<<"/*...*/"<<' '<<"0x101(注释符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 136:
while(in!='\n'){
in=fpin.get();
if(in==-1 || fpin.eof())
break;
}
fpin.putback(in);
fpout<<"//"<<' '<<"0x101(注释符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 137:
fpin.putback(in);
fpout<<"/"<<' '<<"0x11b(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 138:
fpout<<">>="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 139:
fpout<<">>>="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 140:
fpin.putback(in);
fpout<<">>>"<<' '<<"0x119(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 141:
fpin.putback(in);
fpout<<">>"<<' '<<"0x119(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 142:
fpout<<">="<<' '<<"0x118(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 143:
fpin.putback(in);
fpout<<">"<<' '<<"0x118(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 144:
fpout<<"<="<<' '<<"0x118(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 145:
fpout<<"<<="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 146:
fpin.putback(in);
fpout<<"<<"<<' '<<"0x119(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 147:
fpin.putback(in);
fpout<<"<"<<' '<<"0x118(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 148:
fpout<<"%="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 149:
fpin.putback(in);
fpout<<"%"<<' '<<"0x11b(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 150:
fpout<<"*="<<' '<<"0x110(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 151:
fpin.putback(in);
fpout<<"*"<<' '<<"0x11b(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 152:
fpout<<"!="<<' '<<"0x117(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 153:
fpin.putback(in);
fpout<<"!"<<' '<<"0x11c(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
break;
case 154:
if(judge2){
fpout<<"?:"<<' '<<"0x111(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
}
else{
fpout<<":"<<' '<<"0x111(运算符)"<<endl;
state=0;
row_total[row]++;
total++;
}
break;
case 155:
fpout<<"\\t"<<' '<<"0x102(制表符)"<<endl;
state=0;
break;
}
}
exit: printf("total line=%d,total word=%d.\n",row+1,total);
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -