Flex编程:嵌套文件处理与符号表应用
1. 嵌套文件处理
在编程中,处理嵌套的包含文件是一个常见的需求。我们可以使用Flex实现一个简单的程序来处理嵌套包含文件,并打印出每个文件的内容,同时显示每行的行号。
1.1 开始状态与嵌套输入文件
Flex提供了一个强大的特性——开始状态(Start States),它允许我们控制在何时匹配哪些模式。在这个程序中,我们定义了一个名为 IFILE 的开始状态,用于读取 #include 语句中的文件名。
以下是处理包含文件的代码骨架:
/* fb2-3 skeleton for include files */
%option noyywrap
%x IFILE
%{
struct bufstack {
struct bufstack *prev; /* previous entry */
YY_BUFFER_STATE bs; /* saved buffer */
int lineno; /* saved line number */
char *filename; /* name of this file */
FILE *f; /* current file */
} *curbs = 0;
char *curfilename; /* name of current input file
超级会员免费看
订阅专栏 解锁全文
1512

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



