编译原理演示文稿 第一章语言处理程序的发展过程 1.1语言处理程序的发展过程 1.1.1概述 语言处理工作起源于计算机软件设计者描述的在数据 集合上的算法与运行该数据集合上的算法的计算机系统的差 异。而早期的所用机器语言编制的程序不存在这种差异,因 而不需要语言处理程序。随着汇编语言的产生这种差异也随 之产生,程序设计者用符号指令代替目标机器指令来说明其 算法,这样程序设计者的符号描述和目标机器的运行产生了 差异,解决这种差异的就是第一种语言处理程序——汇编程
编译原理演示文稿 第一章 语言处理程序的发展过程 1.1 语言处理程序的发展过程 1.1.1 概述 语言处理工作起源于计算机软件设计者描述的在数据 集合上的算法与运行该数据集合上的算法的计算机系统的差 异。而早期的所用机器语言编制的程序不存在这种差异,因 而不需要语言处理程序。随着汇编语言的产生这种差异也随 之产生,程序设计者用符号指令代替目标机器指令来说明其 算法,这样程序设计者的符号描述和目标机器的运行产生了 差异,解决这种差异的就是第一种语言处理程序——汇编程
序。到了二十世纪五十年代中、后期大批如 Fortran、 Algol、 Pasca的高级语言的相继出现,这样程序员描述的算法和实 际运行的机器之差异越来越明显,新的语言处理程序——编 译程序也就相继产生。随着计算机的应用的逐步扩大,软件 已不是单纯的描述数据集合上的算法的程序,它还包括各种 数据和文档。因此其程序设计语言发展到了八十年代,面向 对象的程序设计语言也就相继产生,如: Delphi、C++,从 而程序设计者描述的的有关计算机软件的特性及想法和在计 算机系统的具体实现的差异变得也越来越大,填补这种差异 的也是语言处理程序
序。到了二十世纪五十年代中、后期大批如ForTran、Algol、 Pascal的高级语言的相继出现,这样程序员描述的算法和实 际运行的机器之差异越来越明显,新的语言处理程序——编 译程序也就相继产生。随着计算机的应用的逐步扩大,软件 已不是单纯的描述数据集合上的算法的程序,它还包括各种 数据和文档。因此其程序设计语言发展到了八十年代,面向 对象的程序设计语言也就相继产生,如:Delphi、C++,从 而程序设计者描述的的有关计算机软件的特性及想法和在计 算机系统的具体实现的差异变得也越来越大,填补这种差异 的也是语言处理程序
语义问距 说明阳距 执行们距 应用國 执行國 应用國 说明 执行 图1-1语义间距、说明间距和执行间距
定义1.1 语言处理程序是一种可以填补说明间距或执行语言处理 程序间距的软体 对于应用领域的具体问题,可以用一种说明语言S(源语 )来描述,SL可用经变换成等价的说明语言L,L1经变换成 2,L2经变换成L3……,Ln经变换成L(目标机器语言)。 此时怎样来描述“说明间距”和执行间距”的概念呢?其 实相对于某个L来说,从应用领域的具体问题到S或L语义间 距都是说明间距,而从S或任一个L到SL都是执行间距
定义1.1 语言处理程序是一种可以填补说明间距或执行语言处理 程序间距的软件 对于应用领域的具体问题,可以用一种说明语言SL(源语 言)来描述,SL可用经变换成等价的说明语言L1,L1经变换成 L2,L2经变换成L3……,Ln经变换成TL(目标机器语言)。 此时怎样来描述“说明间距”和“执行间距”的概念呢?其 实相对于某个Li来说,从应用领域的具体问题到SL或Li语义间 距都是说明间距,而从SL或任一个Li到SL都是执行间距
语言处理程序主要提供了一种语言到另一种语言的变换, 由于高级语言使用方便,目前绝大多数用户使用高级语言设 计应用软件。因此解释和说明高级语言是如何运行的,对理 解语言处理程序来说是十分必要的。高级语言通过称为编译 程序的语言处理程序把它们翻译成称为目标语言的机器语言⌒ 或汇编语言一类低级语言,然后使用填补执行间距的软件得 到机器语言程序,运行机器语言程序获得最终结果
语言处理程序主要提供了一种语言到另一种语言的变换, 由于高级语言使用方便,目前绝大多数用户使用高级语言设 计应用软件。因此解释和说明高级语言是如何运行的,对理 解语言处理程序来说是十分必要的。高级语言通过称为编译 程序的语言处理程序把它们翻译成称为目标语言的机器语言 或汇编语言一类低级语言,然后使用填补执行间距的软件得 到机器语言程序,运行机器语言程序获得最终结果