汇编语言编译实验指导Word文件下载.docx

上传人:b****2 文档编号:15168464 上传时间:2022-10-28 格式:DOCX 页数:23 大小:198.53KB
下载 相关 举报
汇编语言编译实验指导Word文件下载.docx_第1页
第1页 / 共23页
汇编语言编译实验指导Word文件下载.docx_第2页
第2页 / 共23页
汇编语言编译实验指导Word文件下载.docx_第3页
第3页 / 共23页
汇编语言编译实验指导Word文件下载.docx_第4页
第4页 / 共23页
汇编语言编译实验指导Word文件下载.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

汇编语言编译实验指导Word文件下载.docx

《汇编语言编译实验指导Word文件下载.docx》由会员分享,可在线阅读,更多相关《汇编语言编译实验指导Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。

汇编语言编译实验指导Word文件下载.docx

b=20;

c=a+b;

}

 

自编源程序:

输入、扫描程序源代码(仅供参考):

   

//程序开始:

 #include<

stdio.h>

#include<

stdlib.h>

#include<

conio.h>

//声明头文件

int 

i;

FILE 

*fp;

char 

buffer[256];

//声明变量

readbuffer()//读字符子程序开始

j=0;

ch;

while(j<

256)

ch=fgetc(fp);

if 

(ch=='

\n'

) 

i=j;

return 

0;

}//

buffer[j]=ch;

//保存字符

++j;

//记录字符个数

}

return 

1;

}//子程序结束

main()//main()开始

if((fp=fopen("

e:

\\a.c"

"

r"

))==NULL)

printf("

THE 

DOESN’T 

OPEN!

"

);

exit(0);

while(!

feof(fp))

j;

readbuffer();

i)

%c"

buffer[j]);

j++;

\n"

getch();

fclose(fp);

}//main()结束

//程序结束

2)改变源文件e:

\\a.c内容为:

sum=0,i;

float 

k;

scanf 

("

%f 

plese 

input 

(0-100) 

to 

total!

&

k)

for(i=0;

i<

i++)

sum 

=sum+i;

运行自编的输入扫描程序,检查输出结果必须与上面输入的源文件中的代码相同。

[实验报告]:

1、写出调试程序出现的问题及解决的方法。

2、写实验报告及程序清单。

3、报告给出测试的结果。

4、实验小结

实验二无符号数的有限自动机的实现

4

无符号数的有限自动机的实现。

利用状态表和有限自动机的运行原理编制程序,使得程序能够识别一个输入串是否为一个无符号定点实数。

[实验题目]:

1、理解有限自动机的作用;

进一步理解自动机理论。

2、用状态图和状态表表示有限自动机;

3、以程序实现有限自动机的运行过程;

掌握文法转换成自动机的技术及有穷自动机实现的方法。

[实验要求]:

1.设计要求:

利用状态图或状态表相关理论,利用有限自动机理论。

2.功能要求:

输入一个单行无空格的字符串(以“#”号结束),如果该字符串是一个合法的输入,则显示“接受”,否则显示“不接受”。

3.输入/输出示例(以无符号定点实数为例):

(1)输入:

“3.14”,输出:

“接受”;

(2)输入:

“3.1.4”,输出:

“不接受”;

(3)输入:

“3ab”,输出:

“不接受”。

[实验提示]:

1、无符号数的BNF描述如下:

1.<

无符号数>

d<

余留无符号数>

|.<

十进制数>

|e<

指数部分>

2.<

3.<

十进制小数>

余留十进制小数>

4.<

e<

|d<

5.<

余留整指数数>

|+<

整指数>

|-<

6.<

7.<

2、将G[<

]文法转换成有限自动机见图1。

图1

3、构造状态矩阵;

将有限自动机的状态S1S2……Sn及输入的字a1a2……am构成一个n*m的矩阵。

1)根据状态矩阵设计出一个词法分析程序识别无符号数。

2)扫描无符号数,根据文法给出无符号数出错的位置。

[实验报告]:

1、写出无符号数词法分析的思想。

2、画出算法流程图。

3、写出调试程序出现的问题及解决的方法。

4、打印实验报告及程序清单。

5、报告给出测试的结果。

6、实验小结

试验示例:

有限自动机的运行

程序功能:

利用状态表和有限自动机的运行原理,识别一个输入串是否为一个有效的无符号定点实数。

例:

运行自编程序后

键盘输入:

1#

输出显示:

接受

3.14#

3ab#

不接受

1.2.3

输入数据要求:

不能有空格,以'

#'

结束(在本程序可以不用'

结束)。

输出:

如果是无符号定点实数,显示“接受”;

否则显示“不接受”。

实验三词法分析处理(查添符号表)

1、查添符号表(标识符为以字母开头的字母数字串)。

2、读标识符若表中已有该标识符,则取出其在表中的位置,输出该标识符极其编号;

否则产生一个新的编号,连同标识符一起添入名表;

最后输出标识符表。

1、了解符号表的几种结构,掌握符号表的存取方法。

2、了解编译时如何对标识符进行处理。

3、掌握词法分析的处理方法。

1、从键盘上输入标识符,标识符之间用逗号隔开,最后以分号结束(也可以用其他符号做结束标志)。

如:

arr,bet,x1,x2,y,addr1;

2、编号从100开始,最后输出的标识符不能有重复出现;

3、标识符的长度必须小于或等于8个字符。

1、根据标识符的文法规则,画出标识符的状态转换图。

2、画出读取标识符的程序框图。

3、写出程序,上机调试并输出结果。

编程说明:

(供参考)

1、变量数组的说明:

1)定义一个工作数组A,该数组有8个元素(标识符长度为8)。

2)定义一个标识符表结构id,其中包含两个成员:

数组name和变量addr。

数组name存放登记标识符名字,长度为8个字符的数组变量,记录了标识符的名字。

本程序只识别标识符的前8个字符,超过8个字符的部分无效。

变量addr则记录标识符编号,即该标识符在符号表中所对应的位置。

3)如果工作数组A中的元素为合法标识符,则将其名字填入结构id中的name数组,将其编号填入addr数组。

如果工作数组A中元素为非法标识符,错误标志errty置1,显示出错信息。

4)用变量K记录读入的标识符个数。

5)用变量I记录每个标识符读入的字符个数。

6)用变量errty记录标识符首字符为非字符的错误标志。

工作数组A中为非法标识符,错误标志errty置1,显示出错信息。

7)用变量errty1记录标识符中有非字母数字字符的错误标志。

2、程序框图:

Y

N

Y

N

YY

y

1、写出查添符号表的设计思想。

4、写出实验报告及程序清单。

实验四词法分析

(2)实验

学时数:

1.设计一个对形如下列的变量说明进行处理的词法分析程序:

constI=10;

j=100;

r=1.23;

c=‘good‘;

t=true;

1.常量说明,常量可以是字母打头的5个长度的数字、字母的组合,最后以“!

”作为结束符。

2.处理各常量说明,计算每个常量的值和类型。

3.输出每个常量的名、值及类型。

1.了解词法分析的主要任务。

2.熟悉编译程序的编制。

3.掌握词法分析的处理方法。

1.写出常量识别的确定自动机(DFA)。

2.写出对应的自动机的语义过程。

3.编写程序。

4.结果分析。

[编程说明]:

1、定义一个工作数组,进行标识符、字符常量、布尔常量的中间处理。

2、定义存放整形、字符型、布尔型常量名的数组。

3、定义存放整型、实型、字符型、布尔型常量名相应值的数组。

词法分析程序与语法分析程序的接口方式:

词法分析程序的主要任务:

就是读源程序,产生单词符号.

词法分析程序的其他任务:

滤掉空格,跳过注释、换行符,追踪换行标志,复制出错源程序,宏展开,……

它所完成的是编译的第一阶段工作。

词法分析程序把字符流的源程序变为单词序列,输出到一个中间文件,这个文件作为语法分析程序的输入继续下一阶段的编译过程。

一般情况下,常将词法分析程序设计成一个子程序即读词程序,由语法分析程序调用。

每当语法程序需要读进一个单词符号时,就调用词法分析子程序。

当词法分析程序识别并组合出一个单词符号时,就通过RETURN语句返回。

返回时应将单词的类别码送入存放类别码的变量单元中,供语法分析程序调用。

单词的种类与词法分析的输出:

单词符号是程序设计语言的基本语法符号。

单词符号一般可分为五种:

1.保留字,也称为关键字。

2.标识符,用来表示各种名字。

3.常数,各种类型的常数。

4.运算符。

5.界符,如逗号,分号,括号,。

词法分析程序所输出的单词符号常常采用二元式表示即属性字:

单词类别

单词值

一个单词的词法分析程序框图:

(供参考)

YN

NN

YY

N

N

Y

1、写出处理常量说明的词法分析程序的思想。

实验五语法分析LL

(1)实验

1、文法规则:

E∷=E+T│E-T

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 人力资源管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1