wkhlex.txt

来自「一个flex和bison用法入门的很好的例子。 按照词法分析,语法分析,语义分析」· 文本 代码 · 共 40 行

TXT
40
字号
DIGIT [0-9]
ID    [a-zA-Z][a-zA-Z0-9]*
SPACE " "

%%

{DIGIT}+ {  printf("Find a integer number:%s\n",yytext); }

{DIGIT}+"."{DIGIT}* {printf("Find a float number:%s\n",yytext);}

if|then|begin|end|procedure|function {printf("Find a keyword:%s\n",yytext);}

{ID} {printf("Find an ID :%s\n",yytext);}
"+"|"-"|"*"|"/"|"^" {printf("Find an operator :%s\n",yytext);}
"("|")" {printf("Find an brace :%s\n",yytext);}

[\t]+ {/*Do nothing*/}
"\n" {/*Do nothing*/} 
{SPACE}+ /* do nothing with space*/


.   {printf("Find an unrecognized word :%s\n",yytext);}
%%
int yywrap()
{
 return 1;
}

main(int argc,char **argv)
{
 ++argv,--argc;
if(argc>0)
   yyin=fopen(argv[0],"r"); 
else
  { 
  printf("\nPlease input a line of words :\n");
  yyin=stdin;
 }
yylex(); 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?