- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
武汉理工大学-编译原理课程设计-中国好学长系列之小灰灰的爸爸
学 号:
课 程 设 计
题 目 布尔表达式翻译为逆波兰式的算法实现 学 院 计算机科学与技术学院 专 业 软件工程 班 级 中国好学长系列 姓 名 小灰灰的爸爸 指导教师 何九周
2014 年 1 月 2 日 目录
课程设计任务书 1
1引言 2
2概述 3
2.1设计题目 3
2.2设计目的 3
2.3设计任务内容 3
3设计环境与工具 4
4设计原则 4
4.1基本方法 4
4.2属性文法 4
5简要的分析与概要设计 4
6详细的算法描述,框图 5
6.1主要数据结构的设计 5
6.2全局变量设计 7
6.3递归下降得到推导过程 7
6.4递归下降得到四元式序列 11
6.5分析四元式序列生成逆波兰式 14
7软件的测试方法和测试结果 16
8设计的特点、不足收获与体会 16
8.1设计的特点 16
8.2设计的不足 16
8.3收获与体会 16
9参考文献 16
附录:本科生课程设计成绩评定表
课程设计任务书
学生姓名: 专业班级:
指导教师: 何九周 工作单位:计算机科学与技术学院
题 目: 布尔表达式翻译为逆波兰式的算法实现
初始条件:
程序设计语言:主要使用C语言的开发工具,或者采用LEX、YACC等工具,也可利用其他熟悉的开发工具。算法:可以根据《编译原理》课程所讲授的算法进行设计。
要求完成的主要任务: (包括课程设计工作量及其技术要求,说明书撰写等具体要求)
明确课程设计的目的和重要性,认真领会课程设计的题目,读懂课程设计指导书的要求,学会设计的基本方法与步骤,学会如何运用前修知识与收集、归纳相关资料解决具体问题的方法严格要求自己,要独立思考,按时独立完成课程设计任务。 1天
系统分析、总体设计、实施计划 3天
撰写课程设计报告书 1天
指导教师签名: 2014年 1月 2日
系主任(或责任教师)签名: 2014年 1月 2日
布尔表达式翻译为逆波兰式的算法实现
1引言
实践离不开理论,而理论是为了实践,这一点在软件设计的学习过程中显得尤为重要。而《编译原理》是一门研究设计和构造编译程序原理和方法的课程,是计算机各专业的一门重要的专业基础课。编译原理这门课程蕴含着计算机学科中解决问题的思路、形式化问题和解决问题的方法,对应用软件和系统软件的设计与开发有一定的启发和指导作用。“编译原理”是一门实践性较强的课程,要掌握这门课程中的思想,就必须要把所学到的知识付诸实践。而课程设计是将理论与实践相互联系的一种重要方式。本文是《编译原理》中的“布尔表达式翻译为逆波兰式的算法实现”课程设计的说明书。
2概述
2.1设计题目
布尔表达式翻译为逆波兰式的算法实现
2.2设计目的
课程设计是将理论加以实践较好的方法,也对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,设计题中的问题比平时的练习题要复杂,也更接近实际。编译原理这门课程安排的课程设计的目的是旨在要求学生进一步巩固课堂上所学的理论知识,深化理解和灵活掌握教学内容,选择合适的数据逻辑结构表示问题,然后编制算法和程序完成设计要求,从而进一步培养学生独立思考问题、分析问题、解决实际问题的动手能力。
2.3设计任务内容
针对布尔表达式的二义性文法:
B ( B and B | B or B | not B | ( B ) | true|false | i rop i
将文法拓广为G’[B’]:
(0) B’( B
(1) B ( B and B
(2) B ( B or B
(3) B ( not B
(4) B ( ( B )
(5) B ( true
(6) B ( false
(7) B ( i rop i
利用LR分析法编制、调试其语法及语义分析程序,生成的中间代码为逆波兰式。编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。
3设计环境与工具
Visual C++
4设计原则
4.1基本方法
在本程序中,要求利用LR分析法编制、调试其语法及语义分析程序,生成的中间代码为逆波兰式。编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。
4.2属性文法
B ( TB′ B’.in=T.type
B′( and T B′ B’.in=T.type addtype(and,entry,B.in)
B′(ε B’.val=ε
T ( FT
您可能关注的文档
最近下载
- 申请英国签证在职证明中英文版.docx VIP
- L5 BladeEditor模块功能介绍.pdf VIP
- 工业建筑设计规范.docx VIP
- 《深入探讨教育公平问题》课件.ppt VIP
- 水闸工程管理设计规范(SL170-96).pdf VIP
- 上海市徐汇区2022-2023学年八年级下学期期末数学试题.docx VIP
- ISO 17637-2016 Non-destructive testing of welds – Visual testing of fusion-welded joints-en-中文版目视无损检测.pdf VIP
- 海底捞《新员工岗前培训手册》.pdf VIP
- 上海市徐汇区2024-2025学年下学期八年级期末考试数学试题(含部分答案).pdf VIP
- 化工园区安环一体化管理平台建设方案.ppt VIP
文档评论(0)