在VC6.0/VC2008中高效地使用flex & bison
2013-11-26 23:12
246 查看
由于 目前的主要工作是IDE,而IDE中主要负责Compiler & Assembler部分,这两部分中都会用到flex & bison(Lex & Yacc),所以通常的做法是在相应工程目录(如:工程为SDCC Compiler)下建立一个parser的目录,然后里面存放.l(lex文件)和.y(yacc文件)文件,还有一个.bat文件,这个.bat文件的作用是把.l和.y文件调用flex & bison转换为.hpp和.cpp文件,通常我会在工程中建立一个folder,名为Parser, 然后把.l和.y文件和它们生成的.hpp和.cpp文件加到该目录下,这样我就直接打开工程修改.l和.y文件,然后修改完毕后我再去执行.bat文件然后重新生成对应的.hpp和.cpp文件,又由于.l和.y文件在开发之中会经常改动,所以按照这样的操作的话会比较麻烦,所以我就想一个解决方案,把.bat文件的调用放到Build
Events中的Pre-Build Event中,但是这样又产生一个问题那就是:即使我不修改.l和.y文件,也会重新执行.bat再生成.hpp和.cpp文件,这样也不好。
最后找到一个比较好的解决方案:
对于.l文件我们在VC2008的菜单点击Tools -> External Tools -> Add
分别填入:
Title: Flex
Command: D:\Program VC6\Lex\Sample6\Tool\flex.exe
Arguments: -i -d Sample6.l
Initial directory: D:\Program VC6\Lex\Sample6\Tool\
再钩选下面的 Use Output window.
然后为.y文件增加一个类似于上面的Item,这样我们如果更改.l文件,只需按一下Tools -> Flex,就会生成.cpp文件,这样使用起来相当方便.
Events中的Pre-Build Event中,但是这样又产生一个问题那就是:即使我不修改.l和.y文件,也会重新执行.bat再生成.hpp和.cpp文件,这样也不好。
最后找到一个比较好的解决方案:
对于.l文件我们在VC2008的菜单点击Tools -> External Tools -> Add
分别填入:
Title: Flex
Command: D:\Program VC6\Lex\Sample6\Tool\flex.exe
Arguments: -i -d Sample6.l
Initial directory: D:\Program VC6\Lex\Sample6\Tool\
再钩选下面的 Use Output window.
然后为.y文件增加一个类似于上面的Item,这样我们如果更改.l文件,只需按一下Tools -> Flex,就会生成.cpp文件,这样使用起来相当方便.
相关文章推荐
- GNU Flex与Bison结合使用
- 数据结构之递归
- C# 简单学习正则表达式
- B方法-拓展你形式化方法的视野
- 20050620 GNU Bison 中文手册翻译完成
- php学习笔记upset函数。
- java学习之路----反射基础
- 1070. Mooncake (25)
- nginx之配置文件分析与开源软件配置文件结构设计
- iOS下微信语音播放之切换听筒和扬声器的方法解决方案
- Android界面设计基础:控件焦点4个步骤
- mac下maven安装与使用
- MongoDB实战(12)Replica Sets + Sharding
- MongoDB实战(12)Replica Sets + Sharding
- 庞果网建立基站问题ruby解答
- Android 实现简单的插件化模块化.
- js 获取表格数据(表单变量值)
- 移动APP之HTTP协议
- hdu 4539 郑厂长系列故事——排兵布阵
- Knockout 是什么?