📄 1111.txt
字号:
#include<stdio.h>
#define keylen 10
#define identlen 10
void main()
{
char tstring[identlen];
struct outreco{int ty;
int point;
}outtoken;
int cip,ip,pint,i,j,l,m,errorx,num,b,cp;
char charl;
int ci[10];
char k[keylen][keylen];
char id[100][identlen];
char token[identlen];
char instring[10];
printf("input key:\n");
for(i=0;i<identlen;i++)
{scanf("%s",k[i]);}
printf("!!!!!!!\n");
ip=0;cp=0;
while((charl=getchar())==' ') {}
while(charl!='#')
{while(charl==' ') {charl=getchar();}
if(64<charl<91||96<charl<123) /*以字符开头*/
{m=0;
while(64<charl<91||96<charl<123||48<charl<58) /*处理标识符*/
{token[m]=charl;m++;charl=getchar();} // 取字符串
l=0;b=0;
while(l<keylen&&b==0) {b=1;i=0;
while (i<identlen&&b==1)
{if(k[l][i]==token[i]) i++;
else b=0;
}
if(b==0) l=l+1;
}
if(l<keylen)
{outtoken.ty=1;outtoken.point=l;printf("%d %d",outtoken.ty,outtoken.point);}
else
{l=0;
b=0;
while(l<ip&&b==0 )
{
b=1;
i=0;
while(i<identlen&&b==1) // 判断是否在以有的标示符数组中,即是否出现
{ if (id[l][i]=token[i])
i=i+1;
else b=0;
}
if(b==0) l=l+1;
}
if(l>=ip)
{ip=ip+1;
for(m=0;m<identlen;m++)
{id[ip][m]=token[m];}
outtoken.ty=6;
outtoken.point=l;
printf("%d %d",outtoken.ty,outtoken.point);
}
}
}
else if(48<charl<58)
{m=0;i=0;j=0;
while(48<charl<58)
{token[m]=charl;
charl=getchar();
j=(int)charl-48;
for(b=0;b<=m;b++) {j=10*j;}
i=j+i;
m++;
}
l=0;
while(l<cp&&i!=ci[l]) //判断是否在以有的常数数组中,即是否出现过
l=l+1;
if(l>cp) // 没出现过
{ci[l]=i;cp++;} // 放入
}
/* else if(39<charl<46||charl==47||)
{switch(char1)
case',' outtoken.ty:='2';
outtoken.point:=0;
case';' outtoken.ty:='2';
outtoken.point:=1;
case'.' outtoken.ty:='2';
outtoken.point:=2;
case'=' outtoken.ty:='2';
outtoken.point:=3;
case'(' outtoken.ty:='2';
outtoken.point:=4;
case')' outtoken.ty:='2';
outtoken.point:=5;
case'<' outtoken.ty:='4';
outtoken.point:=0;
case'<=' outtoken.ty:='4';
outtoken.point:=1;
case'=' outtoken.ty:='4';
outtoken.point:=2;
case'>' outtoken.ty:='4';
outtoken.point:=3;
case'>=' outtoken.ty:='4';
outtoken.point:=4;
case'<>' outtoken.ty:='4';
outtoken.point:=5;
case'+' outtoken.ty:='5';
outtoken.point:=0;
case'-' outtoken.ty:='5';
outtoken.point:=1;
case'*' outtoken.ty:='5';
outtoken.point:=2;
case'/' outtoken.ty:='5';
outtoken.point:=3;
} */
else printf("error!\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -