如何在c中调用flex解析器

时间:2009-11-19 09:13:00

标签: c yacc lex flex-lexer

如何在c?

中调用flex解析器

2 个答案:

答案 0 :(得分:7)

致电yylex()

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

yyin = fopen("myfile", "r");

答案 1 :(得分:4)

值得注意的是,yylex未在任何地方声明,因此您需要声明它:

int yylex ();

传统上似乎lex或flex的整个输出将通过#include包含在C程序中。

最新版本的Flex包含一个选项,可以通过

在命令行上创建头文件

--header-file

选项,或在脚本中

%option header-file

头文件包含可以使用的东西,例如,要求Flex从内存而不是文件中读取。