【发布时间】:2011-03-07 07:51:25
【问题描述】:
我有多个 C 源文件和各自的头文件。我正在尝试使用编译器解析这些文件,例如ANTLR。 在 ANTLR 解析器语法中,您可以使用
@parser::includes
{#include"a.h"}
您可以开始解析第一个文件,例如
CommonTree tree = Parser.start("a.c");
解析器会解析头文件
a.h
但是如果您有多个源文件,例如如何解析文件b.c, c.c 等等,以及它们各自的头文件。
【问题讨论】:
-
你大错特错了。您放入
@parser::includes部分的内容只会导致这些语句出现在您生成的解析器的源文件中。您的解析器绝不会解析这些头文件。 -
顺便说一句,你和stackoverflow.com/users/628127/user628127不是同一个用户吗?
-
@Bart 感谢您的更正。
-
仍然没有回答我的问题。
-
我建议您先学习 ANTLR,然后再继续。至少它的基础知识。现在就好像你走进了一台你以前从未操作过的机器的驾驶舱,开始按下按钮和拉动杠杆:它不会带来任何好处。