LL(1)语法分析器实验总报告书_第1页
LL(1)语法分析器实验总报告书_第2页
LL(1)语法分析器实验总报告书_第3页
LL(1)语法分析器实验总报告书_第4页
LL(1)语法分析器实验总报告书_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.编译原理语法分析器实验报告LL(1)语法分析器实验报告书小组负责人:潘 豪 SWE08030小组成员:邹杰光 SWE08018 叶凯翔 SWE08039 张志峰 SWE08046 许英俊 SWE08062 厦门大学嘉庚学院计算机系软件工程班课程小组2010年7月目 录第一章 概 述31.1 开发平台31.2 实验目的31.3 实验要求3第二章 语法分析器的实现32.1 LL(1)语法分析器原理32.2 求出能推出空的终结符42.3 FIRST集的确定42.4 FOLLOW集的确定42.5 SELECT集的确定42.6 LL(1)文法的判别42.7 逻辑结构42.8 预测分析表的生成52.9

2、句子的判定52.10 其他说明5第三章 系统运行与测试63.1 程序运行环境63.2 运行界面63.3 系统测试8第四章 总 述114.1 程序综述114.2小组工作总结11第一章 概 述1.1 开发平台本程序基于Microsoft Visual Studio 2008开发,使用C#语言。1.2 实验目的掌握LL(1)分析法的基本原理,掌握LL(1)分析表的构造方法,掌握LL(1)驱动程序的构造方法。1.3 实验要求编写一个语法分析器,不限语言,方法。第二章 语法分析器的实现2.1 LL(1)语法分析器原理语法分析是编译过程的核心部分,它的主要任务是按照程序的语法规则,从由词法分析输出的源程序

3、符号串中识别出各类语法成分,同时进行词法检查,为语义分析和代码生成作准备。这里采用自顶向下的LL(1)分析方法。语法分析程序的流程图如图5-4所示。开始读入文法有效?判断句型报错结束语法分析程序流程图是LL(1) 文法?2.2 求出能推出空的终结符见许英俊报告2.3 FIRST集的确定见邹杰光报告2.4 FOLLOW集的确定见张志峰报告2.5 SELECT集的确定见叶凯翔报告2.6 LL(1)文法的判别见叶凯翔报告2.7 逻辑结构一个LL(1)分析器由一张分析表、一个分析栈和一个总控程序组成。其逻辑结构如图2-1所式。总控程序分析表Ma1 a2 a3 ai anX1Xn-1X1图2-1 LL(

4、1)分析器的逻辑结构2.8 预测分析表的生成见许英俊报告2.9 句子的判定当一个文法确定是LL(1)文法时就可以对输入的语句进行判定了。首先要安装SELLECT集生成LL(1)预测分析表,最简单的方法是使用哈希表来表示,把每一个产生式左部依次和这个产生式SELLECT集中的每一个终结符组成关键字,其值即为这个产生式,送入哈希表。这样在进行句子的分析时就可以很容易判断是否使用某一个产生式来进行规约。在实际分析时设置两个栈,把"#"压入分析栈和剩余栈,把开始符压入分析栈,把输入串从右向左送入剩余栈,然后只要两个栈元素个数同时大于1,那么依次从两个栈中取出两个元素进行比较,假如一

5、样就匹配,假如可以规约就规约,否则就不是该文法的句子。2.10 其他说明 本程序使用C#编写,有良好的用户界面,在程序当中,Work类是程序工作类,分析与判断都在这里.Form1为图形界面类,有关图形界面的设置在这里.第三章 系统运行与测试3.1 程序运行环境2000或XP系统,安装.NetFrameWork 3.5 以上版本即可运行。需要调试程序请安装.NetFrameWork SDK 3.5 以上版本或直接安装 Visual Studio 2008以上版本。3.2 运行界面程序打开后点确定规则后点击分析栏点分析按钮后3.3 系统测试3.31 测试数据一点击文件菜单,选着打开文件,打开程序目

6、录下yufa1.txt文件,载入测试文法规则:文法规则(依次为非终结符,终结符,起始符,规则):SHMAabdeSS->aHH->aMdH->dM->AbM->$A->aMA->e点击确定规则,程序判断:判断出该规则是LL(1)文法规则,测试字符串abddbe#aaaaebbbd#,符合测试2:见图第四章 总 述4.1 程序综述本程序可以很好的判断LL(1)文法与进行语法分析,拥有良好的界面,可以保存与打开文法,可以保存分析结果。分析过程提示清楚,方便。4.2小组工作总结通过这个学期的学习,我们小组对编译原理有了一定的了解,熟悉了语法分析器与词法分析器的制作与使用,了解了更多关于语言的知识.温老师认真负责,督促我们做好小组作业,这极大提高了我们的动手能力.本次语法分析器分工,我负责统筹分工,总控程序,整合程序,编写图形界面,确定数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论