?? scaner.h
字號:
char prog[80],token[8]; //源程序與目標(biāo)代碼
char ch;
int syn,p,m,n,sum; //p->prog,m->token
char *rwtab[6]={"begin","if","then","while","do","end"}; //關(guān)鍵字scaner()
scaner()
{
for(n=0;n<8;n++) token[n]=NULL;
m=0;
ch=prog[p++];
while(ch==' ') ch=prog[p++];
if(ch>='a'&&ch<='z')
{
while((ch>='a'&&ch<'z')||(ch>='0'&&ch<='9'))
{
token[m++]=ch;
ch=prog[p++];
}
token[m++]='\0';
p--;
syn=10;
for(n=0;n<6;n++)
if(strcmp(token,rwtab[n])==0)
{
syn=n+1;
break;
}
}
else if(ch>='0'&&ch<='9')
{
sum=0;
while(ch>='0'&&ch<='9')
{
sum=sum*10+ch-'0';
ch=prog[p++];
}
p--;
syn=11;
}
else
{
switch(ch)
{
case '<':m=0;token[m++]=ch;
ch=prog[p++];
if(ch=='>')
{
syn=21;
token[m++]=ch;
}
else if(ch=='=')
{
syn=22;
token[m++]=ch;
}
else
{
syn=20;
p--;
}
break;
case '>':m=0;token[m++]=ch;
ch=prog[p++];
if(ch=='=')
{
syn=24;
token[m++]=ch;
}
else
{
syn=23;
p--;
}
break;
case ':':m=0;token[m++]=ch;
ch=prog[p++];;
if(ch=='=')
{
syn=18;
token[m++]=18;
}
else
{
syn=17;
p--;
}
break;
case '+':syn=13;token[0]=ch;break;
case '-':syn=14;token[0]=ch;break;
case '*':syn=15;token[0]=ch;break;
case '/':syn=16;token[0]=ch;break;
case ';':syn=26;token[0]=ch;break;
case '#':syn=0;token[0]=ch;break;
default:syn=-1;
}
}
return 0;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -