赞
踩
编译器将程序员编写的源文件编译称可执行的目标程序(如.exe, .class)。像C++、Java这种高级语言(又称编译型语言)都有自己的编译器。
除了编译器之外还有一种叫做解释器,对应的就是解释性语言,最著名的例如Python,JavaScript。
三种级别的语言
编译程序:将源程序的语句一次全部翻译成机器语言程序(先翻译成汇编),而后再执行机器语言程序(只需翻译一次) 。
解释程序:将源程序的语句翻译一句执行一句(每次执行都要翻译),不会生成目标程序 。
汇编程序:把汇编语言源程序翻译为机器语言程序,只能翻译汇编程序。
翻译程序:把高级语言源程序翻译成机器语言程序(目标代码)的软件,编译、汇编、解释程序,可统称"翻译程序"。
任何高级语言最终都会归结到某一具体机器上的具体机器码序列,编译器便是中间的译者
编译器的阶段划分: 词法分析、语法分析、语义分析、中间代码生成、代码优化和代码生成。
实际上编译的各个阶段都可以看成完成一定的翻译工作:词法分析是将代码文件的字符流翻译成单词流( 空格和注释将在这一阶段被滤过),语法阶段是将单词流按照语言语法规则翻译成语法树,语义分析则是在语法树的基础上按照语义规则完成语义操作( 类型检查、一致性检查、类型转换以及标识符符号表管理等工作)。
符号表管理器和出错处理贯穿编译器工作的各个阶段。
将源代码的字符流翻译成单词流,空格和注释将在这一阶段被略过。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。