下面说一下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 自带的范例,这样方便检验环境的配置是否正确.
分享到:
相关推荐
编译原理lex词法分析 使用 parser generator , vc++工程实现
Parser Generator是Windows下YACC和LEX的实现,它包括一个图形用户界面,同时包括Lex和YACC两个版本,分别叫做Alex和AYACC。Parser Generator非常适合于与VC++集成,其生成的C文件能够在VC++中编译运行。
Parser Generator是Windows下YACC和LEX的实现,它包括一个图形用户界面,同时包括Lex和YACC两个版本,分别叫做Alex和AYACC。Parser Generator非常适合于与VC++集成,其生成的C文件能够在VC++中编译运行。
不需要做任何修改的lex-yacc的demo,可以在parser generator或lex-bison下成功运行
Parser Generator是Windows下YACC和LEX的实现,它包括一个图形用户界面,同时包括Lex和YACC两个版本,分别叫做Alex和AYACC。Parser Generator非常适合于与VC++集成,其生成的C文件能够在VC++中编译运行。
该工具为windows下的YACC和LEX代码生成器可以生成c/c++/java代码
编译原理工具,适用于32位系统,Yacc 案的lex编程
mfc调用parser generator来实现词法,语法分析功能。 本演示仅实现了一条函数功能 drawtext(string)。
lex 词法分析 以及parser generator 和vc6如何配置
windows系统下的yacc和lex集成环境
Lex是LEXical compiler的缩写,是Unix环境下非常著名的工具,主要功能是生成一个词法分析器(scanner)的C源码,描述规则采用正则表达式(regular expression)。描述词法分析器的文件*.l,经过lex编译后,生成一个lex.yy....
词法分析器 lex
基于Lex的C-语言自动词法分析器是由 Parser Generator软件实现的,我所做的只是编写Lex输入文件scan.l 和Parser Generator的输入文件source.txt,然后通过Parser Generator编译生成具体的C语言的词法分析器。
功能:动态解析VC6的res文件并生成对话框。(通过Parser Generator生成C++类),对想了解yacc+lex+MFC+(Parser Generator)。非常有帮助
有个外国人写了个软件Parser Generator (bum-bee). 他把unix的这些功能,做了个软件放到win32平台上。 我的这个例子不是讲这些理论,而是想对那些初学者讲解,如何把这种第三方工具集成到vc中,如何设置vc ide来...
简而言之,它以ABNF中任何文本协议的形式规范作为输入,并使用lex / yacc为该语法生成C语言的解析器。
你曾经想过把编译器的功能加入到你的程序中吗? 比如,你有一个结构体 typdef struct filehead_v1{ int ver1; byte bBigEndium; }filehead_v1;...你的程序知道filehead_v1这个字符串,就能自动反推出结构体的内存,就...