网站大量收购闲置独家精品文档,联系QQ:2885784924

编译原理课程设计报告ZLSQ.pdf

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课 程 设 计 报 告 设计题目:一个简单文法的编译器前端设计与实现 班 级:计算机 1204 组长学号 组长姓名:周振亮 指导教师:王会珍 设计时间:2014 年 12 月 设计分工 组长学号及姓名 周振亮 分工:设计 LL(1)文法、划分模块、实现 LL(1)中的SELECT 集合 求解以及分析表,总体调用和修改其他组员的模块。 组员 1 学号及姓名 李铮 分工:建立流程图,在文法和数据表的基础上利用递归子程序 设计并实现四元式的生成。 组员 2 学号及姓名 宋鹏光 分工:通用自动机的设计和实现,其中主要实例浮点数自动机 识别的实现、预定义的编写、部分数据表的定义。 组员 3 学号及姓名 秦振 分工:词法分析中字符串、关键字、分界符的识别、部分数据 表的定义。 摘要 这里主要用了 LL (1)方法分析设计实现了C 语言部分功能,其中包括变量 声明,变量赋值,逻辑判断,算法运算,判断语句,循环语句。建立了自定义文 法、TOKEN 序列和生成了四元式并给出了活动记录;程序方面通过预定义、自定 义数据 VECTOR 、CLASS 多重继承、面向对象等方式实现,建立了清晰的层次划 分,可扩展性高,健壮性好。 自定义文法在 PASCAL 文法基础上自行设计而出,分析过程中主要划分两个 步骤:词法分析,语法分析。词法分析中,建立了各种数据表,并生成 TOKEN 序列以供总体调用;语法分析中,求解生成式 SELECT 集合,建立 LL (1)文法分 析表,运算过程中通过对 TOKEN 、分析表、数据表、活动表调用生成中间代码四 元式。 程序实现方面,通过统一析构,划分为五大模块:预定义、数据表声明、数 据表定义、数据表操作、统一调用接口。数据表主要是通过 STRUCT 数据块和 VECTOR 容器实现自定义数据,并相应设计实现了对应的基本操作。各个模块主 要 CLASS 多重继承实现,调用接口总领编写提高代码复用和健壮性。 关键字:LL(1) TOKEN CLASS PASCAL 词法分析 语法分析 中间代码 接口 STRUCT VECTOR 目录 1. 概述 1 2. 课程设计任务及要求 1 2.1. 设计任务 1 2.2. 设计要求 1 3. 文法和操作 2 3.1. 文法 2 3.2. 翻译文法 2 3.3. 语义动作 3 3.4. SELECT 集合表 3 4. 算法及数据结构 4 4.1. 算法的总体思想(流程) 4 4.2. 预定义模块 5 4.2.2. 数据结构 5 4.2.3. 算法 5 4.3. 数据声明模块 5 4.3.1. 功能 5 4.3.2. 数据结构 6

文档评论(0)

yigang0925 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档