129677548599719473编译原理实验指导书(新).doc
上传人:qw****27 上传时间:2024-09-12 格式:DOC 页数:40 大小:270KB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

129677548599719473编译原理实验指导书(新).doc

129677548599719473编译原理实验指导书(新).doc

预览

免费试读已结束,剩余 30 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

<<编译原理>>实验指导书前言编译原理是计算机科学与技术、软件工程等专业的主干课和必修课,由于这门课程相对抽象且内容较复杂,一直是比较难学的一门课程。在编译原理的学习过程中,实验非常重要,只有通过上机实验,才能使学生对比较抽象的课程内容产生一个具体的感性认识。但是,目前国内市场上很少有较详细且比较适合我院实际的实验指导书,为此,我们特编了这份指导书,希望能对我院的《编译原理》教学工作有所帮助。本书实验环境主要为C环境(由于兼容性问题,建议使用Turboc2.0)及一个词法分析器自动生成工具FLEX和一个语法分析器自动生成工具BISON。书中给出的参考源程序也是C源程序,但由于实验者熟悉精通的语言工具不尽相同,因而强求采用统一的编程语言编程是不现实的。实验者在掌握了编译程序各个阶段的功能和原理之后,不难借助使用其他自己熟悉的语言实现相关功能。实验者在实验过程中应该侧重写出自己在算法分析、设计思路、实现功能或程序代码等方面的特色,写出设计和实现过程中遭遇到的难点和解决办法,可以不拘泥于实验指导给出的参考性设计思路,尽可能在深度和广度上加以拓展。只有这种各具特色的实验报告,才将更有利于体现实验者在创新思维和动手能力上的差异。通过这些实验,能使学生对这些部份的工作机理有一个详细的了解,达到“知其然,且知其所以然”的目的。并可在C环境下对自动生成工具生成的词法、语法分析器进行编译调试。由于手工生成词法和语法分析器的工作量太大,在实际中常用自动生成工具来完成之。这些工具中最著名的当属贝尔实验室的词法分析器生成工具LEX和语法分析器生成工具YACC。它们现已成为UNIX的标准应用程序同UNIX一起发行。与此同时GNU推出与LEX完全兼容的FLEX,与YACC完全兼容的BISON。这两个程序都在Internet上以源代码的形式免费发行,所以很容易在其它操作系统下重新编译安装。我们实验采用的就是fordos的FLEX和BISON。本书有关的编译工具及其源程序例子,可到BISON的网站上下载。关于FLEX和BISON的用法简介,参见附录,如需更详细的介绍,请参阅编译工具中帮助文件。关于实验学时和安排,任课教师可根据实际情况,选做其中的一部份。由于这门课实验难度较大,所以希望任课教师在实验前安排好学生的预习工作。在上机前要求学生写好实验预习报告。本书中c程序均在Turboc2.0下调试通过.LEX和YACC源程序均在FLEX和BISON下调试通过.由于编者水平有限,本书中必然存在着不少缺点,在此恳请大家给予批评和指正,我们将尽力纠正。在此特对关心支持编写本书的院系领导表示感谢。本书中关于LEX和YACC的部份大量参考引用了何炎祥老师主编,华中理工大学出版社出版的《编译原理》一书,在此表示衷心的感谢。周鹏杨亚会梅琴赵榕2006年8月目录TOC\o"1-1"\h\z\uHYPERLINK\l"_Toc148760619"实验一词法分析器设计PAGEREF_Toc148760619\h1HYPERLINK\l"_Toc148760620"实验二熟悉FLEX使用方法PAGEREF_Toc148760620\h10HYPERLINK\l"_Toc148760621"实验三用FLEX自动生成PL/0词法分析器PAGEREF_Toc148760621\h11HYPERLINK\l"_Toc148760622"实验四用递归下降法进行表达式分析PAGEREF_Toc148760622\h18HYPERLINK\l"_Toc148760623"实验五用算符优先法进行表达式分析PAGEREF_Toc148760623\h20HYPERLINK\l"_Toc148760624"实验六利用BISON生成逆波兰表示计算器PAGEREF_Toc148760624\h24HYPERLINK\l"_Toc148760625"实验七利用BISON生成中缀表示计算器PAGEREF_Toc148760625\h25HYPERLINK\l"_Toc148760626"附录一词法分析器生成工具FLEX简介PAGEREF_Toc148760626\h26HYPERLINK\l"_Toc148760627"附录二语法分析器生成工具YACC简介PAGEREF_Toc148760627\h33<<编译原理>>实验指导书实验一词法分析器设计【实验目的】掌握生成词法分析器的方法,加深对词法分析原理的理解。掌握设计、编制并调试词法分析程序的思想和方法。本实验是高级语言程序设计、数据结构和编译原理中词