📄 expression3.l
字号:
%{ {* 下面的例子改编自lex和yacc第二版 识别简单算术表达式的lex 用法:Lex Expression3 ExpressionL3 *}unit ExpressionL3;interface uses SysUtils, LexLib, Yacclib;const NUMBER=258; NAME=257;//注意这里的token必须是hard-coding的常数,yacc生成的和lex生成的是不匹配的function yylex: Integer;implementationuses ExpressionY3;%}%%([0-9]+|([0-9]*\.[0-9]+)([eE][-+]?[0-9]+)?) begin yylval.yyreal:=StrToFloat(yytext); return(NUMBER); end;[ \t] ; {* 忽略空格 *}[a-z] begin yylval.yyinteger := ord(yytext[1]) - ord('a'); return(NAME); end;"$" return(0); {* 输入结束 *}\n |. returnc(yytext[1]);%%end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -