⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 get_token.c

📁 little c源代码
💻 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 + -