如何告诉bison生成parser.cpp和parser.h文件,而不是parser.cpp和parser.hpp?
我使用以下命令如何告诉bison生成parser.cpp和parser.h文件,而不是parser.cpp和parser.hpp?,bison,Bison,我使用以下命令 bison.exe-v-d-l-pTPZyy-bTpz-o%ParserDir%\parser.cpp%ParserDir%\parser.y 它输出'Parser.cpp'和'Parser.hpp'。我们公司没有关于cpp/hppitscpp/h文件的约定。如何让bison生成parser.h和parser.cpp文件 它厌倦了它的文档,但没有找到任何关于这方面的东西 我认为没有直接的方法,我们把它放在makefile中: SomeLang.cpp: SomeLang.
bison.exe-v-d-l-pTPZyy-bTpz-o%ParserDir%\parser.cpp%ParserDir%\parser.y
它输出'Parser.cpp'和'Parser.hpp'。我们公司没有关于cpp/hpp
itscpp/h
文件的约定。如何让bison生成parser.h
和parser.cpp
文件
它厌倦了它的文档,但没有找到任何关于这方面的东西 我认为没有直接的方法,我们把它放在makefile中:
SomeLang.cpp: SomeLang.yy
$(BISON) $(YACCFLAGS) -osSomeLang.cpp $< && \
mv SomeLang.hpp SomeLang.h
SomeLang.cpp:SomeLang.yy
$(野牛)$(YACCFLAGS)-osSomeLang.cpp$<&&\
mv SomeLang.hpp SomeLang.h
我认为没有直接的方法,我们把它放在makefile中:
SomeLang.cpp: SomeLang.yy
$(BISON) $(YACCFLAGS) -osSomeLang.cpp $< && \
mv SomeLang.hpp SomeLang.h
SomeLang.cpp:SomeLang.yy
$(野牛)$(YACCFLAGS)-osSomeLang.cpp$<&&\
mv SomeLang.hpp SomeLang.h
这适用于bison的最新版本,尽管我从未在Windows上尝试过:
bison -v --defines=parser.h --output=parser.cpp parser.y
顺便问一下,为什么要设置文件前缀(
-b
)?据我所知,这只有在不指定显式输出文件的情况下才有效。对于-v
文件,您可以使用--report file=PATH
指定一个显式文件名,这适用于bison的最新版本,尽管我从未在Windows上尝试过:
bison -v --defines=parser.h --output=parser.cpp parser.y
顺便问一下,为什么要设置文件前缀(-b
)?据我所知,这只有在不指定显式输出文件的情况下才有效。对于-v
文件,可以使用--report file=PATH