woaidongmao

文章均收录自他人博客,但不喜标题前加-[转贴],因其丑陋,见谅!~
随笔 - 1469, 文章 - 0, 评论 - 661, 引用 - 0
数据加载中……

终于成功配置lex和yacc的工具Parser Generator

用的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 generatorvc++的各项配置

(一)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 generatorproperties,如图即可:

clip_image001



     

     返回LibBuilder。点Build就可以编译vc++使用的lexyacclib库。

            :我参考Vs 2003.net的设置,VC 2005下进行相应设置, 结果lexyacclib库没能编译通过, 可能是我设置错误, 不应该是尚不兼容的问题吧.

   
生成库文件在软件安装目录下的D:\Parser Generator 2\Cpp\Lib\msvc32目录下。

(二)vc++环境的设置

1.目录设置

         为了在VC++中可以找到包含文件yacc.hlex.h以及YACCLex的库文件,需要对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++可以从特定的库中接受LEXYACC所需要的函数和变量
1       选择Project菜单中的Settings命令,打开Project Settings对话框。
2       Settings for下拉列表框中选择Win32 Debug
3       选择C/C++选项卡, 在Category下拉列表框中选择General
                
Preprocessor Definitions框中,在当前文本的最后,输入
               
YYDEBUG
            :对应到VC 2005C/C++->Preprocessor->Preprocessor Definitions.
4       选择Link选项卡,在Category下拉列表框中选择General
                
Object/Library Modules框中,在当前文本的后面,输入yld.lib
            :VC 6中的Object/Library Modules对应到VC 2005Propert->Configuration Properties->Linker->Input->Additional Dependencies ,找了好久.clip_image002
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 自带的范例,这样方便检验环境的配置是否正确.

 

posted on 2008-09-20 00:16 肥仔 阅读(1960) 评论(0)  编辑 收藏 引用 所属分类: LEX & YACC


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理