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

📄 expression4.l

📁 语法分析 语法分析
💻 L
字号:
%{ {*    下面的例子改编自lex和yacc第二版    识别简单算术表达式的lex    用法:Lex Expression4 ExpressionL4 *}unit ExpressionL4;interface uses  SysUtils, LexLib, Yacclib;const  NUMBER=258;  NAME=257;//注意这里的token必须是hard-coding的常数,yacc生成的和lex生成的是不匹配的function yylex: Integer;type  TOneParamFunc = function (argc: extended): Extended;  TSymtab=class(TObject)    Name:string;    Value:double;    FuncPtr:TOneParamFunc;//函数指针  end;var  sp:TSymtab;implementationuses ExpressionY4;%}%%([0-9]+|([0-9]*\.[0-9]+)([eE][-+]?[0-9]+)?) begin                                              yylval.yyreal := StrToFloat(yytext);                                              return(NUMBER);                                            end;[ \t]	;		 {/* 忽略空格 */}[A-Za-z][A-Za-z0-9]*	begin	                          //返回一个符号对象                     	  sp := symlook(yytext);                          yylval.yyinteger := integer(sp);                          return(NAME);	                end;"$"	return(0);\n	|.	returnc(yytext[1]);%%end.

⌨️ 快捷键说明

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