如何告诉bison生成parser.cpp和parser.h文件而不是parser.cpp和parser.hpp?

时间:2013-03-07 07:48:45

标签: bison

我正在使用以下命令

bison.exe -v -d -l -pTPZyy -bTpz -o %ParserDir%\parser.cpp %ParserDir%\parser.y

它输出'Parser.cpp'和'Parser.hpp'。在我们公司,我们没有cpp/hpp cpp/hparser.h文件的约定。如何告诉bison生成parser.cpp和{{1}}文件?

它厌倦了它的文档,但没有找到任何关于此的内容。

2 个答案:

答案 0 :(得分:4)

这适用于最新版本的野牛,虽然我从来没有在Windows上试过它:

bison -v --defines=parser.h --output=parser.cpp parser.y

顺便问一下,为什么要设置文件前缀(-b)?据我所知,只有在未指定显式输出文件时才有效。对于-v文件,您可以使用--report-file=PATH

指定显式文件名

答案 1 :(得分:0)

我认为没有直接的方法,我们将它放在我们的makefile中:

    SomeLang.cpp: SomeLang.yy
        $(BISON) $(YACCFLAGS) -osSomeLang.cpp $< && \
        mv SomeLang.hpp SomeLang.h