编译原理-

1、最左最右推导

		每一步推导都是对句型中的最右非终结符用相应的产生式的右部进行替换,这样的推导称为最右推导
		每一步推导都是对句型中的最左非终结符用相应的产生式的右部进行替换,这样的推导称为最左推导

2、归约

		最右推导称为规范推导,最左归约称为规范归约

3、代码优化

		对代码进行等价变换,使得变化后的代码具有更高的时间效率和空间效率。代码优化的目的是提高目标程序的质量。占用的存储空间更少、运行的时间更短!

4、DFA

5、NFA

6、句型、句子 、句柄、

在这里插入图片描述

		由文法的开始符S出发,经过0步或者有限步推导出来的符号串
		由文法的开始符S出发,经过1步或者有限步推导出来的符号串且该符号串全部由终结符组成

7、寄存器

		CPU内部的存储单元,用来存放数据和指令
7.1内存
		与CPU直接交换信息的存储器,他存放指令、数据及计算结果
7.1指令
		CPU基本硬件电路的二进制编码
7.1硬件
		组成计算机的逻辑、功能部件

8、二义性

9、堆

10、产生式

11、文法

1、给出文法、句子,写出最左最右

2、给出正规表达式,写出五个单词

3、给出自动机,写出状态矩阵和状态图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4、给表达式,写出逆波兰式

5、给C程序,写出五类单词

1、编译过程

编译系统对源程序一次进行此法分析、语法分析、中间代码生成、代码优化、目标代码生成,最后得到机器码目标代码。
在这里插入图片描述
词法分析:将源程序中的字符流转化为记号流,有误则终止编译
语法分析:在词法分析的基础上将一些语句组合起来进行检查如if else for 循环结构的细节,若格式不正确则会终止编译
中间代码生成:是编译程序的结构在逻辑上更简洁,提高编译程序的可移植性
代码优化:对中间代码进行优化,或使程序变得更简介,或使程序体积变得更小
目标代码生成:将优化后的中间代码译为机器码
(语义分析):对程序进行静态语义检查如变量是否定义、变量类型是否正确使用等等。

2、给文法,写出句子最左推导最右推导,并画出语法图

在这里插入图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值