1、学学 号:号: 0120910680320 课课 程程 设设 计计 题题 目目 生成 LR 分析表的算法实现 学学 院院 计算机科学与技术学院 专专 业业 软件工程 班班 级级 软件 0903 班 姓姓 名名 指导教师指导教师 2011 年 12 月 30 日 2 课程设计任务书课程设计任务书 题题 目目: : 生成生成 LRLR 分析表的算法实现分析表的算法实现 初始条件:初始条件: 程序设计语言:主要使用 C 语言的开发工具,或者采用 LEX、YACC 等工具,也可利用其他 熟悉的开发工具。算法:可以根据编译原理课程所讲授的算法进行设计。 要求完成的主要任务要求完成的主要任务: : (包括
2、课程设计工作量及其技术要求,说明书撰写等具体要求) 1. 明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求, 学会设计的基本方法与步骤, 学会如何运用前修知识与收集、 归纳相关资料解决具体问题的方 法。严格要求自己,要独立思考,按时、独立完成课程设计任务。 2. 主要功能包括:利用语法分析中 LR 分析法的原理和思想对给定的文法进行分析,识别出文 法活前缀的DFA,构造(0)L R项目集规范族,最后输出文法的(0)L R分析表。 3. 进行总体设计,详细设计:包括算法的设计和数据结构设计。系统实施、调试,合理使用 出错处理程序。 4. 设计报告:要求层次清楚、整洁规
3、范、不得相互抄袭。正文字数不少于 0.3 万字。包含内 容: 课程设计的题目。 目录。 正文:包括引言、需求分析、总体设计及开发工具的选择,设计原则(给出语法分析方法 及中间代码形式的描述、文法和属性文法的设计) ,数据结构与模块说明(功能与流程图) 、详细的 算法设计、软件调试、软件的测试方法和结果、有关技术的讨论、收获与体会等。 结束语。 参考文献。 附录:软件清单(或者附盘) 。 时间安排:时间安排: 消化资料、系统调查、形式描述 1 天 系统分析、总体设计、实施计划 3 天 撰写课程设计报告书 1 天 指导教师签名:指导教师签名: 20201111 年年 1212 月月 3030 日日
4、 系主任(或责任教师)签名:系主任(或责任教师)签名: 20201111 年年 1212 月月 3030 日日 3 1、 引言4 2、 系统概述 5 2.1 目的 .5 2.2 设计任务 .5 2.3 设计环境与工具 .5 3、总体设计 .5 3.1 设计原理 .5 3.1.1 识别文法活前缀的DFA及DFA的状态图 6 3.1.2 (0)L R项目集规范族的构造 .6 3.1.2 (0)L R分析表的构造 7 3.2 简要的分析与概要设计 8 4、详细的算法描述 .7 4.1 模块说明7 4.2 程序具体设计 .8 5、测试方法和测试结果 .9 6 个人总结 .14 4 生成生成 LR 分析表的算法实现分析表的算法实现 1、引言引言 作为计算机专业的一门重要的专业课程, 编译原理旨在介绍编译程序构造 的一般原理和基本方法 。课程内容主要包括语言和文法、词法分析、语法分析、语法 制导翻译、中间代码生成、存储管理、代码优化和目标代码生成等。 语法分析是程序编译过程的第二阶段