2001 年上海华东师范大学编译原理考研真题
1.[10 分]
举例说明下述概念∶
(1)文法、句型、句子和语言;
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
________________________________
(2)短语和句柄(柄短语);
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
________________________________
(3)运算符文法、运算符优先文法和素短语;
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
________________________________
(4)二义性文法。
_______________________________________________________________________________
_______________________________________________________________________________
_______________________________________________________________________________
________________________________
2.[10 分]
修改后的文法是不是 LL(1)文法?如果不是,'将修改后的文法改成 LL(1)文法。 (3)
用递归子程序法构造修改后的文法的句法分析程序
3.[10 分]
(1)设 VT={a,b},试构造正则表达式 R=(a|b)bb 的确定性有限状态自动机。
(2)你所构造有限状态自动机是否已最小化?如果是,请说明理由。如果不是,请将你所构
造有 善鞣继甥豫淤参繁善译意 限状态自动机最小化。
4.[10 分]C 语言的 for 语句的格式是∶
试设计有关中间代码,并给出符合上述定义的 for 语句的句法制导翻译定义。
5.[10 分]考察如下 PASCAL 程序∶
试用图表示程序流到达 L2 前运行栈中调用记录和区头地址表变化情况。
(共 50 分)《数据结构》
一、简答题(每小题 4 分,共 32 分)
(1)画出广义表(((c)))。
(2)对于给定的线性表 B= (77,3,19,40,15,33,7,66),画出用快速排 序进行排
序时每一遍处理后的结果。
(3)三维数组 a[t1][2][3]的地址公式为&a[i][][k]=&a[0][0][0]]+__________________
×s (s = size of (date type))。
(4)画出树的扩充标准形式存贮结构中的一个结点所具有的形式。
(5)将下图中森林转换成所对应的一棵二叉树。
(6)已 知一棵 二叉树的中序遍历序列为 ABEDGIHCF,后 序遍 历列为 AEBHIGFCD,画出
这棵树来。
(7)在穿线树 T 中,分别写出由指针 t 所指的结点无左孩子和无右孩子的判定条件。
(8)对结点序列 51,31,25,69,53,43,37,99,进行堆排序时,画出用书上 siftdown
函数所建立的初始堆。
二、写函数(共 18 分)
1 写一个对给定的循环双向链表进行改进的冒泡排序的函数。(所谓改进的冒泡排 序指的
是∶排序过程中如果执行某一遍的各次比较时没有出现结点的值的交换,就不用进行下一遍
的比较的冒泡排序。)(10 分)
2 已知一个有向图的逆邻接表,写一函数建立此图的邻接矩阵。(8 分)