exprlex.l
来自「编译原理基础」· L 代码 · 共 29 行
L
29 行
(* Lexical analyzer for the sample Yacc program in Expr.y. *)
L [A-Za-z]
D [0-9]
%%
var result : integer;
{D}+(\.{D}+)?([Ee][+-]?{D}+)? begin
val(yytext, yylval.yyReal, result);
if result=0 then
return(NUM)
else
return(ILLEGAL)
end;
{L} begin
yylval.yyInteger := ord(upCase(yytext[1]))-
ord('A')+1;
return(ID)
end;
" " ;
. |
\n returnc(yytext[1]);
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?