编译原理要背的简答题


【编译原理博客列表】》》》》》》


一、第一章:引言

1.简述编译器与解释器的主要共同点以及工作方式的差异。

  • 共同点: 均完成对源程序的翻译;
  • 差异:编译器采用先翻译后执行,解释器采用边翻译边执行。

2.解释什么是编译器的扫描遍数

编译器工作的每个阶段对以某种形式表示的完整程序进行一遍分析,每个阶段将程序完整分析一遍的工作模式称为一遍扫描。

3.简述语言的语法和语义,并举一个实际的例子加以说明

语法规定了句子形成的规则,表述了语言的形式,或者说语言的样子和结构,也被称为语法规则。根据语法规则可以识别记号流中的语言结构,也被称为语法分析。
语义揭示了语言本身的含义、施加于语言结构上的限制或要执行的动作。
例如“猫吃老鼠”和“老鼠吃猫”都是语法正确的句子,但后者表述的语义不对

二、第二章:词法分析器

1.说明 DFA 与 NFA 的主要差异

(1)DFA 上没有 ε转移;
(2)DFA 在任一状态下,对于任一输入,其下一状态最多仅有一个。
【可选】(3)这两方面使得 NFA 的最大特点是其不确定性,而 DFA 的最大特点是确定性。

2.词法分析器的作用

【是绿除掉】

  • 识别记号并交给语法分析器
  • 滤掉源程序中的无用成分
  • 处理与具体平台有关的输入
  • 调用符号表管理器或出错管理器

三、第三章:语法分析

1.说明消除文法二义性的方法有哪些

(1)改写二义文法为非二义文法
(2)为文法中的符号规定优先级与结合性。

2.语法分析器在编译器中应完成什么任务?

  • 语法分析器根据语法规则识别出记号流中的结构,并构造一棵能够正确反映该结构的语法树。
  • 检查输入中的错误,调用出错管理器进行适当处理。

四、语法制导

1.简要说明在编译过程中引入中间代码的好处,以及中间代码应具有的特点。

好处主要有两点:

  • 一是便于编译程序的开发和移植;
  • 二是便于对代码进行优化处理。

特点:

  • 便于语法制导翻译;
  • 既与机器指令的结构相近, 又与具体机器无关。

2.语法制导翻译过程中使用的拉链-回填技术

拉链-回填技术是语法制导翻译过程中使用的一种基本技术,
其基本思想是当三地址码中的转向不确定时,将所有转向同一地址的三地址码拉成一个链;而一旦所转向的地址被确定,则为此链上所有的三地址码回填入此地址。

3.符号表的作用是什么?符号表上的操作主要有哪些?

作用:【联机版】

  • 连接声明和引用的桥梁
  • 记住每个符号的相关信息,如作用域和绑定等
  • 帮助编译的各个阶段正确有效地工作

符号表上的操作:
(增删查改)查找、插入、删除、修改

4.控制栈中的活动记录保存的信息有什么?具体内容有什么?

活动记录保存的有控制信息访问信息

具体内容:【仓库发电功率】

  • 参数与返回值
  • 控制链(可选)
  • 访问链(可选)
  • 调用时需要保存的机器状态
  • 过程内部声明的数据
  • 临时变量
基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基于JavaWeb的学生信息管理系统程设计源码+数据库+文档报告(99分项目)基
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值