📄 get_token.c
字号:
/* get_token.*/
int get_token(void)
{
register char * temp;
token_type = 0; tok = 0;
temp = token;
/* skip over white space */
while(iswhite(*prog)&&*prog) ++prog;
if(*prog == '\r')
{
++prog;
++prog;
/* skip over white space */
while(iswhite(*prog)&&*prog) ++prog;
}
/* end of the file */
if(*prog == '\0')
{
*token = '\0';
tok = FINISHED;
return (token_type = DELIMITER);
}
/* block delimiters */
if(strchr("{}",*prog))
{
*temp = *prog;
temp++;
*temp = '\0';
prog++;
return (token_type = BLOCK);
}
/* look for comments */
if(*prog == '/')
{
if(*(prog+1)=='*')
{
prog+=2;
do
{
while(*prog!='*')prog++;
prog++;
}while (*prog!='/');
prog++;
}
}
/* is or not mitht be a relational operator*/
if(strch("!<>=", *prog))
{
swith(*prog)
{
case '=':
if (*(prog+1)=='=')
{
prog++;prog++;
*temp = EQ;
temp++; *temp =EQ; temp++;
*temp = '\0';
}
break;
case '!':
if(*(prog+1)=='=')
{
prog++;prog++;
*temp == NE;
temp++; *temp = NE; temp++;
*temp = '\0';
}
break;
case '<':
if(*(prog++)=='=')
{
prog++;prog++;
*temp=LE;temp++;*temp=LE;
}
else
{
prog++;
*temp=LT;
}
temp++;
*temp='\0';
break;
case '>':
if(*(prog++)=='=')
{
prog++;prog++;
*temp=GE;temp++;*temp=GE;
}
else
{
prog++;
*temp=GT;
}
temp++;
*temp='\0';
break;
}
if(*token) return (token_type = DELIMITER);
}
/* delimiter */
if(strchr("+-*^/%=;",*prog))
{
*temp =*prog;
prog++; /*advance to next positon*/
temp++;
*temp = '\0';
return(token_type = delimiter);
}
if
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -