手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>delphi>列表

编译器(解释器)编写指南-编写编译器(解释器)的工具-LEX

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

正则表达式(expression) 语句(statement);
注意:语句(statement)必须是单独的一个Pascal语句,最后以分号结尾(如果有多个语句使用Begin...End)。语句(statement)可以分成多行书写,不过后续行必须首先至少留一个空格或tab,用来指示该行是属于上一行的。使用“|”表示该表达式执行的动作和下一个表达式执行的动作(语句)一样。例如,Pascal的注释:
"(*" |
"{" begin
repeat
c := get_char;
case c of
''''}'''' : ;
''''*'''' : begin
c := get_char;
if c='''')'''' then exit else unget_char(c)
end;
#0 : begin
commenteof;
exit;
end;
end;
until false
end;

TP Lex 库单元提供了一系列有用的变量和过程,你可以在你编写的动作(语句)中使用。如:yytext 变量返回匹配的字符串。yyleng 变量返回匹配的字符串长度。

在规则部分中的“%{”与“%}”对,中间插入的Pascal源代码,被当作是动作的局部变量(过程)出现。

辅助过程部分(auxiliary procedures)
辅助过程部分可以包含Pascal源程序,如辅助过程或主程序,该部分会被简单的放在文件的末尾。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!