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

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 riceball 的 blog

                            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源程序,如辅助过程或主程序,该部分会被简单的放在文件的末尾。

本文关键:编译器, 解释器, LEX, YACC, 编译原理, 正则表达式, Pascal
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top