windows 下 bison 命令行调用

本文指导如何在Visual Studio环境下集成并使用bison工具,通过新建批处理文件、配置外部工具及直接调用bison语法文件实现解析流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标:将bison集成到Visual studio中

做法:以cygwin下bison为例。

1.新建一个批处理文件 bison.bat,内如如下:

@set bison_dir="E:/SDK/cygwin/bin"
@set Path=Path;%bison_dir%
@REM bison command line
@REM Usage
@REM bison.bat %grammer_file_name
@REM
@REM bison parameters used in our command line
@REM -l don't generate `#line' directives
@REM --report=all complete report information
@REM --report-file=FILE write report to FILE
@REM --graph[=FILE] output a graph of the automaton
@REM
@REM call bison
@echo ">>>>>> bison parse begin... >>>>>> "
bison.exe -l --report=all --report-file=%1.report %1
@echo "<<<<<< bison parse end >>>>>> "

bison.bat接收一个参数,为bison语法描述文件( *.y )

除了生成源代码文件外,同时会生成最完整报告,包括状态机描述文件,移进规约冲突信息。

2. 以VS2008为例, 选择 “工具”-> “外部工具”,新建外部工具如下:

标题:bison

命令: C:/cygwin/bin/bison.bat

参数:($(ItemPath)

初始目录:$(ItemFileName)

勾选”使用输出窗口“

bison_vc9

3. 打开bison语法文件,选择 “工具”-> ”bison“ 进行调用。

正常情况下你将看到在VS2008 输出窗口中如下打印:

">>>>>> bison parse begin... >>>>>> "

e:/Work/lexertl/examples/example_work_with_bison>bison.exe -l --report=all --report-file="calc++-parser.yy".report "calc++-parser.yy"
"<<<<<< bison parse end >>>>>> "

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值