我如何控制bison放置c ++代码的位置?

时间:2012-09-07 15:32:11

标签: c++ header bison

我正在尝试控制bison在c ++模式和定义模式下使用它时输出代码的序言部分(即写出标题)

基本上,我有: -

%{
  // stuff that should go into the parser.tab.hxx
%}
%{
  // stuff that should go into the parser.tab.cxx
%}

我正在使用bison 2.3并且没有轻松访问bison 2.5(它似乎有某种功能来做同样的事情)。

我也知道这可以做到,因为一些在线的exmaples似乎能够实现这一点......任何帮助?

1 个答案:

答案 0 :(得分:1)

简易解决方法:在具有您希望源文件名称的文件中,放置

#include "parser.tab.cxx"

,没有别的。同样适用于.hxx文件。 (确保您的构建系统不会尝试在目录中构建所有.cxx个文件。)