📄 la.cpp
字号:
get_word();
type=0x110;
output();
line_num++;
break;
}
else if(ch>=48 && ch<=57)
{
Number();
break;
}
else
{
F=B;
get_word();
type=0x11a;
output();
backflag=1;
line_num++;
state=0;
break;
}
case '-':
B=F=lpos-1;
get_char();
if(ch=='-')
{
state=0;
F=lpos-1;
get_word();
type=0x11c;
output();
line_num++;
break;
}
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x110;
output();
line_num++;
break;
}
else if(ch>=48 && ch<=57)
{
Number();
break;
}
else
{
F=B;
get_word();
type=0x11a;
output();
backflag=1;
line_num++;
state=0;
break;
}
case '&':
B=F=lpos-1;
get_char();
if(ch=='&')
{
state=0;
F=lpos-1;
get_word();
type=0x113;
output();
line_num++;
break;
}
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x110;
output();
line_num++;
break;
}
else
{
F=B;
get_word();
type=0x116;
output();
backflag=1;
line_num++;
state=0;
break;
}
case '=':
B=F=lpos-1;
get_char();
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x110;
output();
line_num++;
break;
}
else
{
F=B;
get_word();
type=0x116;
output();
backflag=1;
line_num++;
state=0;
break;
}
case '~':
B=F=lpos-1;
get_word();
type=0x11c;
output();
line_num++;
state=0;
break;
case '|':
B=F=lpos-1;
get_char();
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x110;
output();
line_num++;
break;
}
if(ch=='|')
{
state=0;
F=lpos-1;
get_word();
type=0x112;
output();
line_num++;
break;
}
else
{
F=B;
get_word();
type=0x114;
output();
backflag=1;
line_num++;
state=0;
break;
}
case '^':
B=F=lpos-1;
get_char();
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x110;
output();
line_num++;
break;
}
else
{
F=B;
get_word();
type=0x115;
output();
backflag=1;
line_num++;
state=0;
break;
}
case '?':
case ':':
B=F=lpos-1;
get_word();
type=0x111;
output();
line_num++;
state=0;
break;
case '>':
B=F=lpos-1;
get_char();
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x118;
output();
line_num++;
break;
}
else if(ch=='>')
{
get_char();
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x110;
output();
line_num++;
break;
}
else if(ch=='>')
{
get_char();
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x110;
output();
line_num++;
break;
}
else
{
backflag=1;
F=lpos-2;
get_word();
type=0x119;
output();
line_num++;
state=0;
break;
}
}
else
{
backflag=1;
F=lpos-2;
get_word();
type=0x118;
output();
line_num++;
state=0;
break;
}
}
else
{
F=B;
get_word();
type=0x118;
output();
backflag=1;
line_num++;
state=0;
break;
}
case '<':
B=F=lpos-1;
get_char();
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x118;
output();
line_num++;
break;
}
else if(ch=='<')
{
get_char();
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x110;
output();
line_num++;
break;
}
else if(ch=='<')
{
get_char();
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x110;
output();
line_num++;
break;
}
else
{
backflag=1;
F=lpos-2;
get_word();
type=0x119;
output();
line_num++;
state=0;
break;
}
}
else
{
backflag=1;
F=lpos-2;
get_word();
type=0x118;
output();
line_num++;
state=0;
break;
}
}
else
{
F=B;
get_word();
type=0x118;
output();
backflag=1;
line_num++;
state=0;
break;
}
case '%':
case '*':
B=F=lpos-1;
get_char();
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x110;
output();
line_num++;
break;
}
else
{
F=B;
get_word();
type=0x11b;
output();
backflag=1;
line_num++;
state=0;
break;
}
case '!':
B=F=lpos-1;
get_char();
if(ch=='=')
{
state=0;
F=lpos-1;
get_word();
type=0x117;
output();
line_num++;
break;
}
else
{
F=B;
get_word();
type=0x11c;
output();
line_num++;
backflag=1;
state=0;
break;
}
case '\n':
line_id++;
word_num+=line_num;
printf("Line %2d : %d words\n",line_id,line_num);
line_num=0;
state=0;
break;
default:break;
}
}
default:break;
}
if(backflag!=1)get_char();
}
if(ch==EOF)
{
line_id++;
word_num+=line_num;
printf("Line %2d : %d\n",line_id,line_num);
}
printf("\nTotal:%d lines, %d words, %d errors\n",line_id,word_num,errornum);
}
int main()
{
printf("Please input the test file's name : ");
scanf("%s",&filename);
if((fin=fopen(filename,"r"))==0)
{
printf("error!\n");
}
printf("Please input the object file's name : ");
scanf("%s",&fileout);
if((fout=fopen(fileout,"w"))==NULL)
{
printf("\ncan not open file!\n");
}
scanner();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -