我正在使用以下命令
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
文件?
它厌倦了它的文档,但没有找到任何关于此的内容。
我正在使用以下命令
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
文件?
它厌倦了它的文档,但没有找到任何关于此的内容。
这适用于最新版本的野牛,尽管我从未在 Windows 上尝试过:
bison -v --defines=parser.h --output=parser.cpp parser.y
顺便问一下,为什么要设置文件前缀 ( -b
)?据我所知,这仅在您不指定显式输出文件时才有效。对于-v
文件,您可以指定一个明确的文件名--report-file=PATH
我认为没有直接的方法,我们把它放在我们的makefile中来做到这一点:
SomeLang.cpp: SomeLang.yy
$(BISON) $(YACCFLAGS) -osSomeLang.cpp $< && \
mv SomeLang.hpp SomeLang.h