编译原理实验软件win_flex_bison使用

本文介绍了如何使用Win-flexbison下载、解压并执行flex命令生成C项目文件,以及如何结合bison进行编译并在dev环境中运行示例程序。

用Win-flex bison

下载网址: Win flex-bison download | SourceForge.net 

解压之后就可以在目录下进入cmd

flex使用命令:

win_flex.exe --wincompat --outfile=a.yy.c a.l

a.l是自己编写的.l文件

a.yy.c是生成的文件名

生成后可以用dev打开直接运行。

联合bision使用:

参考:编译器工具 Flex Bison for Windows 简单入门例子 - 时空地图-TimeGIS-com - 博客园 (cnblogs.com)

的例子

在目录下进入cmd,命令如下:

win_flex --nounistd hello.l
win_bison -d -o y.tab.c hello.y

会生成3个文件

在dev中新建项目,选择C项目,把自动生成的main文件删掉,把刚刚生成的三个文件添加进去,就可以运行了。

例子运行如下:

<think>嗯,用户需要配置win-flex-bison环境,而且提供了几个相关的引用内容。从引用来看,Windows下的配置确实会遇到一些麻烦,比如引用[2]提到资料少、细节含糊的问题。用户可能是个开发者,需要在Windows平台使用flexbison进行词法和语法分析,但不太熟悉Linux环境。 用户明确要求配置方法,但引用里提供了两种不同的路径:一种是直接安装原生Windows版本(引用[1]),另一种是通过MSYS2安装(引用[3])。需要把这两种主流方案都整理出来,因为用户没说清楚具体开发场景。第一种更适合纯Windows命令行开发,第二种可能更适合需要兼容Unix脚本的情况。 要注意操作步骤的准确性。引用[1]的setx命令需要提醒用户注意路径是否正确,引用[3]的MSYS2方案里PATH配置容易出错,这里要强调永久生效的source步骤。用户可能对命令行操作不熟悉,验证安装的部分必须保留flex --version这种直观的检查方式。 故障排除部分要单独强调,因为引用[2][4]都提到Windows下常见问题,比如路径含空格、杀毒软件拦截等。特别要警告中文用户名的问题,这是很多开发者踩过的坑。 最后生成的问题要覆盖用户后续可能的需求:"两种方案区别"帮助选择,"常见错误"预防问题,"IDE集成"提升效率,"替代工具"提供备选方案。这样既解决当前问题,又预判了用户接下来的动作。 </think>以下是Windows平台配置Win-Flex/Bison环境的详细步骤,整合了主流可靠方案及注意事项: ### 方案一:原生Windows安装(推荐) 1. **下载安装包** - Flex-Win:访问 GitHub [winflexbison](https://github.com/lexxmark/winflexbison/releases) 下载最新 `.exe` 安装包 - Bison-Win:在[相同页面](https://github.com/lexxmark/winflexbison/releases)下载对应版本 2. **安装过程** - 双击安装包,按提示完成安装(**记录安装路径**,默认为 `C:\Program Files\win-flex-bison`) 3. **环境变量配置** ```cmd :: 管理员权限打开CMD,按实际路径修改 setx PATH "%PATH%;C:\Program Files\win-flex-bison;" ``` > 注:若路径含空格需用双引号包裹完整路径[^1] 4. **验证安装** ```cmd flex --version # 应返回类似 "flex 2.6.4" 的信息 bison --version # 应返回类似 "bison (GNU Bison) 3.8.2" ``` --- ### 方案二:MSYS2环境安装(适合混合开发) 1. **安装MSYS2** 从[官网](https://www.msys2.org/)下载安装器,按默认步骤完成 2. **安装Flex/Bison** ```bash pacman -S mingw-w64-x86_64-flex mingw-w64-x86_64-bison ``` 3. **添加环境变量** 编辑系统环境变量,将MSYS2二进制目录加入PATH: ``` C:\msys64\mingw64\bin ``` --- ### ⚠️ 故障排除 1. **命令未识别** - 检查PATH是否包含**实际安装路径** - 重启终端或执行 `refreshenv` (Windows 10+) 2. **路径含空格错误** 在代码编辑器(如VS Code)中配置任务时使用短路径: ```json "args": ["${file}", "-o", "C:/PROGRA~1/win-flex-bison/flex.exe"] ``` 3. **中文用户名问题** 避免将工具安装在含中文/空格的用户目录下,建议选择 `C:\tools` 等纯英文路径[^4] > 提示:原生Windows方案更轻量,MSYS2方案兼容Unix工具链。开发IDE(如VS Code)需在配置中指定完整工具路径[^2]。 ---
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值