- 博客(0)
- 资源 (5)
空空如也
编译原理词法分析
实验一 用PL/O语言编写用户源程序
(一)实验目的:
1了解运行TURBO PASCAL系统对计算机软硬件环境的要求。
2熟悉PASCAL系统中的基本语句及文件类型的使用方法。
3掌握PL/O语言源程序的结构及构成规则。
(二)实验内容与步骤
1用PL/0语言编写程序:建立和访问正文文件
2用PL/O语言编写能打印如下图形的程序
*
* * *
* * * * *
* * * * * * *
* * * * * * * * *
3用PL/O语言编写求3~100之间全部素数的程序。
4 将一正数倒置。
5 对任意给定的整数,列出其二进制、八进制、十六进制表示形式。
6深刻理解源程序、目标程序、编译程序的概念。
7用EBNF描述PL/O语言的程序结构及构成规则。
注:
实验二 构造识别符号串的自动机
(一)实验目的:
1掌握形式语言与自动机的概念
2了解正规集及有穷自动机的关系
3能构造识别相应符号串的自动机
4能构造词法分析程序所识别的各类单词的自动机
(二)实验步骤及内容:
1用高级语言编写程序:该程序能接受所有的标识符。
2用高级语言编写程序:该程序能接受所有的常数(整数和定点小数)。
3用高级语言编写程序:该程序能接受PL/0的所有保留字。
4 用高级语言编写程序:该程序能接受PL/0的所有界符、运算符。
(三)有关说明:
1高级及语言可选择 C语言实现。
2以上各程序要求:对输入的任意符号串能给出接受与否的识别信息。
实验三 词法分析程序的构造
(一)实验目的
1掌握PL/O编译程序的使用方法
2掌握PL/O编译程序的总体结构
3掌握PL/O编译程序的词法分析程序
4改编总控程序和词法分析程序
(二)实验内容及步骤
1单词的分类:
可将所有标识符归为一类;将常数归为另一类:保留字、界符、运算符符则可采取一词一类。
2符号表的建立
可事先建立一保留字表,以备识别保留字时进行查询。变量名表及常数表则在词法分析过程中建立。
3单词串的输出形式:
所输出的每一单词,均按形如(CLASS,VALUE)的二元式编码。对于变量标识符和常数,CLASS字段为相应的类别码,VALUE字段是该标识符、常数在其符号表中登记项的序号(要求在变量名表登记项中存放该标识符的字符串,其最大长度为四个字符;常数表登记项中则存放该常数(整数)的二进制形式)。对于保留字、界符和运算符,由于采用一词一类的编码方式,所以仅需在二元式的CLASS字段上放置相应的单词的类别码,VALUE字段则为“空”。(或:为便于查看由词法分析程序输出的单词串也可以在CLASS字段上放置单词符号串本身)。
4编写上述词法分析程序
(三)有关说明:
1该词法分析程序只能识别用PL/O语言书写的简单程序。
2也可改编PL/O的编译程序中的词法分析程序,使之能识别含repeat语句的程序。
2013-05-11
请求分页式存储管理的地址转换过程实现:
利用键盘输入本模拟系统的物理块的大小,作业的页表中的块号;完成逻辑地址转换成相应的物理地址的过程。
1、建立一张位示图,用来模拟内存的分配情况,利用随机数产生一组0和1的数对应内存的使用情况。
2、输入块(页)的大小,通过模拟位示图为本作业分配内存空间建立相应的页表(长度不定);
3、录入逻辑地址转换成相应的物理地址
4、扩充页表,变成请求式的二维页表(增加存在位等)完成地址转换。
5、输入分配给本作业的块数,模拟作业执行的逻辑地址转换成页面调度次序;
6、分别采用OPT、FIFO、LRU置换算法,利用堆栈结构完成页面置换;记录被换出的页面和新换入的页面。
2013-05-11
利用简单的结构和控制方法模拟进程结构、进程状态转换和进程控制
方法:用PCB表示整个进程实体,利用键盘交互式命令控制方法模拟进程执行中产生的事件。
实现过程:
1、 定义PCB(可以采用静态结构或动态结构):包括理论PCB中的基本内容,如ID、进程状态、队列指针。由于无法实现真正的进程创建功能,在实验中只需建立PCB,用它代表完整的进程。
2、 定义进程状态转换方式:进程的状态转换是由进程内部操作或操作系统的控制引起,由于无法实现这些功能,学生可以采用随机数方法或键盘控制方法模拟,并实现对应的控制程序。随机方法指产生1-6的随机数,分别代表创建进程(c)、结束进程(e)、进程阻塞(b)、激活进程(w)、调度进程(p)、时间片到(t)等事件;键盘模拟方法指定义6种按键代表以上6种事件。
3、 根据四种事件处理就绪队列、阻塞队列和当前执行中的进程。
4、 每次事件处理后应形象地显示出当前系统中的执行进程是哪一个,就绪队列和阻塞队列分别包含哪些进程。
2013-04-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人