标题包含系统如何在bison文件中运行?

时间:2015-11-30 22:33:52

标签: c++ bison

我正在尝试使用Flex& amp;野牛,现在,我正在建立AST。

我已经在头文件和源文件中编写了所有类(非常难看,但是当我没有这样做时我有包含错误),因此我将它包含在我的.y野牛文件中。

当我从我的文件中指定具有类类型的%union字段的类型时,问题就出现了。 当我写MyClassType field;时,编译器给我错误,因为我试图给字段一个抽象类类型(这是正常的,这是我期望编译器做的),当我写作时MyClassType* field;(我真正想做的),编译器说他不知道一个名为MyClassType的类型。

我觉得很奇怪的是,他知道一种类型的存在,但不存在指向这种类型的指针。 此外,我在语法规则中创建了我的类的实例,并且我没有任何错误(尝试在%union中没有我的类的字段,因此一个错误不会隐藏另一个错误)。所以只有在%union中才能使用我的类。

在我的.y文件中,我的类的标题包含在第一个%{%}之间,%union在前一个块之后声明。 我为flex / bison项目单独编译了我的类的源文件,我没有任何错误。

所以,我想要了解的是为什么我不能在野牛的%联盟中使用我的课程?

提前感谢您的回答,

亲切地说,Jaxon

0 个答案:

没有答案