编译原理
来源:互联网 发布:杰科网络电视机顶盒t2 编辑:程序博客网 时间:2024/04/29 11:21
关于语言处理器,编译器和解释器。
编译器,简单地说,一个编译器就是一个程序,它可以阅读某一种语言(源语言)编写的程序,并把该程序翻译成一个等价的、用另一种语言编写的程序,即将源程序经过编译器编译成为一个目标程序的软件系统,其重要任务之一就是报告它在翻译过程中发现的源程序中的错误。是在各种指令级之间的转换。
解释器是另一常见的语言处理器,它并不通过翻译生成目标程序。从用户角度来说,解释器直接利用用户的输入执行 源程序中的操作。
编译器生成目标代码后执行不在需要编译器,可以直接在支持目标代码的平台上执行,而解释器需要一条一条的解释执行源语言;
在功能上,两者之间的确不同,但从流程和结构上看,二者有着相似之处。
再读入源语言以后,解释器与编译器都要进行词法分析、语法分析、语义分析;在此之后,解释器选择直接执行语句,二编译器则是将语义存储成某一种中间语言之后通过不同的后端翻译成不机器语言(可执行程序)。
如图所示:
源代码被编译成机器码,在不同的CPU上运行。
下图为解释器:
解释器很方便,在语义分析后之间执行语句,不用再进行生成目标程序,即“一边编译,一边运行”,虽然比较准确,但是开销较大;
所以产生了预编译语言(java,c#)
java语言处理器结合了编译与翻译过程,一个java源程序首先被编译成字节码的中间形式,然后由虚拟机对得到的字节码加以解释。
阅读全文
0 0
- 编译原理
- 《编译原理》
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- 编译原理
- Java序列化与反序列化
- 通达oa破解版/通达oa2017破解补丁/最新通达oa2017破解版下载
- spring-struts登录功能流程代码
- 最优秀的开源库之GPUImage
- AR(jdk)安装
- 编译原理
- centos7 mysql 安装
- C# WinForm窗体四周阴影效果
- 微信小程序实现快递查询功能(界面传值、JSON数据请求和解析、radio-group的使用...)
- 嵌入式系统中引导程序的实现(上电到main)
- “python不是内部命令或外部命令,也不是可执行程序解决方案”的解决方案
- Oracle的连接工具类
- #1005字符串匹配问题
- 贪心算法