《两周自制脚本语言》——第一天(来,我们一起做些什么吧)

栏目: Java · 发布时间: 6年前

内容简介:有些程序设计语言无需借助软件执行,这些语言称为机器语言。机器语言可以由硬件直接解释执行,理论上不必使用软件机器语言写成的程序本质上是一个位数很长的二进制数字。由于它不易阅读,人们通过汇编语言程序来表述这个巨大的数字。因此,如果要执行汇编语言写成的程序,用户通常需要使用软件将其转换为机器语言,这种软件称为汇编程序(assembler)。汇编程序可以说是一种最基本的语言处理器解释器根据程序中的算法执行运算。简单地说,它是一种

机器语言与汇编语言

有些程序设计语言无需借助软件执行,这些语言称为机器语言。机器语言可以由硬件直接解释执行,理论上不必使用软件

机器语言写成的程序本质上是一个位数很长的二进制数字。由于它不易阅读,人们通过汇编语言程序来表述这个巨大的数字。因此,如果要执行汇编语言写成的程序,用户通常需要使用软件将其转换为机器语言,这种软件称为汇编程序(assembler)。汇编程序可以说是一种最基本的语言处理器

解释器与编译器

解释器

解释器根据程序中的算法执行运算。简单地说,它是一种 用于执行程序的软件

编译器

编译器能 将某种语言写成的程序转换为另一种语言的程序 。通常它会将源程序转换为机器语言程序。编译器转换程序的行为称为编译,转换前的程序称为源程序。

有些语言混用解释器与编译器。通常,Java语言首先会通过编译器把源代码转换为 Java 二进制代码,并将这种虚拟的机器语言保存在文件中。之后,Java虚拟机的解释器将执行这段代码。

大多数Java虚拟机为了提高性能,会在执行过程中通过编译器将一部分Java二进制代码直接转换为机器语言使用。

过去人们题到编译器时,首先会联想到费时的编译过程。不过由于编译后实际执行的是机器语言,因此执行速度很快。而对于解释器,人们通常认为它会在程序输入的同时立即执行,执行速度较慢。这就是两者的基本区别。现代的解释器内部常采用各种类型的编译器,已经越来越没必要将解释器与编译器区分看待

开发语言处理器

由于开发的是脚本语言,所以该处理器属于解释器,不过,该解释器内部将采用编译器来提高性能。

书中将设计的语言命名为Stone语言。实现该语言的开发语言是Java语言。因此,Stone语言也是一种运行于Java虚拟机的语言(它称不上是宝石,顶多算是小石子,因此取名为Stone)

语言处理器的结构

无论是解释器还是编译器,语言处理器前半部分的程序结构都大同小异。如下图所示,源代码首先将进行词法分析,由一长串字符串细分为多个更小的字符串单元。分割后的字符串称为单词。之后处理器将执行语法分析处理,把单词的排列转换为抽象语法树。至此,解释器与编译器的处理方式相同。之后,编译器会把抽象语法树转换为其他语言,而解释器将会一边分析抽象语法树一边执行运算

《两周自制脚本语言》——第一天(来,我们一起做些什么吧)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

代码之髓

代码之髓

[日] 西尾泰和 / 曾一鸣 / 人民邮电出版社 / 2014-8 / 45.00元

《代码之髓:编程语言核心概念》作者从编程语言设计的角度出发,围绕语言中共通或特有的核心概念,通过语言演变过程中的纵向比较和在多门语言中的横向比较,清晰地呈现了程序设计语言中函数、类型、作用域、类、继承等核心知识。本书旨在帮助读者更好地理解各种概念是因何而起,并在此基础上更好地判断为何使用、何时使用及怎样使用。同时,在阅读本书后,读者对今后不断出现的新概念的理解能力也将得到提升。 《代码之髓:......一起来看看 《代码之髓》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

html转js在线工具
html转js在线工具

html转js在线工具