c - 连续两次使用 yylex()

标签 c parsing lex flex-lexer lexical-analysis

所以我的问题很简单,我想之前已经有人回答了,但我无法找到关于它的好线索:我可以解析一次文件,收集一些必要的信息来初始化我的结构,然后解析第二次是“真的”吗?

当我两次调用 yylex() 时,它似乎什么也没做。还是我需要重置文件的读取指针?我是 C 菜鸟所以这可能是一个愚蠢的问题!无论如何,我们将不胜感激。

最佳答案

使用 yyrestart(FILE *in)

但请注意 flex manual建议您应该在第一次构建解析树,而不是像这样的二次扫描器。

关于c - 连续两次使用 yylex(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8379255/

相关文章:

c - 我如何禁用 Lex 中的最大咀嚼规则?

c - 在C程序中构建docker镜像

c++ - 为什么 Linux NETLINK 手册页提供了 C++ 示例而不提供 C 示例?

linux - 如何更正浮点值范围?

c - Lex 中的模式

html - HTML 标签的正则表达式

c - C中的空函数指针是什么意思?

更改正在运行的非特权进程的 uid/gid

python - 使用 Python BeautifulSoup 分隔同一 <td> 标签内的两个文本

java - 如何以正确的方式从 EditText 获取 double ?