- 2
- 0
- 约1.03万字
- 约 29页
- 2017-03-06 发布于湖北
- 举报
学 号: 01座机电话号码328
课 程 设 计
题 目 布尔表达式的翻译程序设计 学 院 计算机学院 专 业 软件工程 班 级 0903 姓 名 陈银 指导教师 何九周
2012 年 1 月 2 日
布尔表达式的递归下降翻译程序设计
1引言
“编译原理”是一门研究设计和构造编译程序原理和方法的课程,是计算机各专业的一门重要的专业基础课。编译原理这门课程蕴含着计算机学科中解决问题的思路、形式化问题和解决问题的方法,对应用软件和系统软件的设计与开发有一定的启发和指导作用。“编译原理”是一门实践性较强的课程,要掌握这门课程中的思想,就必须要把所学到的知识付诸实践。而课程设计是将理论与实践相互联系的一种重要方式。
2概述
2.1设计题目
布尔表达式的递归下降翻译程序设计
2.2设计目的
课程设计是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,设计题中的问题比平时的练习题要复杂,也更接近实际。编译原理这门课程安排的课程设计的目的是旨在要求学生进一步巩固课堂上所学的理论知识,深化理解和灵活掌握教学内容,选择合适的数据逻辑结构表示问题,然后编制算法和程序完成设计要求,从而进一步培养学生独立思考问题、分析问题、解决实际问题的动手能力。
2.3设计任务内容
布尔表达式的文法:
B TB′ B′ and T B′|ε T FT ′ T′ or FT′|ε F not F |true|false |(B)| i rop i
设计布尔表达式文法,给出该文法的属性文法,用递归下降分析法实现对布尔表达式的翻译,给出翻译的逆波兰式结果。
3设计环境与工具
Visual C++
4设计原则
4.1基本方法 在本程序中,输入一段布尔语句,使用递归下降的方法得到其推到过程,并利用递归下降翻译的方法的到四元式序列,最终根据生成的四元式序列分析得到逆波兰式。
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 T.in F.type.
T′ or FT′ T’.in F.type addtype or,entry,B.in
T′ ε T’val ε
F not F F.val not.F.val
F true F.val true
F false F.val false
F (B) F.val B.val
F i rop i F.val i.lexval rop i.lexval addtype i,entry,l
在开始进行本次实验中,本来计划在递归下降分析的过程中就得到逆波兰式,但是经过多次尝试之后总是存在错误,所以采用先得到四元式序列,再根据四元式序列生成逆波兰式这种效率比较低的方法。
6详细的算法描述,框图
6.1主要数据结构的设计
四元式类
在该类中,要包含四元式中的四个元素,运算结果,两个运算数以及一个运算符号
class quad public:
char result[8];
char arg1[8];
char op[8];
char arg2[8]; void print //输出该四元式 cout result arg1 op arg2 endl; q[20];
Word结构体
这个结构体的对要用来存储单个单词,包括一个字符串成员。
struct word char w[10];
void print cout w :; wr[200];
逆波兰式结构体
这个结构体的对象用来存储逆波兰式,它的成员是一个word数组
struct nipolan word nibolan[100];
n;
翻译器类class interpreter private:
ifstream SourceFile;
char buffercode[200];//存放源码的缓冲区 int syn;
int current;//buffercode中当前读到的字符下标 char token[8];//记录当前读到的单词 public: void scaner ;
void B ;
void B1 ;
void T ;
void F ;
void T1 ;
void run ;
void read ;
void bolon ;
void toword ;
char *factor ;
char *expression ;
您可能关注的文档
- 必修②6.2基因工程及其应用重点.ppt
- 必修2Module2分析.ppt
- 半导体材料ZnO专题介绍分析.doc
- 半导体材料论文分析.doc
- 不同预处理方法与不同实验方法配合对鸡蛋壳中钙含量测定的影响分析.doc
- 半导体答案分析.doc
- 不稳定试井讲义分析.ppt
- 必修2第7章-1+2重点.ppt
- 半导体镀膜工艺重点.ppt
- 必修2第二单元第一讲基因的分离规律重点.doc
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)