编译技术课程设计报告要求

发布 2022-10-04 09:28:28 阅读 3721

一.本程序仅考虑由下面产生式所定义的程序语句:

s →if b then s else s | while b do s | begin l end | a

l →s;l | s

a →i:= e

b → b∧b|b∨b|~b|(b)|i rop i|i

其中,各个非终结符的含义是:

s---语句。

l—语句串。

a—赋值句。

b---布尔表达式。

e---算术表达式。

各个终结符的含义:

i---整型变量或常数,布尔变量或常数;

rop---为六种关系运算符的代表;

---起语句分隔作用;

=--赋值符号。

--逻辑非运算符;

---逻辑与运算符;

---逻辑或运算符;

规定程序是由一条语句或由begin和end嵌套起来的复合语句组成的,并且规定的语句末加上#@表示程序结束。下面是符合规定的程序示例:

begin

a:=a+b*c;

c:=a+2;

while a while a>b do

if m=n then c:=d

else while a<=d do

a:=dend#

二.算术表达式的lr分析表。

算术表达式文法g[e]如下:

e→e+e|e*e|(e)|i

将文法g[e]拓广为文法g’[e]:

0)s‘→e

1)e→e+e

2)e→e*e

3)e→(e)

4)e→i算术表达式的slr(1)分析表。

三.布尔表达式的分析表。

布尔表达式的文法如下:

b → b∧b|b∨b|~b|(b)|i rop i|i

为了便于语法分析加工处理。将文法改为如下形式g[s]:

b → bab|bob|~b|(b)|i rop i|i

ba →b∧

bo→b∨将文法拓广为g’[s]:

0)s’→b

1)b→i2)b→i rop i

3)b→(b)

4)b→not b

5)a→b and

6)b→ab

7)o→bor

8)b→ob

布尔表达式的slr(1)分析表:

四.程序语句的分析表。

程序语句的文法如下:

s→if e then s else s| while e do s|begin l end|a

l→s;l|s

由于在编译程序设计与实现中,我们将赋值语句与算术表达式归为一类处理,故在此将赋值语句仅看成为程序语句中的一个终结符a,将布尔表达式b也看作为终结符e。将文法拓广为:

0)s’→s

1)s→if e then s else s

2)s→while e do s

3) s→begin l end

4)s→a5)l→s

6)l→s;l

程序语句的slr(1)分析表:

根据上述给定的内容,一周课程设计要完成设计报告,用word文档给出,具体内容如下要求:

第一部分:词法分析。

一.词法分析的功能:

输入---源程序文件。

输出---1)相应token序列。

2)关键字、界限符、常数等内部码。

二.词法分析程序设计。

1.单词token序列。

2.关键字等对照表。

3.画出自动机转换图。

三.程序实现。

1.数据结构。

2.算法设计。

四.心得体会。

第二部分语法分析。

一.根据给定的文法画出算术表达式、布尔表达式、程序语句的lr(0)项目集规范族,验证上述的slr分析表是否正确。

二.语法分析程序的设计。

1.分析框图,即程序之间的调用关系。

2,四元式的结构形式。

三.程序实现。

1.数据结构。

2.算法设计。

四.心得体会。

电子技术课程设计报告要求

一 电子技术课程设计名称 目的 内容和要求。名称 基于icl7106的三位半数字万用表设计与制作。目的 学习用cad技术进行电子线路设计方法,设计 制作 调试数字万用表。数字万用表又叫数字多用表 数字三用表 数字复用表,是一种多功能 多量程的测量仪表,常用的数字万用表可测量直流电流 直流电压 交流电...

电子技术课程设计报告要求

湖南科技学院。课程设计报告。课程名称 电子技术课程设计。设计题目 基于pt100设计温度计。系别 电子工程系。专业 电子科学与技术。班级 电子1002班。学生姓名 颜小勤肖亚军阳武杏。学号 201006003214 201006003208 201006003209 起止日期 2012 9 10 2...

电子技术课程设计报告格式要求

2012级机械设计制造及其自动化专业。电子技术课程设计 小一宋体居中 题目 二号楷体居中 姓名 宋体小三 院别 工学院 专业 机械设计制造及其自动化 学号。指导教师 宋体小三 2014年12月。工学院课程设计评审表。电子技术课程设计 课程设计任务书。题目 黑体小二居中 1 设计任务与要求 黑体四号 ...