《Flex与Bison编程实战:C语言交叉引用器与语法解析器》
1. C语言交叉引用器概述
在处理C语言代码时,交叉引用器是一个非常实用的工具,它能帮助我们追踪代码中符号的定义和引用情况。下面我们将详细介绍一个较为真实的C语言交叉引用器的实现。
2. 交叉引用器的前端部分
- 选项设置 :
/* fb2-5 C cross-ref */
%option noyywrap nodefault yylineno
%x COMMENT
%x IFILE
这里的选项和之前的索引程序类似,但没有大小写折叠,因为C语言区分大小写。 COMMENT 和 IFILE 是两个独占的起始状态,分别用于跳过C注释和处理 #include 语句。
- 命名模式 :
/* Universal Character Name */
UCN (\\u[0-9a-fA-F]{4}|\\U[0-9a-fA-F]{8})
/* float exponent */
EXP ([Ee][-+]?[0-9]+)
/* integer length */
ILEN ([Uu](L|l|LL|ll)?|(L|l|LL|ll)[Uu]?)
这些命名模式用于后续规则部分。
超级会员免费看
订阅专栏 解锁全文
5

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



