内容简介:有些程序设计语言无需借助软件执行,这些语言称为机器语言。机器语言可以由硬件直接解释执行,理论上不必使用软件机器语言写成的程序本质上是一个位数很长的二进制数字。由于它不易阅读,人们通过汇编语言程序来表述这个巨大的数字。因此,如果要执行汇编语言写成的程序,用户通常需要使用软件将其转换为机器语言,这种软件称为汇编程序(assembler)。汇编程序可以说是一种最基本的语言处理器解释器根据程序中的算法执行运算。简单地说,它是一种
机器语言与汇编语言
有些程序设计语言无需借助软件执行,这些语言称为机器语言。机器语言可以由硬件直接解释执行,理论上不必使用软件
机器语言写成的程序本质上是一个位数很长的二进制数字。由于它不易阅读,人们通过汇编语言程序来表述这个巨大的数字。因此,如果要执行汇编语言写成的程序,用户通常需要使用软件将其转换为机器语言,这种软件称为汇编程序(assembler)。汇编程序可以说是一种最基本的语言处理器
解释器与编译器
解释器
解释器根据程序中的算法执行运算。简单地说,它是一种 用于执行程序的软件 。
编译器
编译器能 将某种语言写成的程序转换为另一种语言的程序 。通常它会将源程序转换为机器语言程序。编译器转换程序的行为称为编译,转换前的程序称为源程序。
有些语言混用解释器与编译器。通常,Java语言首先会通过编译器把源代码转换为 Java 二进制代码,并将这种虚拟的机器语言保存在文件中。之后,Java虚拟机的解释器将执行这段代码。
大多数Java虚拟机为了提高性能,会在执行过程中通过编译器将一部分Java二进制代码直接转换为机器语言使用。
过去人们题到编译器时,首先会联想到费时的编译过程。不过由于编译后实际执行的是机器语言,因此执行速度很快。而对于解释器,人们通常认为它会在程序输入的同时立即执行,执行速度较慢。这就是两者的基本区别。现代的解释器内部常采用各种类型的编译器,已经越来越没必要将解释器与编译器区分看待
开发语言处理器
由于开发的是脚本语言,所以该处理器属于解释器,不过,该解释器内部将采用编译器来提高性能。
书中将设计的语言命名为Stone语言。实现该语言的开发语言是Java语言。因此,Stone语言也是一种运行于Java虚拟机的语言(它称不上是宝石,顶多算是小石子,因此取名为Stone)
语言处理器的结构
无论是解释器还是编译器,语言处理器前半部分的程序结构都大同小异。如下图所示,源代码首先将进行词法分析,由一长串字符串细分为多个更小的字符串单元。分割后的字符串称为单词。之后处理器将执行语法分析处理,把单词的排列转换为抽象语法树。至此,解释器与编译器的处理方式相同。之后,编译器会把抽象语法树转换为其他语言,而解释器将会一边分析抽象语法树一边执行运算
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 《两周自制脚本语言》——第十三天(设计中间代码解释器)
- 《两周自制脚本语言》——第十四天(让Stone语言支持静态类型以优化性能)
- 弹窗实现(自制)
- 自制简单的诗歌搜索系统
- 游戏制作之路(54)自制天空盒
- 使用 .NET 5 自制编程语言
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Head First Python
Paul Barry / O'Reilly Media / 2010-11-30 / USD 49.99
Are you keen to add Python to your programming skills? Learn quickly and have some fun at the same time with Head First Python. This book takes you beyond typical how-to manuals with engaging images, ......一起来看看 《Head First Python》 这本书的介绍吧!
RGB HSV 转换
RGB HSV 互转工具
HEX HSV 转换工具
HEX HSV 互换工具