Flex与Bison使用指南
1. Flex相关功能介绍
1.1 输入读取与重启
-
input()函数用于开始读取新的输入。而yyrestart(file)函数,其中file是一个标准I/O文件指针,可让扫描器从该文件开始读取内容。
1.2 起始状态
起始状态(也称为起始条件或起始规则)可在定义部分进行声明,用于限制某些规则的作用范围,或者改变词法分析器处理文件部分内容的方式。起始状态分为两种类型:
- 包含型(Inclusive) :使用 %s 声明。例如:
%s INCLMODE
%%
^"#include" { BEGIN INCLMODE; }
<INCLMODE>"<" [^>\n]+">" { ... do something with the name ... }
<INCLMODE>\n { BEGIN INITIAL; /* return to normal */ }
此代码创建了包含型起始状态 INCLMODE 。当遇到 #include 时,进入该状态,对尖括号内的内容进行特殊处理;遇到换行符时,返回初始状态 INITIAL 。
- 排
超级会员免费看
订阅专栏 解锁全文
6607

被折叠的 条评论
为什么被折叠?



