软件架构风格——解释器风格详析
1.由浅入深,解释器是什么?
解释器跟计算器差不多。
它们都接受一个“表达式”,输出一个 “结果”。比如,得到 (+ 1 2) 之后就输出 3。
但是实际上解释器的表达式要比计算器的表达式复杂一些。解释器接受的表达式叫做“程序”,而不只是简单的算术表达式。从本质上讲,每个程序都是一台机器的“描述”,而解释器就是在“模拟”这台机器的运转,也就是在进行“计算”。所以从某种意义上讲,解释器就是计算的本质。当然,不同的解释器就会带来不同的计算。
2.解释器的地位
解释器(Interpreter)是一种程序,能够读入程序并直接输出结果,如上图。
相对于编译器(Compiler),解释器并不会生成目标机器代码,而是直接运行源程序。
简单来说:解释器是运行程序的程序。
一个解释器通常包括:
1.完成解释工作的解释引擎
2.一个包含将被解释的代码的存储区
3.一个记录解释引擎当前工作状态的数据结构
4.一个记录源代码被解释执行的进度的数据结构。
3.解释器风格
特点:软件中含有一个虚拟机
作用:可以仿真硬件的执行过程和一些关键应用
风格优劣:执行效率较低,但是其仿真的功能是这一风格最大的优势。