翻译程序的定义及其功能种类
创始人
2025-05-30 09:25:38
0

翻译程序的定义

将一种语言描述的程序翻译成等价的用另一种语言描述的程序的程序,称为翻译程序。(用高级语言(Java,C等)和汇编语言(mov,sub等)描述的程序,是不能被计算机直接执行的,还需要被翻译系统翻译成机器语言程序才能执行)

翻译程序的种类及其功能

翻译程序被分为两大类:

1.接受源程序,输出与之等价的目标程序,然后对其进行相应处理后投入运行。这种翻译程序被称为编译程序(compiler)。

2.不断读取源程序中的语句,对每次读到的语句进行解释,同时读取执行此语句所需要的数据。执行该语句,再根据执行结果读取下一条将要执行的语句,再次进行解释和执行,并且解释执行的过程中还会根据程序的规定在需要的时候输出计算结果。重复以上过程,直到程序执行结束。这种翻译程序被称为解释程序(interpreter)

其实区别就是编译程序在程序执行前就完成了所有的翻译工作,而解释程序是在需要执行某条语句的时候才对其进行解释。

虽然编译程序可以将源程序翻译成汇编语言程序或机器语言程序。但我们要求其编译出来的目标程序必须是可重定位的,以适应并发和动态管理的要求。有些目标程序还需要连接装配,构成可执行程序,并在恰当的支持下运行。所以编译程序和相应的运行系统一起构成了编译系统

除了编译程序和解释程序这两大类以外,还有如下一些翻译程序:

汇编程序(assembler):当源程序是汇编语言程序时,目标程序是机器语言时,翻译程序被称为汇编程序。

交叉汇编程序(cross assembler):当源程序是汇编语言程序时,目标程序是另一台机器的机器语言时,翻译程序被称为交叉汇编程序。

反汇编程序(disassembler):当源程序是机器语言时,目标程序汇编语言程序时,翻译程序被称为反汇编程序。

交叉编译程序(cross compiler):当源程序是高级语言程序,目标程序是另一台机器的机器语言程序或汇编语言程序时,翻译程序被称为交叉编译程序。

反编译程序(decompiler):当源程序是机器语言程序,目标程序是高级语言程序时,翻译程序被称为反编译程序。

可变目标编译程序(retargetable compiler):当源程序是高级语言程序,目标程序是可选的机型的机器语言程序或汇编语言程序时,翻译程序被称为可变目标编译程序。

并行编译程序(parallelizing compiler):当源程序是串行执行的高级语言程序,目标程序是并行执行的机器语言程序或者汇编语言程序时,翻译程序称为并行编译程序。

诊断程序编译程序(diagnostic compiler):强调查错,纠错能力,帮助人们开发和调试程序的编译程序。

优化编译程序(optimizing compiler):强调提高目标代码效率的编译程序。

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...