-4

如何在 c 中调用 flex 解析器?

4

2 回答 2

7

通过调用yylex().

默认情况下lex从 读取stdin,如果您希望它从其他流中读取,请分配yyin,例如

yyin = fopen("myfile", "r");
于 2009-11-19T09:36:19.250 回答
4

值得注意的是 yylex 没有在任何地方声明,所以你需要声明它:

int yylex ();

传统上,似乎 lex 或 flex 的整个输出将通过#include 合并到 C 程序中。

Flex 的最新版本包括一个创建头文件的选项,可以在命令行上通过

--header-file

选项,或在脚本中

%option header-file

头文件包含可用于例如要求 Flex 从内存而不是文件中读取的内容。

于 2009-11-20T07:00:57.690 回答