我的C功能在Bison?

时间:2011-12-27 17:55:37

标签: c bison

我有一个C函数,我想在我的.y野牛文件中使用。我怎么做?我在哪里放置我的函数代码?

由于

1 个答案:

答案 0 :(得分:5)

在您的.y文件中,您可以执行以下操作:

%{
#include "types.h"
#include "interface.h"
void doStuff(void);    
%}

#include一个头文件或在那里声明它。

这意味着如果interface.h声明了add_colouradd_colourd函数,您可以稍后执行以下操作:

Colour:
          ColourSpace { add_colour($1); }
        | STAR ColourSpace { add_colourd($2); }

从生成的代码中调用它们。

如果您想在生成的代码中实现它们,可以在文件末尾使用%%并执行以下操作:

%%
void doStuff() {
  // Do some stuff!
}

所以你也可以在.y文件中写下“普通的旧C”。