如何在c?
中调用flex解析器答案 0 :(得分:7)
致电yylex()
。
默认情况下lex
从stdin
读取,如果您希望从其他流中读取,请分配yyin
,例如
yyin = fopen("myfile", "r");
答案 1 :(得分:4)
值得注意的是,yylex未在任何地方声明,因此您需要声明它:
int yylex ();
传统上似乎lex或flex的整个输出将通过#include包含在C程序中。
最新版本的Flex包含一个选项,可以通过
在命令行上创建头文件 --header-file
选项,或在脚本中
%option header-file
头文件包含可以使用的东西,例如,要求Flex从内存而不是文件中读取。