能将高级语言编写的源程序转换为目标程序的是相应的高级语言编译程序。
编译程序,把用高级程序设计语言或计算机汇编语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。编译程序属于采用生成性实现途径实现的翻译程序。它以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出。编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
编译程序的实现算法较为复杂。这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系;同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。但是,由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、复杂性较高、且需要高效运行的高级语言书写的源程序。
这个过程有两个叫法,编译或者解释。
有些高级语言在把源程序转换为可执行程序的时候,需要先对完整的源程序做词法分析、语法分析等一系列检测,所有语法都没有问题后,一次性把所有源代码翻译成机器码,这要求源程序中不能有任何语法错误,否则将不会生成可执行程序,直到所有语法错误都改正,这种转换的方式称为编译,C、C++等语言就是采用了编译方式。
还有些高级语言在把源程序转换为可执行程序的时候,一句话一句话的转换,翻译一行执行一行,如果遇到某一行出现了语法错误,程序将停止在出现错误的地方,程序员可以修改,然后继续执行,这种转换方式称为解释,VB、早期的Java都是采用解释方式。
两种方式各有利弊,编译的方式对于程序员要求较高,源代码中不能出现任何错误,最终的程序才能执行,但一旦通过了编译,则生成的可执行代码执行效率会很高;而解释方式可以边写代码边调试,但执行的效率较低。
以上就是关于能将高级语言编写的源程序转换为目标程序的是什么全部的内容,包括:能将高级语言编写的源程序转换为目标程序的是什么、把高级语言编写的源程序转换为可执行程序的过程叫什么、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)