“语言处理程序”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第33行: 第33行:
  
 
解释程序并不产生目标程序,这是它和编译程序的主要区别。
 
解释程序并不产生目标程序,这是它和编译程序的主要区别。
 +
 +
 +
=== 4)高级语言执行过程 ===
 +
用高级语言编写出的程序要能在计算机上运行时,由于计算机只识别二进制,因此需要对源程序依次进行'''<big>预处理</big>'''、'''<big>编译</big>'''和'''<big>链接</big>'''的过程,才能确保源程序正确被执行。
 +
[[文件:高级语言执行过程.png|无|缩略图|900x900像素]]

2022年9月15日 (四) 08:01的版本

https://www.bilibili.com/video/BV1hg411V7Bm?p=48

1)语言处理程序

语言处理程序:将高级语言转换成计算机可执行的机器语言,分为汇编、编译和解释程序

汇编程序:翻译由汇编语言编写的程序

解释程序:针对高级语言编写的源程序,直接解释执行源程序

编译程序:源程序翻译成目标语言程序,然后执行目标程序

语言处理程序.png


2)汇编程序

把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。

汇编程序输入的是用汇编语言书写的源程序,输出的是用机器语言表示的目标程序。

汇编语言是为特定计算机或计算机系列设计的一种面向机器的语言,由汇编执行指令和汇编伪指令组成。

第一次扫描:定义符号的值并创建符号表ST。汇编器中,利用了LC(地址跟踪计数器),LC是汇编器的程序指针,每识别出1个指令,LC就增加1。

第二次扫描:生成机器语言,产生目标程序。第一次扫描已经生成了符号表,第二次扫描时即可利用汇编器的“指令表”将对应的指令翻译成机器指令,同时将LC指向的内存地址填入机器码或数值。


3)解释程序

解释程序是一种语言处理程序。

在词法、语法和语义分析方面与编译程序的工作原理基本相同。

但在运行用户程序时,它直接执行源程序或源程序的内部形式(中间代码)。

解释程序并不产生目标程序,这是它和编译程序的主要区别。


4)高级语言执行过程

用高级语言编写出的程序要能在计算机上运行时,由于计算机只识别二进制,因此需要对源程序依次进行预处理编译链接的过程,才能确保源程序正确被执行。

高级语言执行过程.png