1

我正在使用以下命令

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

它输出“Parser.cpp”和“Parser.hpp”。在我们公司,我们没有cpp/hpp对其cpp/h文件的约定。我怎样才能告诉野牛生成一个parser.h和一个parser.cpp文件?

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

4

2 回答 2

5

这适用于最新版本的野牛,尽管我从未在 Windows 上尝试过:

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

顺便问一下,为什么要设置文件前缀 ( -b)?据我所知,这仅在您不指定显式输出文件时才有效。对于-v文件,您可以指定一个明确的文件名--report-file=PATH

于 2013-03-08T01:13:52.597 回答
0

我认为没有直接的方法,我们把它放在我们的makefile中来做到这一点:

    SomeLang.cpp: SomeLang.yy
        $(BISON) $(YACCFLAGS) -osSomeLang.cpp $< && \
        mv SomeLang.hpp SomeLang.h
于 2013-03-07T09:25:35.483 回答