编译原理考试试卷.docxVIP

  • 11
  • 0
  • 约1.56千字
  • 约 3页
  • 2021-11-13 发布于内蒙古
  • 举报
一、填空题(每空 2 分,共 30 分) 1、编译程序的整个过程可以从逻辑上划分为词法分析、 语法分析 、语义分析、中间代码生成、 代码优化 和目标代码生成等几个阶段, 另外还有两个重要的工 作是 表格管理 和出错处理2、规范规约中的可归约串是 句柄 ,算符优先分析中的可归约串是 最左素短语 。 3、语法分析方法主要可分为 自顶向下 和 自底向上 两大类。 4、LR(0)文法的项目集中不会出现 移进- 归约 冲突和 归约- 归约冲突。 5、数据空间的动存态储分配方式可分为 栈式 和 堆式 两种。 6、编译程序是指能将 源语言 程序翻译成 目标语言 程序的程序。 7、确定有穷自动机 DFA是 NFA 的一个特例。 8、表达式 (a+b)*c 的逆波兰表示为 ab+c* 。 二、选择题(每题 2 分,共 20 分) 1、L R 语法分析栈中存放的状态是识别 B 的 DFA状态。A、前缀 B 、可归前缀 C 、项目 D 、句柄 2、 D 不可能是目标代码。 A、汇编指令代码 B 、可重定位指令代码 C、绝对机器指令代码 D 、中间代码 3、一个控制流程图就是具有 C 的有向图 1、已知 文法 G[S] : S→ Ac|aB A→ ab B→ bc 证明该文法具有二义性 (本题 6 分) 证明:因为该文法的句型 abc 存在如下两棵语法树: 所以,该文法具有二义性 一、 填空题(每空 1分,共 20分) 1.编译过程一般分为 、 、中间代码生成、 和目标代码生成五个阶段。 2.语法分析最常用的两类方法是 和 分析法。 确定的有穷自动机是一个 ,通常表示为 所谓最右推导是指 。 。 语法分析器的任务是 如果一个文法的任何产生式的右部都不含有 。 的非终结符, 则这种文法称为 文法。 7.进行确定的自上而下语法分析要求语言的文法是无 和 的。 8. LR 分析法是一种 的语法分析方法。 9.根据优化对象所涉及的程序范围,代码优化分为 、 和 等。 10.常用的优化技术包括: 、 、强度削弱、复写传播、 等。 二、 是非题(下列各题, 你认为正确的, 请在题后的括号内打“ √”, 错的打“×”。每题 2分,共 20 分) 正规文法产生的语言都可以用上下文无关文法来描述。( ) 仅考虑一个基本块, 不能确定一个赋值是否真是无用的。 ( ) 如果一个文法是递归的, 则其产生的语言的句子是无穷个。 ( ) 四元式之间的联系是通过符号表实现的。 ( ) 二、是非题( 2X10=20分) 1 、× 2 、√ 3 、√ 4 、× 5 、√ 6 、√ 7 、 × 8 、√ 9 、× 10 、 × 三、简答题(见书中相应部分) ( 5X3=15分) 四、解:首先得正规式方程组: S=0A+1B A=1S+1 B=0S+0 求解该方程组得: S=(01|10)(01|10)* ( 8分) 五、解 (2分) 是文法 G[S] 的句型。 短语: E+T*F, T*F ( 2分) 直接短语: T*F ( 2分) 句柄: T*F ( 2分) 六、解: 、因为 FOLLOW(B)=FIRST(c∪) FOLLOW(S)={c,#}(2分 ), 所以构造文法 G[S] 的 LL( 1)分析表 ( 5)如下: a B c # S aBc bAB aAb b b ε ε 符号串 baabbb 是该文法的句子 (3 分) (分析过程略) 。七 (2 分) 所以该文法为 SLR(1) 文法。其分析表如下: (8 分) 状态 ACTION GOTO ( ) # E 0 S2 r2 r2 1 1 acc 2 S2 r2 r2 3 3 S4 4 r1 r1 八、 目标代码为: (10 分)

文档评论(0)

1亿VIP精品文档

相关文档