flex&bison
1.flex结构规范 flex程序由三部分构成:定义部分、规则部分、和用户子例程(subroutine) 。。。定义部分。。。 %% 。。。规则部分。。。 %% 。。。用户子例程。。。 这三个部分通过由两个百分号组成的行来分割。前两个部分是必需的,但它们的内容可以为空。第三部分和前面的%%行可以省略。 ? 定义部分: 定义部分包含选项、文字块、定义、开始条件、和转换。空白字符开始的行将被原样拷贝到C文件中。 ? 规则部分: 规则部分包括模式行和C代码。以空白字符开始或者处于%{和%}之间的内容被认为是C代码,它们会原封不动地拷贝到yylex()中。 ? 用户子例程 用户子例程的内容将被flex原样拷贝到C文件。这个部分通常包括规则中需要调用的例程。如果你重定义了yywrap(),该例程的新版本或者相关的支撑例程会在这儿出现。 ? BEGIN 宏BEGIN切换起始状态。你通常在特定模式的动作代码里调用它,如下所示: BEGIN statename; 词法分析器从状态0开始,该状态也被成为INITIAL。其他所有状态必须在定义部分通过%s或者%x行来命名 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |