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

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

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

机器语言与汇编语言

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

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

解释器与编译器

解释器

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

编译器

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

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

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

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

开发语言处理器

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

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

语言处理器的结构

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

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

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

查看所有标签

猜你喜欢:

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

微创新

微创新

德鲁•博迪、雅各布•戈登堡 / 钟莉婷 / 中信出版社 / 2014-4-5 / 42.00

好产品不一定要颠覆,微小改进就能让用户尖叫! 引爆创新领域的全新方法论 互联网时代行之有效的5大创新策略 创业者、产品经理必读的创新行动指南 《怪诞行为学》作者 丹•艾瑞里 《影响力》作者 罗伯特•西奥迪尼 全球50位最具影响力的商业思想家之一丹尼尔•平克 周鸿祎、黎万强、罗振宇、牛文文、张鹏 联袂重磅推荐 为什么iPod可以在众多mp3产品中......一起来看看 《微创新》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

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

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试