📄 flexend.txt
字号:
%{
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
extern YYSTYPE yylval;
%}
DIGIT [0-9]
ID [a-zA-Z][a-zA-Z0-9]*
SPACE " "
%%
{DIGIT}+ { yylval.val= atof(yytext);return NUM; }
{DIGIT}+"."{DIGIT}* {yylval.val= atof(yytext);return NUM;}
if|then|begin|end|procedure|function {printf("A keyword:%s\n",yytext); return 3;}
{ID} {
symrec *s;
s = getsym (yytext);
if (s == 0)
s = putsym (yytext, VAR);
yylval.tptr = s;
return s->type;
}
"+" {return ADD;}
"-" {return SUB;}
"*" {return MUL;}
"/" {return DIV;}
"^" {return POW;}
"(" {return LBRO;}
")" {return RBRO;}
"=" {return EQ;}
[\t]+
"\n" {return ENDLINE;}
{SPACE}+ /* do nothing with space*/
. {yylval.tptr = strdup(yytext);return 0;}
%%
int yywrap(){return 1;}
extern symrec *putsym (char *sym_name,intsym_type);
extern symrec *getsym (char *sym_name);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -