当前位置:文档之家› 山东大学计算机---编译原理实习题

山东大学计算机---编译原理实习题

山东大学计算机---编译原理实习题
山东大学计算机---编译原理实习题

Pl/0语言文法的BNF表示:

〈程序〉→〈分程序>.

〈分程序〉→ [<常量说明部分>][<变量说明部分>][<过程说明部分>]〈语句〉 <常量说明部分> → const<常量定义>{ ,<常量定义>};

<常量定义> → <标识符>=<无符号整数>

<无符号整数> → <数字>{<数字>}

<变量说明部分> → var<标识符>{ ,<标识符>};

<标识符> → <字母>{<字母>|<数字>}

<过程和说明部分> → <过程首部><分程度>;{<过程说明部分>}

<过程首部> → procedure<标识符>

<语句> → <赋值语句>|<条件语句>|<当型循环语句>|<过程调用语句>|<读语句>|<写语句>|<复合语句>|<空>

<赋值语句> → <标识符>:=<表达式>

<复合语句> → begin<语句>{ ;<语句>}

<条件> → <表达式><关系运算符><表达式>|odd<表达式>

<表达式> → [+|-]<项>{<加减运算符><项>}

<项> → <因子>{<乘除运算符><因子>}

<因子> → <标识符>|<无符号整数>|(<表达式>)

<加减运符> → +|-

<乘除运算符> → *|/

<关系运算符> → =|#|<|<=|>|>=

<条件语句> → if<条件>then<语句>

<过程调用语句> → call<标识符>

<当型循环语句> → while<条件>do<语句>

<读语句> → read(<标识符>{ ,<标识符>})

<写语句> → write(<标识符>{,<标识符>})

<字母> → a|b|c…x|y|z

<数字> → 0|1|2…7|8|9

一.为PL/0语言建立一个词法分程序GETSYM(函数)把关键字、算符、界符称为语言固有的单词,标识符、常量称为用户自定义的单词。为此设置三个全程量:SYM,ID,NUM 。

SYM:存放每个单词的类别,为内部编码的表示形式。

ID:存放用户所定义的标识符的值,即标识符字符串的机内表示。

NUM:存放用户定义的数。

GETSYM要完成的任务:

1.滤掉单词间的空格。

2.识别关键字,用查关键字表的方法识别。当单词是关键字时,将对应的

类别放在SYM中。如IF的类别为IFSYM,THEN的类别为THENSYM。

3.识别标识符,标识符的类别为IDENT,IDRNT放在SYM中,标识符本身

的值放在ID中。关键字或标识符的最大长度是10。

4.拼数,将数的类别NUMBER放在SYM中,数本身的值放在NUM中。

5. 拼由两个字符组成的运算符,如:>=、<=等等,识别后将类别存放在SYM 中。

6. 打印源程序,边读入字符边打印。 由于一个单词是由一个或多个字符组成的,所以在词法分析程序GETSYM 中定义一个读字符过程GETCH 。 二. 为PL/0语言建立一个语法分析程序BLOCK (函数) PL/0编译程序采用一遍扫描的方法,所以语法分析和代码生成都有在BLOCK 中完成。BLOCK 的工作分为两步: a) 说明部分的处理 说明部分的处理任务就是对每个过程(包括主程序,可以看成是一个主过程)的说明对象造名字表。填写所在层次(主程序是0层,在主程序中定义的过程是1层,随着嵌套的深度增加而层次数增大。PL/0最多允许3层),标识符的属性和分配的相对地址等。标识符的属性不同则填写的信息不同。 所造的表放在全程量一维数组TABLE 中,TX 为指针,数组元素为结构体类型数据。LEV 给出层次,DX 给出每层的局部量的相对地址,每说明完一个变量后DX 加1。 例如:一个过程的说明部分为: const a=35,b=49; var c,d,e; procedure p; var g; 对它的常量、变量和过程说明处理后,TABLE 表中的信息如下:

址。

TABLE 表的索引TX 和层次单元LEV 都是以BLOCK 的参数形式出现,在主程序调用BLOCK 时实参的值为0。每个过程的相对起始位置在BLOCK 内置初值DX=3。

2.语句处理和代码生成

对语句逐句分析,语法正确则生目标代码,当遇到标识符的引用则去查TABLE 表,看是否有过正确的定义,若有则从表中取出相关的信息,供代码生成用。PL/0语言的代码生成是由过程GEN 完成。GEN 过程有三个参数,分别代表目

标代码的功能码、层差、和位移量。生成的目标代码放在数组CODE中。CODE是一维数组,数组元素是结构体类型数据。

PL/0语言的目标指令是一种假想的栈式计算机的汇编语言,其格式如下:

其中f代表功能码,l代表层次差,a代表位移量。

目标指令有8条:

① LIT:将常数放到运栈顶,a域为常数。

② LOD:将变量放到栈顶。a域为变量在所说明层中的相对位置,l为调

用层与说明层的层差值。

③ STO:将栈顶的内容送到某变量单元中。a,l域的含义与LOD的相同。

④ CAL:调用过程的指令。a为被调用过程的目标程序的入中地址,l为

层差。

⑤ INT:为被调用的过程(或主程序)在运行栈中开辟数据区。a域为开

辟的个数。

⑥ JMP:无条件转移指令,a为转向地址。

⑦ JPC:条件转移指令,当栈顶的布尔值为非真时,转向a域的地址,否

则顺序执行。

⑧ OPR:关系和算术运算。具体操作由a域给出。运算对象为栈顶和次顶

的内容进行运算,结果存放在次顶。a域为0时是退出数据区。三.建立一个解释执行目标程序的函数

编译结束后,记录源程序中标识符的TABLE表已退出内存,内存中只剩下用于存放目标程序的CODE数组和运行时的数据区S。S是由解释程序定义的一维整型数组。解释执行时的数据空间S为栈式计算机的存储空间。遵循后进先出的规则,对每个过程(包括主程序)当被调用时,才分配数据空间,退出过程时,则所分配的数据空间被释放。

为解释程序定义四个寄存器:

1.I:指令寄存器,存放当前正在解释的一条目标指令。

2.P:程序地址寄存器,指向下一条要执行的目标指令(相当于CODE 数组的下标)。

3.T:栈顶寄存器,每个过程运行时要为它分配数据区(或称为数据段),该数据区分为两部分。

静态部分:包括变量存放区和三个联单元。

动态部分:作为临时工作单元和累加器用。需要时临时分配,用完

立即释放。栈顶寄存器T指出了当前栈中最新分配的单元(T也是

数组S的下标)。

4.B:基地址寄存器,指出每个过程被调用时,在数据区S中给出它分配的数据段起始地址,也称为基地址。每个过程被调用时,在栈

顶分配三个联系单元。这三个单元的内容分别是:

SL:静态链,它是指向定义该过程的直接外过程运行时数据段的基

地址。

DL:动态链,它是指向调用该过程前正在运行过程的数据段的基地

址。

RA:返回地址,记录调用该过程时目标程序的断点,即当时的程序

地址寄存器P的值。

具体的过程调用和结束,对上述寄存器及三个联系单元的填写和恢复由下列目标指令完成。

1.INT 0 a

a:为局部量个数加3

2.OPR 0 0

恢复调用该过程前正在运行过程(或主程序)的数据段的基地址寄存器的值,恢复栈顶寄存器T的值,并将返回地址送到指令寄存器P中。3.CAL l a

a为被调用过程的目标程序的入口,送入指令地址寄存器P中。

CAL指令还完成填写静态链,动态链,返回地址,给出被调用过程的基地址值,送入基址寄存器B中。

例:一个Pl/0源程序及生成的目标代码:

const a=10;

var b,c;

procedure p;

begin

c:=b+a

end;

2int 0 3

3lod 1 3

4lit 0 10

5opr 0 2

6sto 1 4

7opr 0 0

begin

read(b);

while b#0 do

begin

call p;

write(2*c);

read(b)

end

end .

8int 0 5

9opr 0 16

10sto 0 3

11lod 0 3

12lit 0 0

13opr 0 9

14jpc 0 24

15cal 0 2 16lit 0 2 17lod 0 4 18opr 0 4 19opr 0 14 20opr 0 15 21opr 0 16 22sto 0 3 23jmp 0 11 24opr 0 0

山东大学计算机网络试题A

9,IP协议提供的服务是()。 A、尽最大努力传递 B、可靠的 C、面向连接的 D、虚电路 10,网络中,用于报告错误和测试的协议为()。 A、NAT B、OSPF C、ICMP D、RIP 三、填空题(每题0.5分,共8分)。 1.网络可以有多种分类标准,按照覆盖范围(距离)这个标准,网络可以分为____、城域网 和____。 2.服务质量用来描述网络能够提供的服务能力或网络应用的要求,网络中经常使用的服务质量参 数有____、____、____与____等。 3.无线局域网对应的IEEE标准为________,宽带无线网络对应的IEEE标准为____ ____。 4.网络中常见的调制方式有____、____与____。 5.TCP协议中校验和校验的范围包括____、____和______。 6.在以太网中发生冲突后,经常采用________来解决冲突。 7.IP协议中有一个________字段,用于限制分组在网络上的存活时间,避免分组无休止 的在网络上循环。 四、简答计算题(每题5分,共20分) 1.网络使用CRC校验。假设使用的生成式为10011,计算发送数据1101011111的校验和。 2.漏桶和令牌桶是网络中用于流量整形的主要方法。根据所学知识,回答下面问题:

五、论述题(每题8分,共32分) 1.滑动窗口协议是数据链路层的一个重要协议,提供在一条不可靠的线路上可靠的数据递交。根 据所学知识,回答下述问题: 1)发送窗口和接收窗口的含义是什么? 2)滑动窗口是如何提供流量控制的?

山东大学 2014-2015 学年 2 学期 计算机网络(A )课程试卷 ………… … … ……………… 第 3页 共 4 页 4. 地址解析协议(ARP )是网络层一个重要的协议。根据所学知识,回答下面问题: 1)ARP 协议的目的是什么? 2)依据给定内容,完成表格各项,并简述ARP 协议的工作过程。

2017年 山东大学 山大 计算机基础综合 考试大纲

851计算机基础综合考试大纲 计算机基础综合包括数据结构、操作系统、计算机组成原理三部分内容,每部分内容各占1/3。 I 数据结构 课程基本要求 全面系统地掌握队列、堆、栈、树、图等基本数据结构,深刻理解和熟练掌握课程中的典型算法,为计算机学科的学习打下坚实基础。 考试内容 1.链表、间接寻址和模拟指针 2.数组和矩阵 3.堆栈和队列及其应用 4.跳表和散列 5.二叉树和其他树 6.合并/搜索应用,堆和堆排序 7.左高树,霍夫曼编码和竞赛树 8.搜索树, A VL树或红黑树,直方图 9.图 10.图和贪婪算法 11.货箱装载,0/1背包,最短路径和生成树 12.分而治之算法 13.动态编程 14.回溯和分枝定界算法 参考书目

1 《数据结构,算法与应用》----C++语言描述 Data Structures,Algorithms,and Applications in C++ Sartaj Sahni 著汪诗林,孙晓东译 机械工业出版社2000年出版教材科,书店均有 2 《数据结构》殷仁昆著清华大学出版社 II 操作系统 课程基本要求 操作系统是计算机类学科的一门核心专业基础课程,具有较强的理论性和实践性。该课程的主要包括进程管理、内存管理、存储管理(包括文件系统与输入/输出系统)、保护与安全等内容的相关概念、设计原理和实现方法。要求: 1.了解操作系统在计算机系统中的作用、地位、发展和特点。 2.理解操作系统的基本概念、主要功能、主要组成部分,掌握操作系统各 个组成部分的设计方法和实现技术。 3.能够运用所学的操作系统原理、方法和技术对相关问题进行分析和解 决。 考试内容 一、导论 1.操作系统的概念 2.计算机系统的操作、存储结构、输入输出结构和计算机系统的体系结构 3.操作系统的结构组成、操作系统的操作及各部分的功能、高速缓冲存储 器CACHE 4.操作系统的分类和运行环境 二、操作系统结构 1.操作系统提供的服务类型 2.操作系统的用户接口类型

各校电气专业课考试科目

气工程及其自动化包含的二级学科(研究生5个方向): 电机与电器 电力系统及其自动化(电自) 高电压与绝缘技术 电力电子与电力传动 理论电工与新技术 北京工业大学 421自动控制原理 复试:1、电子技术 2、计算机原理 北京航空航天大学 [双控] 432控制理论综合或433控制工程综合 [检测] 433控制工程综合或436检测技术综合 [系统] 431自动控制原理或451材料力学或841概率与数理统计 [模式] (自动化学院)433控制工程综合或436检测技术综合、(宇航学院)423信息类专业综合或431自动控制原理或461计算机专业综合 [导航] (自动化学院)432控制理论综合或433控制工程综合、(宇航学院)431自动控制原理 复试:无笔试。1) 外语口语与听力考核;2) 专业基础理论与知识考核;3) 大学阶段学习成绩、科研活动以及工作业绩考核;4) 综合素质与能力考核 北京化工大学 440电路原理 复试:综合1(含自动控制原理和过程控制系统及工程)、综合2(含自动检测技术装置和传感器原理及应用)、综合3(含信号与系统和数字信号处理) 注:数学可选择301数学一或666数学(单) 北京交通大学 [双控/检测]404控制理论 [模式]405通信系统原理或409数字信号处理 复试: [电子信息工程学院双控]常微分方程 [机械与电子控制工程学院检测]综合复试(单片机、自动控制原理) [计算机与信息技术学院模式] 信号与系统或操作系统 北京科技大学 415电路及数字电子技术(电路70%,数字电子技术30%) 复试: 1.数字信号处理 2.自动控制原理 3.自动检测技术三选一 北京理工大学 410自动控制理论或411电子技术(含模拟数字部分) 复试:微机原理+电子技术(初试考自动控制理论者)、微机原理+自动控制理论(初试考电子技术者)、运筹学+概率论与数理统计。

编译原理期末考试习题及答案

一、填空题|(每题4分,共20分) 1. 乔母斯基定义的3型文法(线性文法)产生式形式 A→Ba|a,或A→aB|a,A,B∈Vn, a,b∈Vt 。 2.语法分析程序的输入是单词符号,其输出是语法单位。 3 型为 B → .aB 的LR(0)项目被称为移进项目,型为 B → a.B 的LR(0) 项目被称为待约项目, 4.在属性文法中文法符号的两种属性分别为继承属性和综合属性。 5、运行时存贮管理方案有静态存储分配、动态存储分配和堆式存储分配和方案。 二.已知文法 G(S) (1) E → T | E+T (2) T → F | F*F (3) F →(E)| i (1)写出句型(T*F+i)的最右推到并画出语法树。(4分) (2)写出上述句型的短语,直接短语和句柄。(4分) 答:(1)最右推到(2分) E ==> T ==> F ==> (E) ==> (E+T) ==> (E+F) ==> (E+i) ==> (T+i) ==> (T*F+i) (2) 语法树(2分) (3)(4分) 短语:(T*F+i),T*F+i ,T*F , i 直接短语:T*F , i 句柄:T*F 三. 证明文法G(S) :S → SaS |ε是二义的。(6分) 答:句子aaa对应的两颗语法树为:

因此,文法是二义文法 四.给定正规文法G(S): (1) S → Sa | Ab |b (2) A → Sa 请构造与之等价的DFA。(6分) 答:对应的NFA为:(6分) 状态转换表: a b {F} Φ{S} {S} {S,A} Φ {S,A} {S,A} {S} 五. 构造识别正规语言b*a(bb*a)*b* 最小的DFA(要求写出求解过程)。(15分)答:(1)对应的NFA(5分) a b {0} {1,3} {0} {1,3} Φ{2,3} {2,3} {1,3} {2,3} (5分) 六. 已知文法G(S) : (1) S → ^ | a | (T) (2) T → T,S | S 试:(1)消除文法的左递归;(4分) (2)构造相应的first 和 follow 集合。(6分) 答:(1)消除文法的左递归后文法 G’(S)为: (1) S → ^ | a | (T)

山东大学计算机图形学2010试卷A(含答案)

(Destnation Postion) glMatrixMode(GL_MODELVIEW) a) glTranslatef(0.0, 0.0, -d); //d>0 b) glTranslatef(0.0, 0.0, d); //d>0 第 1 页共 4 页

第 2 页 共 4 页

A B C g E D a 第 3 页共 4 页

(2)If we can vary the values in the theta array freely, what spatial region can be reached by the tip of the upper arm? 一个中心点在(0.0, 0.2, 0.0) (3)Write out the affine transformation Cube-C. 对于Cube-A:Ry(0)*T(0,0.1,0)*S(0.2,0.2,0.2) 计算得为 0.2 0 0 0.2 0 0 0 0 第 4 页共 4 页

第 4 页 共 4 页 对Cube-B:Ry(0)*T(0,0.2,0)R(z)(45)*T(0,0.5,0)*R(z)(45)*T(0,0.25,0)S(0.05,0.5,0.05) 计算得 0 -1/2 0 -(1+sqrt(2))/4 ? 0 0 sqrt(2)/4+1/5 0 0 1/(20) 0 0 0 0 1 对于Cube-C:Ry(0)*T(0,0.2,0)*R(z)(45)*T(0,0.25,0)*S(0.05,0.5,0.05) 计算得 sqrt(2)/40 -sqrt(2)/40 0 -sqrt(2)/8 sqrt(2)/40 -sqrt(2)/40 0 sqrt(2)/8+1/5 0 0 1/20 0 0 0 0 1

山东大学专科《计算机基础》试题参考答案.doc

专科《计算机基础》试题 一、单项选择 1.完整的计算机系统由(C)组成。 A.运算器、控制器、存储器、输入设备和输出设备B.主机和外部设备 C.硬件系统和软件系统D.主机箱、显示器、键盘、鼠标、打印机2.以下软件中,(B)是系统软件。 A.Word B.Unix C.Excel D.Microsoft office 3.计算机能直接识别的语言是( C )。 A.汇编语言B.自然语言 C 机器语言D.高级语言 4.任何程序都必须加载到( C )中才能被CPU执行。 A.磁盘B.硬盘C.内存D.外存 5.组成计算机的主机的部件是(C )。 A.运算器和控制器B.控制器和寄存器C.CPU和内存D.控制器和内存6.下列关于操作系统的叙述中,正确的是( C ) A.操作系统是软件和硬件之间的接口B.操作系统是源程序和目标程序之间的接口C.操作系统是用户和计算机之间的接口D.操作系统是外设和主机之间的接口7.Windows的目录结构采用的是(A )。 A.树形结构B.线形结构C.层次结构D.网状结构8.Windows XP操作系统是( C ) A.多用户多任务操作系统B.多用户单任务操作系统 C.单用户多任务操作系统D.单用户单任务操作系统 9.Windows XP新增的系统维护功能是( D )。 A.系统数据备份B.磁盘整理C.磁盘清理D.系统还原 10.对于Windows XP的控制面板,以下说法不正确的是(B )。 A.控制面板是一个专门用来管理计算机硬件系统的应用程序 B.从控制面板中无法删除计算机中己经安装的声卡设备 C.对于控制面板中的项目,可以在桌面上建立起它的快捷方式 D.可以通过控制面板删除一个己经安装的应用程序 11.在Word 的编辑状态下,可以同时显示水平标尺和垂直标尺的视图方式是( B )。 A.普通视图B.页面视图C.大纲视图D.全屏幕显示方式 12.关于Word 2003文档窗口的说法,正确的是( C )。 A.只能打开一个文档窗口B.可以同时打开多个文档窗口且窗口都是活动的 C.可以同时打开多个文档窗口,只有一个是活动窗口 D.可以同时打开多个文档窗口,只有一个窗口是可见文档窗口 13.Excel工作表的单元格中( B )。 A.只能包含数字B.可以是数字、字符公式等C.只能包含文字D.以上都不是14.如果想在Word 2003的文档中插入页眉和页脚,应当使用( D )菜单。 A.工具B.插入C.格式D.视图 15.在Excel中,若在某单元格插入函数SUM(D2:$D$4),该函数中对单元格的引用属于(C )。 A.相对引用B.绝对引用C.混合引用D.交叉引用

2018山大计算机基础试卷123含答案本

一、单选 1.第一台电子数字计算机在美国研制成功的,是于(B)。 A.1940年 B.1946年 C.1950年 D.1959年 2.计算机最基本的工作原理是(D)。 A.机电原理 B.存储程序 C.程序控制 D.存储程序与程序控制 3.计算机领域中,客观事物的属性表示为(D)。 A.模拟量 B.处理后数值 C.信息 D.数据 4.按使用范围分类,可以将电子计算机分为(A)。 A.通用计算机和专用计算机 B.电子数字计算机和电子模拟计算机 C.巨型计算机、大中型机、小型计算机和微型计算机 D.科学与过程计算计算机、工业控制计算机和数据计算机 5.(B)表示计算机辅助设计。 A.CAT B.CAD C.CAM D.CAI 6.在微机的配置中常看到“P4\2.4G”字样,其中数字“2.4G”表示(A)。 A.处理器的时钟频率是2.4GHz B.处理器的运算速度是2.4 C.处理器是Pentium4第2.4 D.处理器与内存间的数据交换速率 7.下列计算机存储器中,读写速度最快的是(B)。 A.硬盘 B.内存 C.光盘 D.U盘

8.(A)是以微型计算机为中心,配以相应的外围设备、电源和辅助电路,以及指挥微型计算机工作的系统软件而构成的。 A.微型计算机系统 B.微型计算机 C.服务器 D.微处理器 10.在下列4个数中(B)数值最大。 A.56 B.80H C.123D D.111101B 11.在计算机的存储单元中,一个ASCII码值占用的字节数为(C)。 A.4 B.2 C.1 D.8 12.组成计算机系统的由两大部分是(A)。 A.硬件系统和软件系统 B.输入设备和输出设备 C.系统软件和应用软件 D.主机和外部设备 13.计算机的指令系统能实现的运算有(B)。 A.数值运算和非数值运算 B.算术运算和逻辑运算 C.图形运算和数值运算 D.算术运算和图象运算 14.(D)是计算机指令的集合。 A.汇编语言 B.模拟语言 C.机器语言 D.程序 15.下列四个计算机存储容量的换算公式中,(D)是错误的。 A.1GB=1024MB B.1MB=1024KB C.1KB=1024B D.1KB=1024MB

2021年理科男生就业前景好的专业有哪些

高考志愿填报在即,很多小伙伴是不是都很发愁自己该选一个什么样的专业好一点。 下面是小编整理的2021年适合理科男生,就业前景好的专业。感兴趣的小伙伴快来参考吧。 2020年理科男生就业前景好的专业 飞行器动力工程专业体机械及工程硕士点等,并设有航空宇航科学与技术、力 学博士后流动站。 主要课程 工程力学、工程热力学、结构力学、气体动力学、机械设计基础、机械制造基础、电工和电子技术、微机原理与应用、自动控制原理、测试技术、航空宇航推进原理、发动机设计等。 实训项目 包括金工实习、工程图测绘、认识实习、计算机应用与上机实践、课程设计 (机械原理及机械零件课程设计、动力装置课程设计)、专业综合实验(热工综合实验、自控综合实验)、校外生产实习、毕业设计,一般安排30--35周 发展前景 有相应的硕士/博士学位授予权,毕业生面向航天、航空、船舶、兵器科学技 术等国防科技领域,主要从事飞行器推进系统及热机系统的理论研究、技术开发、总体论证、方案设计、实验技术研究及技术管理等工作。2011年攻读研究生比例 达56.67%。近年来,本专业毕业生就业率达95%以上。 二、网络工程 本专业培养德、智、体等方面全面发展,掌握数学和其他相关的自然科学基础 知识以及计算机和通信基础理论,掌握计算机网络系统的规划设计、维护管理、安全保障和应用开发相关的理论、知识、技能和方法,具有一定的工程管理能力和良好综合素质,能够承担计算机网络系统设计、开发、部署、运行、维护等工作的高级专门技术人才。 主要课程 高等数学、线性代数、概率与统计、离散数学、电路与电子学、数字逻辑电路、数据结构、编译原理、操作系统、数据库系统、汇编语言程序设计、计算机组成原理、微机系统与接口技术、通信原理、通信系统、计算机网络、现代交换原理、

编译原理期末考试题目及答案

一、填空题(每空2分,共20分) 1.编译程序首先要识别出源程序中每个单词,然后再分析每个句子并翻译其意义。 2.编译器常用的语法分析方法有自底向上和自顶向下两种。 3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的分析,中间代码生成、代码优化与目标代码的生成则是对源程序的综合。 4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即静态存储分配方案和动态存储分配方案。 5.对编译程序而言,输入数据是源程序,输出结果是目标程序。 1.计算机执行用高级语言编写的程序主要有两种途径:解释和编译。 2.扫描器是词法分析器,它接受输入的源程序,对源程序进行词法分析并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。 3.自下而上分析法采用移进、归约、错误处理、接受等四种操作。 4.一个LL(1)分析程序需要用到一张分析表和符号栈。 5.后缀式abc-/所代表的表达式是a/(b-c)。 二、单项选择题(每小题2分,共20分) 1.词法分析器的输出结果是__C。 A.单词的种别编码B.单词在符号表中的位置 C.单词的种别编码和自身值D.单词自身值 2.正规式M 1 和M 2 等价是指__C_。 A.M1和M2的状态数相等 B.M1和M2的有向边条数相等 C.M1和M2所识别的语言集相等D.M1和M2状态数和有向边条数相等 3.文法G:S→xSx|y所识别的语言是_C____。 A.xyx B.(xyx)* C.xnyxn(n≥0) D.x*yx* 4.如果文法G是无二义的,则它的任何句子α_A____。 A.最左推导和最右推导对应的语法树必定相同B.最左推导和最右推导对应的语法树可能不同 C.最左推导和最右推导必定相同D.可能存在两个不同的最左推导,但它们对应的语法树相同5.构造编译程序应掌握____D__。 A.源程序B.目标语言C.编译方法D.以上三项都是 6.四元式之间的联系是通过__B___实现的。 A.指示器B.临时变量C.符号表D.程序变量 7.表达式(┐A∨B)∧(C∨D)的逆波兰表示为__B___。 A.┐AB∨∧CD∨B.A┐B∨CD∨∧ C.AB∨┐CD∨∧D.A┐B∨∧CD∨ 8. 优化可生成__D___的目标代码。 A.运行时间较短 B.占用存储空间较小 C.运行时间短但占用内存空间大D.运行时间短且占用存储空间小 9.下列___C___优化方法不是针对循环优化进行的。 A. 强度削弱B.删除归纳变量C.删除多余运算D.代码外提 10.编译程序使用_B_区别标识符的作用域。 A. 说明标识符的过程或函数名B.说明标识符的过程或函数的静态层次 C.说明标识符的过程或函数的动态层次 D. 标识符的行号 三、判断题(对的打√,错的打×,每小题1分,共10分) 2.一个有限状态自动机中,有且仅有一个唯一的终态。x

编译原理

一、选择 1.将编译程序分成若干个“遍”是为了_使程序的结构更加清晰__。 2.正规式 MI 和 M2 等价是指__.M1 和 M2 所识别的语言集相等_。 3.中间代码生成时所依据的是 _语义规则_。 4.后缀式 ab+cd+/可用表达式__(a+b)/(c+d)_来表示。 6.一个编译程序中,不仅包含词法分析,_语法分析 ____,中间代码生成,代码优化,目标代码生成等五个部分。 7.词法分析器用于识别__单词___。 8.语法分析器则可以发现源程序中的___语法错误__。 9.下面关于解释程序的描述正确的是__解释程序的特点是处理程序时不产生目标代码 ___。 10.解释程序处理语言时 , 大多数采用的是__先将源程序转化为中间代码 , 再解释执行___方法。 11.编译过程中 , 语法分析器的任务就是__(2)(3)(4)___。 (1) 分析单词是怎样构成的 (2) 分析单词串是如何构成语句和说明的 (3) 分析语句和说明是如何构成程序的 (4) 分析程序的结构 12.编译程序是一种__解释程序__。 13.文法 G 所描述的语言是_由文法的开始符号推出的所有终极符串___的集合。 14.文法分为四种类型,即 0 型、1 型、2 型、3 型。其中 3 型文法是___正则文法__。 15.一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组 _产生式__。 16.通常一个编译程序中,不仅包含词法分析,语法分析,中间代码生成,代码优化,目标代码生成等五个部分,还应包括_表格处理和出错处理__。 17.文法 G[N]= ( {b} , {N , B} , N , {N→b│ bB , B→bN} ),该文法所描述的语言是L(G[N])={b2i+1│ i ≥0} 18.一个句型中的最左_简单短语___称为该句型的句柄。 19.设 G 是一个给定的文法,S 是文法的开始符号,如果 S->x( 其中 x∈V*), 则称 x 是 文法 G 的一个__句型__。 21.若一个文法是递归的,则它所产生的语言的句子_是无穷多个___。 22.词法分析器用于识别_单词_。 23.在语法分析处理中, FIRST 集合、 FOLLOW 集合、 SELECT 集合均是_终极符集 ___。 24.在自底向上的语法分析方法中,分析的关键是_寻找句柄 ___。 25.在 LR 分析法中,分析栈中存放的状态是识别规范句型__活前缀__的 DFA 状态。 26.文法 G 产生的__句子___的全体是该文法描述的语言。 27.若文法 G 定义的语言是无限集,则文法必然是 __递归的_ 28.四种形式语言文法中,1 型文法又称为 _短语结构文法__文法。 29.一个文法所描述的语言是_唯一的__。 30. _中间代码生成___和代码优化部分不是每个编译程序都必需的。 31._解释程序和编译程序___是两类程序语言处理程序。 32.数组的内情向量中肯定不含有数组的_维数___的信息。 33. 一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组__D___。 34.文法分为四种类型,即 0 型、1 型、2 型、3 型。其中 2 型文法是__上下文无关文法__。 35.一个上下文无关文法 G 包括四个组成部分,它们是:一组非终结符号,一组终结符号,一个开始符号,以及一组 __产生式___。 36.__ BASIC ___是一种典型的解释型语言。 37.与编译系统相比,解释系统___比较简单 , 可移植性好 , 执行速度慢__。 38.用高级语言编写的程序经编译后产生的程序叫__目标程序___。 39.编写一个计算机高级语言的源程序后 , 到正式上机运行之前,一般要经过__(1)(2)(3)__这几步: (1) 编辑 (2) 编译 (3) 连接 (4) 运行 40.把汇编语言程序翻译成机器可执行的目标程序的工作是由__编译器__完成的。 41.词法分析器的输出结果是__单词的种别编码和自身值__。 42.文法 G :S→xSx|y 所识别的语言是_ xnyxn(n≥0)___。 43.如果文法 G 是无二义的,则它的任何句子α__最左推导和最右推导对应的语法树必定相同_。 44.构造编译程序应掌握___源程序目标语言编译方法___。 45.四元式之间的联系是通过__临时变量___实现的。 46.表达式( ┐ A ∨B)∧(C∨D)的逆波兰表示为___ A ┐ B∨CD∨∧__。 47. 优化可生成__运行时间短且占用存储空间小___的目标代码。 48.下列__删除多余运算 ____优化方法不是针对循环优化进行的。 49.编译程序使用__说明标识符的过程或函数的静态层次___区别标识符的作用域。 50.编译程序绝大多数时间花在___表格管理__ 上。 51.编译程序是对__高级语言的翻译___。

山东大学计算机学院人机交互实验指导书资料

山东大学软件学院 软件工程专业《人机交互技术》课程 实验指导书 山东大学 软件学院 2015年9月

《人机交互技术》课程实验教学大纲 一.实验教学的目的 通过《人机交互技术》实验课程的实践,使学生了解《人机交互技术》与计算机图形、程序设计、认知心理学以及计算机硬件的发展等领域密切相关,本课程在2013年春节课程的实验安排采用Android系统,通过开发并创建个Android应用程序,并在PC机上模拟Android 手机环境下或连接手机环境下进行开发和运行。加深学生对人机交互知识的理解,增强学生的实际运用能力和开发高可用性的交互界面的能力,了解和掌握最新的人机交互开发工具和手段,方法。 二.实验教学的任务 了解利用Android系统进行人机交互系统或界面开发的系统通过案例学习,让学生了解不同的人机交互模型设计类型,以及成功与失败案例所带来的启示。通过原型设计使学生了解原型的作用,并了解用户需求对设计一个良好人机交互界面的重要性。通过原型和界面评估,使学生掌握针对交互系统的评估方法。 三.实验教学的环境 在游戏与动漫实训中心的PC机房进行。 开发和运行环境:MS Windows XP 或Windows 7 ; Android2.1及以上版本; JA V A的IDE开发工具– Eclipse,Java开发包— Java SE Development Kit (JDK) JDK 6; Android开发包— Android SDK For Windows 四.具体实验题目名称和学时分配、适用专业及实验性质(设计性、综合性、验证性)

(2)编程实现扩展列表视图的实机界面。 3 (1)编程实现滚动视 图(ScrollView) 2 计算机科学技 术/软件工程 设计性必开 4 基于Android的二维交互 游戏:利用Android2.1以上系 统,搭建二维游戏平台,通过 键盘鼠标交互方式,实现综合 养成、解谜、休闲、角色扮演 和移动应用的3G游戏。 8 计算机科学技 术/软件工程 综合性必开

山东大学专科《计算机基础》试题参考答案

专科《计算机基础》试题 、 单项选择 1.完整的计算机系统由( C )组成。 A .运算器、控制器、存储器、输入设备和输出设备 B .主机和外部设备 C ?硬件系统和软件系统 D ?主机箱、显示器、键盘、鼠标、打印机 2.以下软件中, ( B )是系统软件。 A ? Word B ? Unix C . Excel D . Microsoft office 3.计算机能直接识别的语言是( C )。 A.汇编语言 E.自然语言 C 机器语言 D.高级语言 4?任何程序都必须加载到( C )中才能被CPU 执行。 A . 磁盘 B . 硬盘 5.组成计算机的主机的部件是( C )。 A .运算器和控制器 B .控制器和寄存器 6.下列关于操作系统的叙述中,正确的是( A.操作系统是软件和硬件之间的接口 C.操作系统是用户和计算机之间的接口 7. Windows 的目录结构采用的是( A )。 A .树形结构 B .线形结构 & Windows XP 操作系统是(C ) A .多用户多任务操作系统 C .单用户多任务操作系统 9. Windows XP 新增的系统维护功能是(D A .系统数据备份 B .磁盘整理 10.对于 Windows XP 的控制面板,以下说法不正确的是( B )。 A .控制面板是一个专门用来管理计算机硬件系统的应用程序 B .从控制面板中无法删除计算机中己经安装的声卡设备 C .对于控制面板中的项目,可以在桌面上建立起它的快捷方式 D .可以通过控制面板删除一个己经安装的应用程序 11.在 Word 的编辑状态下,可以同时显示水平标尺和垂直标尺的视图方式是( B )。 A .普通视图 B .页面视图 C .大纲视图 D .全屏幕显示方式 12.关于 Word 2003文档窗口的说法,正确的是( C )。 A .只能打开一个文档窗口 B .可以同时打开多个文档窗口且窗口都是活动的 C .可以同时打开多个文档窗口,只有一个是活动窗口 D .可以同时打开多个文档窗口,只有一个窗口是可见文档窗口 13.Excel 工作表的单元格中( B )。 A .只能包含数字 B .可以是数字、字符公式等 C .只能包含文字 D .以上都不是 14.如果想在 Word 2003的文档中插入页眉和页脚,应当使用 ( D ) 菜单。 A .工具 B .插入 C .格式 D .视图 15.在 Excel 中,若在某单元格插入函数 SUM (D2:$D$4) ,该函数中对单元格的引用属于( C )。 A .相对引用 B .绝对引用 C .混合引用 D .交叉引用 16.Excel 2003 的工作表最多有( C )列 A . 16 B . 65536 C . 256 D . 1024 17.在 PowerPoint2003 中,在( D )视图“超链接”功能才起作用。 C .内存 D .外存 C . CPU 和内存 D .控制器和内存 C ) E.操作系统是源程序和目标程序之间的接口 D.操作系统是外设和主机之间的接口 C .层次结构 D .网状结构 B .多用户单任务操作系统 D .单用户单任务操作系统 )。 C .磁盘清理 D .系统还原

编译原理试题及答案3

编译原理复习题 一、填空题: 1、编译方式与解释方式的根本区别在于(是否生成目标代码)。 2、对编译程序而言,输入数据是(源程序),输出结果是(目标程序)。 3、如果编译程序生成的目标程序是机器代码程序,则源程序的执行分为两大阶段:(编译阶段)和(运行阶段)。 4、如果编译程序生成的目标程序是汇编语言程序,则源程序的执行分成三个阶段:(编译阶段)、(汇编阶段)和(运行阶段)。 5、自顶向下语法分析方法会遇到的主要问题有(回溯)和((左递归带来的)无限循环)。 6、LL(k)分析法中,第一个L的含义是(从左到右进行分析),第二个L的含义是(每次进行最左推导),“k”的含义是(向输入串中查看K个输入符号)。 7、LL(1)分析法中,第一个L的含义是(从左到右进行分析),第二个L的含义是(每次进行最左推导),“1”的含义是(向输入串中查看1个输入符号)。 8、自顶向下语法分析方法的基本思想是:从(识别符号)出发,不断建立(直接推导),试图构造一个推导序列,最终由它推导出与输入符号相同的(符号串)。 9、自底向上语法分析方法的基本思想是:从待输入的符号串开始,利用文法的规则步步向上进行(直接归约),试图(归约)到文法的(识别符号|开始符号)。 10、LR(0)分析法的名字中,“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“0”的含义是(向貌似句柄的符号串后查看0个输入符号)。 11、LR(1)分析法的名字中,“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“1”的含义是(向貌似句柄的符号串后查看1个输入符号)。 12、SLR(1)分析法的名字中,“S”的含义是(简单的),“L”的含义是(从左到右进行分析),“R”的含义是(采用最右推导的逆过程---最左归约),“1”的含义是(向貌似句柄的符号串后查看1个输入符号)。 13、在编译过程中,常见的中间语言形式有(逆波兰表示)、(三元式)、(四元式)和(树形表示)。 14、在编译程序中安排中间代码生成的目的是(便于代码优化)和(便于目标程序的移植)。 15、表达式-a+b*(-c+d)的逆波兰表示为(a-bc-d+*+ )。 16、表达式a+b*(c+d/e)的逆波兰表示为(abcde/+*+ )。 17、表达式a:=a+b*c↑(d/e)/f的逆波兰表示为(aabcde/↑*f/+:= )。 18、文法符号的属性有(继承属性)和(综合属性)两种。 19、一个文法符号的继承属性是通过语法树中它的(兄弟结点与父)结点的相应文法符号的属性来计算的。 20、一个文法符号的综合属性是通过语法树中它的(子)结点的属性来计算的。

全国计算机专业大学排名一览表

全国计算机专业大学排名一览表 计算机系统结构前20名(总共47所高校) 1.清华大学, 2.华中科技大学, 3.西安交通大学, 4.上海交通大学, 5.浙江大学, 6.西安电子科技大学, 7.武汉大学, 8.复旦大学, 9.哈尔滨工业大学,10.东北大学,11.北京大学,12.东南大学,13.北京航空航天大学,14.中国科学技术大学,15.电子科技大学,16. 吉林大学,17.南京理工大学,18.重庆大学,19.北京科技大学,20.同济大学 计算机软件与理论前40名(总共158所高校) 1.上海交通大学, 2.南京大学, 3.北京大学, 4.北京航空航天大学, 5.吉林大学, 6.清华大学, 7.浙江大学, 8.西安交通大学, 9. 东南大学,10.电子科技大学,11.中国科学技术大学,12.哈尔滨工 业大学,13.大连理工大学,14.华中科技大学,15.武汉大学,16. 复旦大学,17.中山大学,18.西安电子科技大学,19.东北大学,20.西北工业大学,21.北京理工大学,22.北京交通大学,23.南京理工 大学,24.重庆大学,25.山东大学,26.四川大学,27.中南大学,28.云南大学,29.上海大学,30.同济大学,31.河海大学,32.北京 邮电大学,33.山东科技大学,34.中国人民大学,35.南京邮电大学,36.西北大学,37.武汉理工大学,38.贵州大学,39.陕西师范大学,40.天津大学 1.清华大学, 2.浙江大学, 3.哈尔滨工业大学, 4.北京大学, 5.东南大学, 6.东北大学, 7.西北工业大学, 8.安徽大学, 9.上海交 通大学,10.华中科技大学,11.北京航空航天大学,12.北京理工大学,13.西安电子科技大学,14.西安交通大学,15.吉林大学,16. 西南交通学,17.大连理工大学,18.电子科技大学,19.北京工业大学,20.重庆大学,21.复旦大学,22.哈尔滨工程大学,23.武汉理 工大学,24.武汉大学,25.同济大学,26.南京大学,27.中国科学 技术大学,28.华南理工大学,29.南京理工大学,30.四川大学,31.

词法分析器语法分析器实验报告(编译原理超实用)

山东大学 编译技术课程设计 班级软件一班 学号2008008000XX 姓名软件一班万岁 指导老师贺老师 二零一一年三月

一、目的 <<编译技术>>是理论与实践并重的课程,而其实验课要综合运用一、二年级所学的多门课程的内容,用来完成一个小型编译程序。从而巩固和加强对词法分析、语法分析、语义分析、代码生成和报错处理等理论的认识和理解;培养学生对完整系统的独立分析和设计的能力,进一步培养学生的独立编程能力。 二、任务及要求 基本要求: 1.词法分析器产生下述小语言的单词序列 这个小语言的所有的单词符号,以及它们的种别编码和内部值如下表: 对于这个小语言,有几点重要的限制: 首先,所有的关键字(如IF﹑WHILE等)都是“保留字”。所谓的保留字的意思是,用户不得使用它们作为自己定义的标示符。例如,下面的写法是绝对禁止的: IF(5)=x 其次,由于把关键字作为保留字,故可以把关键字作为一类特殊标示符来处理。也就是说,对于关键字不专设对应的转换图。但把它们(及其种别编码)预先安排在一张表格中(此表叫作保留字表)。当转换图识别出一个标识符时,就去查对这张表,确定它是否为一个关键字。 再次,如果关键字、标识符和常数之间没有确定的运算符或界符作间隔,则必须至少用一个空白符作间隔(此时,空白符不再是完全没有意义的了)。例如,一个条件语句应写为

IF i>0 i= 1; 而绝对不要写成 IFi>0 i=1; 因为对于后者,我们的分析器将无条件地将IFI看成一个标识符。 这个小语言的单词符号的状态转换图,如下图: 2.语法分析器能识别由加+ 减- 乘* 除/ 乘方^ 括号()操作数所组成的算术表达式,其文法如下: E→E+T|E-T|T T→T*F|T/F|F F→P^F|P p→(E)|i 使用的算法可以是:预测分析法;递归下降分析法;算符优先分析法; LR分析法等。 3.中间代码生成器产生上述算术表达式的中间代码(四元式序列)

基于编译原理的计算器设计与实现

基于编译原理的计算器设计与实现 首先看一下这个计算器的功能: CALC> set a = 1; b = 2 CALC> set c = 3 CALC> calc (10 + pow(b, c)) * sqrt(4) - 1 35.0 CALC> exit 如上所示,这个计算器的功能非常简单: 1.用set命令设置上下文中的变量。 2.用calc命令计算一个表达式的值。 3.用exit命令退出计算器。 我们把编译的重点放在calc命令后面的计算表达式的解析,其它的部分我们可以简单处理(如set命令可以这样简单处理:先按分号分隔得到多个赋值处理,再按等号分隔就可以在上下文中设置变量了,并不需要复杂的编译过程)。 如上的演示例子中,我们使用编译技术处理的部分是(10 + pow(b, c)) * sqrt(4) - 1,其它部分我们只使用简单的文本处理。 麻雀虽小,但五脏俱全,这个计算器包含编译技术中最必要的部分。虽然这次我们只是实现了一个计算器,但所使用的技术足以实现一个简单的脚本语言的解释器了。 这个计算器分为如下几个部分: 词法分析:把表达式的文本,解析成词法元素列表(tokenList)。 语法分析:把tokenList解析成语法树(syntaxTree)。 语义分析:把语法树转成汇编语言的代码(asm) 汇编器:把汇编代码翻译为机器码(字节码)。 虚拟机:执行字节码。 一般的编译步聚中不包含“汇编器”和“虚拟机”,而这里之所以包含这两个部分是因为:通常编译器会直接由中间代码生成机器码,而不是生成汇编代码,而这里我之所以要生成汇编代码的原因是“调试的时候汇编的可读性很好”,如果直接生成目标代码,则会非常难用肉眼来阅读。 自己实现虚拟机的原因是:现有的机器(包括物理机和虚拟机以及模拟器)的指令虽然也很丰富,但似乎都没有直接计算“乘方”或“开方”的指令,自已实现虚拟机可以任意设计计算指令,这样可以降低整个程序的复杂度。 因汇编器与虚拟机并不是编译原理的部分,所以下文中并不会描述其实现细节,但因为计算器代码编译后的目标代码就是汇编代码,所以需要把汇编指令做一下说明(以下把这个汇编语言简称为ASM)。

编译原理简明教程答案.doc

编译原理简明教程答案 【篇一:8000 份课程课后习题答案与大家分享~~】 > 还有很多,可以去课后答案网 (/bbs )查找。 ################## 【公共基础课-答案】 #################### 新视野大学英语读写教程答案(全) 【khdaw 】 /bbs/viewthread.php?tid=108fromuid=1429267 概率论与数理统 计教程(茆诗松著) 高等教育出版社课后答案 /bbs/viewthread.php?tid=234fromuid=1429267 高等数学(第五 版)含上下册高等教育出版社课后答案 d.php?tid=29fromuid=1429267 新视野英语听力原文及答案课后答 案 【khdaw 】 /bbs/viewthread.php?tid=586fromuid=1429267 线性代数(同济 大学应用数学系著) 高等教育出版社课后答案 /bbs/viewthread.php?tid=31fromuid=1429267 21 世纪大学英语 第3 册(1-4)答案 【khdaw 】 /bbs/viewthread.php?tid=285fromuid=1429267 概率与数理统计 第二,三版(浙江大学盛骤谢式千潘承毅著) 高等教育出版社课后答案 d.php?tid=32fromuid=1429267 复变函数全解及导学[西安交大第四版] 【khdaw 】 /bbs/viewthread.php?tid=142fromuid=1429267 大学英语精读第 三版2 册课后习题答案 /bbs/viewthread.php?tid=411fromuid=1429267 线性代数(第二版) 习题答案 /bbs/viewthread.php?tid=97fromuid=1429267 21 世纪(第三册) 课后答案及课文翻译(5-8)【khdaw 】 /bbs/viewthread.php?tid=365fromuid=1429267 大学英语精读第 2 册课文翻译(上外)

编译原理试题及答案

参考答案 一、单项选择题(共10小题,每小题2分,共20分) 1.语言是 A .句子的集合 B .产生式的集合 C .符号串的集合 D .句型的集合 2.编译程序前三个阶段完成的工作是 A .词法分析、语法分析和代码优化 B .代码生成、代码优化和词法分析 C .词法分析、语法分析、语义分析和中间代码生成 D .词法分析、语法分析和代码优化 3.一个句型中称为句柄的是该句型的最左 A .非终结符号 B .短语 C .句子 D .直接短语 4.下推自动机识别的语言是 A .0型语言 B .1型语言 C .2型语言 D .3型语言 5.扫描器所完成的任务是从字符串形式的源程序中识别出一个个具有独立含义的最小语法单位即 A . 字符 B .单词 C .句子 D .句型 6.对应Chomsky 四种文法的四种语言之间的关系是 A .L 0?L 1?L 2?L 3 B .L 3?L 2?L 1?L 0 C .L 3=L 2?L 1?L 0 D .L 0?L 1?L 2=L 3 7.词法分析的任务是 A .识别单词 B .分析句子的含义 C .识别句子 D .生成目标代码 8.常用的中间代码形式不含 A .三元式 B .四元式 C .逆波兰式 D .语法树 9. 代码优化的目的是 A .节省时间 B .节省空间 C .节省时间和空间 D .把编译程序进行等价交换 10.代码生成阶段的主要任务是 A .把高级语言翻译成汇编语言 B .把高级语言翻译成机器语言 C .把中间代码变换成依赖具体机器的目标代码 装 订 线

D.把汇编语言翻译成机器语言 二、填空题(本大题共5小题,每小题2分,共10分) 1.编译程序首先要识别出源程序中每个(单词),然后再分析每个(句子)并翻译其意义。2.编译器常用的语法分析方法有(自底向上)和(自顶向下)两种。 3.通常把编译过程分为分析前端与综合后端两大阶段。词法、语法和语义分析是对源程序的(分析),中间代码生成、代码优化与目标代码的生成则是对源程序的(综合)。 4.程序设计语言的发展带来了日渐多变的运行时存储管理方案,主要分为两大类,即(静态存储分配)方案和(动态存储分配)方案。 5.对编译程序而言,输入数据是(源程序),输出结果是(目标程序)。 三、名词解释题(共5小题,每小题4分,共20分) 1.词法分析 词法分析的主要任务是从左向右扫描每行源程序的符号,按照词法规则 从构成源程序的字符串中识别出一个个具有独立意义的最小语法单位, 并转换成统一的内部表示(token),送给语法分析程序。 2.LL(1)文法 若文法的任何两个产生式A →α | β都满足下面两个条件: (1)FIRST(α) ? FIRST(β ) = φ; (2)若β?* ε,那么FIRST(α) ? FOLLOW( A ) = φ。 我们把满足这两个条件的文法叫做LL(1)文法,其中的第一个L代表从左 向右扫描输入,第二个L表示产生最左推导,1代表在决定分析器的每步 动作时向前看一个输入符号。除了没有公共左因子外,LL(1)文法还有一 些明显的性质,它不是二义的,也不含左递归。 3.语法树 句子的树结构表示法称为语法树(语法分析树或语法推导树)。 给定文法G=(V N,V T,P,S),对于G的任何句型都能构造与之关联的 语法树。这棵树具有下列特征: (1)根节点的标记是开始符号S。 (2)每个节点的标记都是V中的一个符号。 (3)若一棵子树的根节点为A,且其所有直接子孙的标记从左向右的排列 次序为A1A2…A R,那么A→A1A2…A R一定是P中的一条产生式。

相关主题
文本预览
相关文档 最新文档