vc++与YACC和LEX集成环境

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

在这里,将介绍由英国Bumble-Bee Software公司生产的Windows环境下的YACC和LEX集成环境Parser Generator。Parser Generator是Windows下YACC和LEX的实现。它包括一个图形用户界面,同时包括YACC和Lex两个版本,分别叫做AYACC和 Alex。Parser Generator非常适合于与VC++集成。

在安装了Parser Generator后,执行以下步骤,即可使VC++编译和连接由Parser Generator产生的文件。

1.目录设置

在VC++中执行以下步骤,每个步骤只执行一次。

(1) 选择Tools菜单中的Options命令,在屏幕上即会出现Options对话框。

(2) 选择Directories选项卡。

(3) 在Show Directories for下拉列表框中选择Include Files。

(4) 在Directories框中,点击最后的空目录,并填入Parser Generator的include子目录的路径。

(5) 在Show Directories for下拉列表框中选择Library Files。

(6) 在Directories框中,点击最后的空目录,并填入Parser Generator的lib/msdev子目录的路径。

(7) 在Show Directories for下拉列表框中选择Source Files。

(8) 在Directories框中,点击最后的空目录,并填入Parser Generator的Source子目录的路径。

(9) 点击OK按钮,Options对话框将接受设置并关闭。

VC++在就可以找到包含文件yacc.h和lex.h以及YACC和Lex的库文件。

2.项目设置

对于每个VC++项目,都需在VC++中执行以下步骤:

(1) 选择Project菜单中的Settings命令,在屏幕上即会出现Project Settings对话框。

(2) 在Settings for下拉列表框中选择Win32 Debug。

(3) 选择C/C++标签。

(4) 在Category下拉列表框中选择General。

(5) 在Preprocessor Definitions框中,在当前文本的最后,输入YYDEBUG。

(6) 选择Link标签。

(7) 在Category下拉列表框中选择General。

(8) 在Object/Library Modules框中,在当前文本的后面,输入yld.lib ylmtd.lib ylmtdlld.lib。

(9) 在Settings for下拉列表框中选择Win32 Release。

(10) 重复第8步的工作。

(11) 点击OK按钮,Project Settings对话框将接受设置并关闭。

VC++现在可以从特定的库中接受YACC和Lex所需的函数和变量。

3.应用

(1)在Parser Generator下的编辑窗口输入YACC源程序(扩展名必须为.y)。

(2)用Parser Generator下的Project菜单的Compile file命令编译源程序,生成相应的C语言源程序(.cpp)。

(3)用VC++编译,连接C语言源程序,生成可执行程序(.exe)后即可执行。

用的VC 2005, 和原来VC 6的设置项对应不上, 很多半天都找不到.好不容易找全了, 却还是编译出错.
最后,只好选择再装一个VC6, 嗯, 两个VC, 不错.
先介绍一下Parser Generator,主页下载:http://www.bumblebeesoftware.com/downloads.htm
Parser Generator is a YACC and Lex programming tool for Windows. As well as including a Graphical User Interace, the software also includes two versions of YACC and Lex, called AYACC and ALex. Parser Generator is able to generate C, C++ and Java parsers and lexical analysers. This includes both Unicode and Multibyte Character Set (MBCS) variants. In your applications you can create multiple, thread safe, instances of these parsers and lexical analysers.

        下面说一下windows环境下parser generator和vc++的各项配置

(一)parser generator的环境设置

         安装好parser generator,打开集成开发环境,点项目Project菜单,在下拉菜单中选LibBuilder,弹出LibBuilder对话框选择属性按钮,弹出compiler properties 对话框:
   Name 选择Visual C++ (32-bit)

   Directory :msvc32
   options:

依次为 vc++版本(Versoin 6)
是否支持unicode码。(选择默认)
是否把w_char_t作为内建类型。(选择默认)
下边是VC的各种目录:
依次为
Compiler Bin Directory (C:/PROGRAM FILES/MICROSOFT VISUAL STUDIO/VC98/BIN

Compiler Bin Directory(C:/PROGRAM FILES/MICROSOFT VISUAL STUDIO/COMMON/MSDEV98/BIN

Compiler Include Directory(C:/PROGRAM FILES/MICROSOFT VISUAL STUDIO/VC98/INCLUDE

Compiler Include Directory(C:/PROGRAM FILES/MICROSOFT VISUAL STUDIO/VC98/MFC/INCLUDE

Compiler Library Directory(C:/PROGRAM FILES/MICROSOFT VISUAL STUDIO/VC98/LIB

Compiler Library Directory(C:/PROGRAM FILES/MICROSOFT VISUAL STUDIO/VC98/MFC/LIB

    注意:编译器安装目录根据个人安装目录需要做相应的调整。所有的这些设置完成之后点ok。
       最后一步,配置parser generator的properties,如图即可:

       返回LibBuilder。点Build就可以编译vc++使用的lex与yacc的lib库。

注:我参考Vs 2003.net的设置,在VC 2005下进行相应设置, 结果lex与yacc的lib库没能编译通过, 可能是我设置错误, 不应该是尚不兼容的问题吧.
    生成库文件在软件安装目录下的D:/Parser Generator 2/Cpp/Lib/msvc32目录下。

(二)vc++环境的设置

1.目录设置

         为了在VC++中可以找到包含文件yacc.h和lex.h以及YACC和Lex的库文件,需要对VC++进行相关的目录设置
(1)       选择Tools菜单中的Options命令,打开Options对话框。
(2)       选择Directories选项卡。
(3)       在Show Directories for下拉列表框中选择Include Files。
           在Directories框中,点击最后的空目录,并填入 F:/PARGEN/CPP/INCLUDE(根据个人安装目录需要做相应的调整)
(4)       在Show Directories for下拉列表框中选择Library Files。
           在Directories框中,点击最后的空目录,并填入F:/PARGEN/CPP/LIB/MSVC32
(5)       在Show Directories for下拉列表框中选择Source Files。
           在Directories框中,点击最后的空目录,并填入F:/PARGEN/CPP/SOURCE
(6)       点击OK按钮,Options对话框将接受设置并关闭。

2.项目设置
对于每个VC++项目,都需在VC++中进行以下设置,以使VC++可以从特定的库中接受LEX和YACC所需要的函数和变量
(1)       选择Project菜单中的Settings命令,打开Project Settings对话框。
(2)       在Settings for下拉列表框中选择Win32 Debug。
(3)       选择C/C++选项卡, 在Category下拉列表框中选择General。
                 在Preprocessor Definitions框中,在当前文本的最后,输入
                ,YYDEBUG
注:对应到VC 2005为C/C++->Preprocessor->Preprocessor Definitions.
(4)       选择Link选项卡,在Category下拉列表框中选择General。
                 在Object/Library Modules框中,在当前文本的后面,输入yld.lib
注:VC 6中的Object/Library Modules对应到VC 2005为Propert->Configuration Properties->Linker->Input->Additional Dependencies ,找了好久.
(5)       在Settings for下拉列表框中选择Win32 Release。
(6)     重复第4步的工作。
(7)   点击OK按钮,Project Settings对话框设置完毕。

   这样设置之后我们就可以用vc++编译Parser Generator 生成的c文件了。具体为:
先打开Parser Generator 集成开发环境。点击Project菜单,点击下拉菜单中的ParseWizard菜单,一路下去建立一个工程。然后点击project菜单下的的Rebuild All。在项目文件夹下就生成了相应c文件与h文件。
再用VC++建立一个空控制台工程,然后把用用Parser Generator
生成的c文件和头文件加入工程中。接着对VC++进行上面所说的项目设置,然后就可以编译运行了。新手可以使用parser generator 自带的范例,这样方便检验环境的配置是否正确.

ProjectGenerator:生成带有C#表单项目,C#控制台项目C ++空项目的预制类的Visual Studio解决方案文件项目 自述文件: 生成带有预制类的Visual Studio解决方案文件项目。 用法: 创建一个空目录。 在该目录中创建一个txt文件。 填充以前的txt文件。 运行该应用程序,然后选择txt文件。 txt文件内容的示例。 CPP_EMPTY_EXAMPLE: SOLUTION_NAME解决方案名称 CPP_EMPTY项目名称 CLASS类名:SuperClassName; 接口名称 枚举EnumName CS_FORMS_EXAMPLE: SOLUTION_NAME解决方案名称 CS_FORMS项目名称 CLASS类名:SuperClassName; 接口名称 枚举EnumName 表格FormName 接口InterfaceName CS_CONSOLE_EXAMPLE: SOLUTION_NAME解决方案名称 CS_CONSOLE项目名称 CLASS类名:Supe 立即下载

相关推荐

[Lex and Yacc] IDE,windows下集成开发环境【无需VS配置,一键使用】

LexYacc集成开发环境,Windows下一键安装!不需要使用VS配置环境!不需要调试配置文件!自带编辑器环境EditPlusPortable,安装完成即可使用。 *1:安装目录不要选择"Program Files"的文件夹 *2:安装完成后点击LexEditor.exe即可进入编辑器 *3:详细的编译使用例程,可以参看博客[不需要配置VS,Windows下一键安装LexYacc集成开发环境!图形化界面操作](https://blog.csdn.net/weixin_42577438/article/details/102544803#3__35)

windows下的lexyacc工具(转)

 只所以推荐它是因为它生成的c文件可以在vc++下通过编译。    下载地址 http://www.bumblebeesoftware.com/downloads.htm下载之后,解压缩,然后安装。打开集成开发环境,点项目Project菜单,在下拉菜单中选LibBuilder,弹出LibBuilder对话框选择属性按钮弹出compiler properties 对话框,Name 选择Visual

3283

不需要做任何修改的lex-yacc的demo,可以在parser generatorlex-bison下成功运行

不需要做任何修改的lex-yacc的demo,可以在parser generatorlex-bison下成功运行

windows环境下parser generatorvc++的各项配置 (lex配置)

下面说一下windows环境下parser generatorvc++的各项配置 (一)parser generator环境设置 安装好parser generator,打开集成开发环境,点项目Project菜单,在下拉菜单中选LibBuilder,弹出LibBuilder对话框选择属性按钮,弹出compiler properties 对话框: Name 选择Visual C++ (...

忆、瞻的专栏 763

编译原理一导学

本实验面向的是本科阶段的编译原理课程设计,主要应用lex&yacc来实现我们自定义的一种Tiny语言的编译器。 一.实验内容 本学期的编译实验内容是实现一个简单的TINY语言的编译器。这个编译器的输入是TINY语言源代码,输出为自定义汇编语言。 整个编译器又分为词法分析、语法分析、语义分析、汇编代码生成四部分。 二.实验环境 Windows操作系统,集成调试环境采用VC++或vs 2010。编程语言是Lex扫描程序生成器(Flex),Yacc分析生成器(Bison)。最后生成TINY语言的编译器。

Barry_kk的博客 526

VC++YACCLEX集成环境

http://blog.csdn.net/may_cauc/archive/2006/04/18/667655.aspx

知止定静安虑得 687

Parser Generator vc++6.0的配置

Windows环境下的YACCLEX集成环境Parser Generator。Parser Generator是Windows下YACCLEX的实现。它包括一个图形用户界面,同时包括YACCLex两个版本,分别叫做AYACCAlex。Parser Generator非常适合于VC++集成。   在安装了Parser Generator后,执行以下步骤,即可使VC++编译连接由Parse

bozhi521的专栏 1560

VCYACCLEX集成

在这里,将介绍由英国Bumble-Bee Software公司生产的Windows环境下的YACCLEX集成环境Parser Generator。Parser Generator是Windows下YACCLEX的实现。它包括一个图形用户界面,同时包括YACCLex两个版本,分别叫做AYACCAlex。Parser Generator非常适合于VC++集成。 在安装了Parser...

sabolasi 152

yacc+lex+ParserGenerator+VC6(MFC)动态解析VC资源文件并运行对话框

功能:动态解析VC6的res文件并生成对话框。(通过Parser Generator生成C++类),对想了解yacc+lex+MFC+(Parser Generator)。非常有帮助

parser generator

英国Bumble-Bee Software公司生产的Windows环境下的LEXYACC集成环境Parser Generator(下载)适合编程的需要。Parser Generator是Windows下YACCLEX的实现,它包括一个图形用户界面,同时包括LexYACC两个版本,分别叫做AlexAYACC。Parser Generator非常适合于VC++集成,其生成的C文件能够在VC++中编译运行。

VC 6.0配置parseGen

 原文地址点击打开链接 (1)parser generator环境设置 安装好parser generator,打开集成开发环境,点项目Project菜单,在下拉菜单中选LibBuilder,弹出ibBuilder对话框选择属性按钮,弹出compiler properties 对话框: Name 选择Visual C++ (32-bit) Directory :

Graceyongqi的博客 520

YACC工具ParserGenerator的下载配置过程

工具准备 parser generator: http://www.bumblebeesoftware.com/downloads.htm VC6.0:网上到处都是。 (1)parser generator环境设置 安装好parser generator,打开集成开发环境,点项目Project菜单,在下拉菜单中选LibBuilder,弹出ibBuilder对话框选择属...

1738
上一篇: 我是佛前一青莲
下一篇: 什么是DNS后缀?(转)
bingyang211
博客等级 码龄19年 16粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值