欢迎来到天天文库
浏览记录
ID:41628777
大小:85.05 KB
页数:4页
时间:2019-08-29
《实验一构造并调试词法分析器》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验一构造并调试词法分析器一、实验目的通过C语言词法分析程序的实现理解编译程序对单词的扫描分析过程。二、实验重难点构造并调试词法分析器三、实验内容与要求见详细实验过程四、实验学时4课时五、实验设备与环境VisualC++6.0、ParserGenerator2六、实验过程1.ParserGenerator2软件的安装与配:1.1解压缩,然后安装。打开集成开发环境,点项HProject菜单,在下拉菜单中选LibBuilder,弹IBLibBuilder对话框选择属性(properties)按钮,弹出compilerpr
2、operties对话框,设置parsergenerator牛成库:Name选择VisualC++(32-bit)Directory:msvc32options:依次为vc++版本(Versoin6)。是否支持unicode码。是否把w_char_t作为内建类型。下边是VC的各种目录:依次为(根据实验机器VisualC++6.0实际安装目录来选择)CompilerBinDirectory:(D:PROGRAMFILESMICROSOFTVISUALSTUDIOVC98BIN)CompilerIncludeDir
3、ectoiy:(D:PROGRAMFILESMICROSOFTVISUALSTUDIOVC98INCLUDE)CompilerLibraryDirectory:(D:PROGRAMFILESMICROSOFTVISUALSTUDIOVC98LIB)所有的这些设置完成之后点ok。返冋LibBuildero点Build就可以编译vc++使用的lex与yacc的lib库。生成库文件在软件安装目录下的D:ParserGenerator2CppLibmsvc32目录下。1.2设置编译VS在VC++环境设
4、置中增加:包含文件目录D:ParserGenerator2CppIncludelib库冃录D:ParserGenerator2CppLibmsvc32具体设置:点工具菜单,下拉菜单中点选项菜单。弹出框中点左边列表框中的projects,然后点击VC++目录,在显示以下内容目录标签下的列表框中“选包含目录”进行设置,选“库文件”进行设置。具体设置就是点击列表框下边五个按钮中的第二个按钮,就加入一行,当选择“包含目录"的时候填入D:ParserGenerator2Cpplnclude»当选择"库文件”
5、的时候填入D:ParserGenerator2CppLibmsvc32,也可以点右边的浏览按钮进行选择。2编译PG打开ParserGenerator2集成开发环境。点击Project菜单,点击下拉菜单中的ParseWizard菜单,建立一个工程。点击“下一步”:ParserWizard-Step2取消FilesCYACCandLexfileCYACCfileonly2LexfileonlylCreatemain£unctionUsecompacttablesGenerateUnicodeparser/lexi
6、calanalyse!Model:
7、Single可以看到ParserGenerator自动生成了一个mylexer.I文件。用以下内容替换mylexer.l:%{intwc=0;/*wordcount*/%)%%[a-zA-ZJ+{wc++;}
8、.{/*gobble叩*/}%%#pragmacomment(lib,"yl.lib")〃有时候在setting里设置lib会出现连接错误,这个时候可以显示连接勺intmain(void){intn=yylex();returnn;1intyywrap(void){pri
9、ntf(nwordcount:%d!wc);return1;}然后点击project菜单下的的RebuildAll。在项目文件夹下就生成了相应c文件与h文件。3基于VC++平台的词法分析程序用VC++建立一个空控制台工程,将ParserGenerator生成的两个文件myparser.c,myparser.h导入工程。在工具・>选项里要设置环境变量。Options->Directories->Includefiles:C:PROGRAMFILESPARSERGENERATOR2CPPINCLUDEOpt
10、ions->Directories->Libraryfiles:C:PROGRAMFILESPARSERGENERATOR2CPPLIBMSVC32Options->Directories->Sourcefiles:C:PROGRAMFILESPARSERGENERATOR2CPPSOURCE在工程〉设置里添加yl.lib库:
此文档下载收益归作者所有