【简答题】
[1/18]简述标识符的处理算法?
参考答案:
A.每当进入新的局部化区时,记住本层符号表SYMBL的初始地址。 B.每当遇定义性标识符时,构造其语义字并查本层 SYMBL表,若查到同名标识符,则表示有错,否则往SYMBL表里填写标识符和语义字。 C.每当遇使用性标识符时,查整 个SYMBL表(从内向外),若查不到同名标识符,则表示有错,否则找出相应语义字并传给有关部分。 D.每当结束一个局 部化区时,删除本层SYMBL表。
参考解析:
无
【简答题】
[2/18]利用代码优化的思想(代码外提和强度削弱等),按你的想法改写下面C程序中的循环,写出优化后的C程序
参考答案:
改写后的程序: main() { int i , j , n , m , k ; int *p; int r[20][10]; p=&r[0][0]; n=0; for(i=0;i<20;i++) { k=n; n=n+10; m=0; for(j=0;j<10;j++) { *p=m; p++; m=m+k; } } }
参考解析:
无
【简答题】
[3/18]简述编译器的查错与改错的作用?
参考答案:
查错:准确而及时地将源程序中的各种错误查找出来,并能以简明的形式向用户报告这些错误的性质及出现的具体位 置。 改错:当编译程序发现源程序中的一个错误时,适当地对源程序做一些修补工作,使编译程序不至于在一发现有 错就中止它的工作,以期在一次编译的过程中尽可能多地将源程序中的错误查找出来。
参考解析:
无
【简答题】
[4/18]简述编译程序的组成部分及各部分的主要功能?
参考答案:
词法分析(将源程序扫描为单词符号串) 语法分析(将单词符号串组合成各类语法单位) 中间代码生成(对各类语法单 位按语言语义进行初步翻译) 中间代码优化(针对中间代码的效率进行优化) 目标代码生成(将中间代码转换为特定 的目标代码) 表格管理(保留编译过程中的各种信息并进行管理) 出错处理(发现并报告程序中的各种错误)
参考解析:
无
【简答题】
[5/18]直接写出表达式 X*Y+Z+X*Y 的四元式,其中X,Y,Z均为正整数。(写出两种答案)
参考答案:
一:(*,X,Y,T1) (+,T1,Z,T2) (*,X,T,T3) (+,T2,T3,T4) 答案二:(*,X,Y,T1) (+,T1,Z,T2) (+,T2,T1,T3)
参考解析:
无
【简答题】
[6/18]已知文法G[E] 为: ①.给出句子 i/(i+i) 和 (i+i)*(i-i) 的规范推导(最右推导)过程。 ②.构造 i*i-i 和 i*i/i ...
参考答案:
da12021224113021
参考解析:
无
【简答题】
[7/18]试将图 的ε-自动机转换为等价的自动机,即 消去ε边:
参考答案:
da1202122411293
参考解析:
无
【简答题】
[8/18]设字母表Σ={ x , y } : ①.写出正则表达式,由它所定义的集合中的每个元素都以 ‘xy’ 开头且以 ‘yx’ 结尾。 ②.写出正则表达式, ...
参考答案:
(1)xy(x|y)*yx|xyx (2)(x|y)*(xx|yyy)(x|y)*
参考解析:
无
【简答题】
[9/18]在简单优先分析方法中,所谓简单优先文法是指该文法的任意两条产生式没有相同的候选式,且任意两个文法符号之间至多 存在(____)种优先关系。
参考答案:
1
参考解析:
无
【简答题】
[10/18]将高级语言源程序翻译为低级语言程序的方法按原理可分为两类:(____)和编译。
参考答案:
解释
参考解析:
无