使用lex和yacc,完成simple语言简单语句的分析
设计要求:
1.掌握LEX规范说明的书写方式;
2.编写LEX规范式;
3.运用LEX工具进行调试并生成词法分析器LEX源程序;
4.掌握YACC规范说明的书写方式;
5.编写YACC规范式;
6.运用YACC工具进行调试并生成语法分析器YACC源程序;
7.实现simple语言的基本说明语句和简单赋值语句及算术运算表达式语法分
析(词法分析部分包括标识符、数字构成规则等部分);
工具提供:
英国Bumble-BeeSoftware公司生产的Windows环境下的LEX和YACC集成
环境ParrGenerator(具体网络有下载)适合编程的需要。ParrGenerator是
Windows下YACC和LEX的实现,它包括一个图形用户界面,同时包括Lex和
YACC两个版本,分别叫做Alex和AYACC。ParrGenerator非常适合于与VC++
集成,其生成的C文件能够在VC++中编译运行。
下面说一下windows环境下parrgenerator和vc++的各项配置
(一)parrgenerator的环境设置
安装好parrgenerator,打开集成开发环境,点项目Project菜单,
在下拉菜单中选LibBuilder,弹出LibBuilder对话框选择属性按钮,弹出
compilerproperties对话框:
Name选择VisualC++(32-bit)
Directory:msvc32
options:
依次为vc++版本(Versoin6)
是否支持unicode码。
是否把w_char_t作为内建类型。
一般选择默认的即可
下边是VC的各种目录:
依次为
CompilerBinDirectory(C:PROGRAMFILESMICROSOFTVISUAL
STUDIOVC98BIN
CompilerBinDirectory(C:PROGRAMFILESMICROSOFTVISUAL
STUDIOCOMMONMSDEV98BIN
CompilerIncludeDirectory(C:PROGRAMFILESMICROSOFTVISUAL
STUDIOVC98INCLUDE
CompilerIncludeDirectory(C:PROGRAMFILESMICROSOFTVISUAL
STUDIOVC98MFCINCLUDE
CompilerLibraryDirectory(C:PROGRAMFILESMICROSOFTVISUAL
STUDIOVC98LIB
CompilerLibraryDirectory(C:PROGRAMFILESMICROSOFTVISUAL
STUDIOVC98MFCLIB
注意:编译器安装目录根据个人安装目录需要做相应的调整。所有的
这些设置完成之后点ok。返回LibBuilder。点Build就可以编译vc++使用
的lex与yacc的lib库。
生成库文件在软件安装目录下的D:ParrGenerator2CppLibmsvc32
目录下。
(二)vc++环境的设置
1)目录设置
为了在VC++中可以找到包含文件yacc.h和lex.h以及YACC和Lex
的库文件,需要对VC++进行相关的目录设置
(1)选择Tools菜单中的Options命令,打开Options对话框。
(2)选择Directories选项卡。
(3)在ShowDirectoriesfor下拉列表框中选择IncludeFiles。在Directories
框中,点击最后的空目录,并填入F:PARGENCPPINCLUDE(根据个人
安装目录需要做相应的调整)
(4)在ShowDirectoriesfor下拉列表框中选择LibraryFiles。在Directories
框中,点击最后的空目录,并填入F:PARGENCPPLIBMSVC32
(5)在ShowDirectoriesfor下拉列表框中选择SourceFiles。在Directories
框中,点击最后的空目录,并填入F:PARGENCPPSOURCE
(6)点击OK按钮,Options对话框将接受设置并关闭。
2)项目设置
对于每个VC++项目,都需在VC++中进行以下设置,以使VC++可以从
特定的库中接受LEX和YACC所需要的函数和变量
(1)选择Project菜单中的Settings命令,打开ProjectSettings对话框。
(2)在Settingsfor下拉列表框中选择Win32Debug。
(3)选择C/C++选项卡,在Category下拉列表框中选择General。在
PreprocessorDefinitions框中,在当前文本的最后,输入YYDEBUG
(4)选择Link选项卡,在Category下拉列表框中选择General。在
Object/LibraryModules框中,在当前文本的后面,输入
(5)在Settingsfor下拉列表框中选择Win32Relea。
(6)重复第4步的工作。
(7)点击OK按钮,ProjectSettings对话框设置完毕。
这样设置之后我们就可以用vc++编译ParrGenerator生成的c文件了。
具体为:
①先打开ParrGenerator集成开发环境。点击Project菜单,点击下拉
菜单中的ParWizard菜单,一路下去建立一个工程。然后点击project
菜单下的的RebuildAll。在项目文件夹下就生成了相应c文件与h文件。
②再用VC++建立一个空控制台工程,然后把用用ParrGenerator
生成的c文件和头文件加入工程中。接着对VC++进行上面所说的项目
设置,然后就可以编译运行了。新手可以使用parrgenerator自带的范
例,这样方便检验环境的配置是否正确。
本文发布于:2022-12-31 21:56:23,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/68068.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |