заголовок — как я могу контролировать, где Bison помещает код C ++?

Я пытаюсь контролировать, где 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 (который, кажется, обладает некоторой функциональностью для того же).

Я также знаю, что это можно сделать, так как некоторые из примеров в Интернете, кажется, способны достичь этого … Любая помощь?

0

Решение

Простой обходной путь: в файле с именем, которое вы хотите иметь исходный файл, поместите

#include "parser.tab.cxx"

и ничего больше. Аналогично для .hxx файл. (Убедитесь, что ваша система сборки не пытается собрать все .cxx файлы в каталоге.)

1

Другие решения

Других решений пока нет …