内容简介
Lua是一门被广泛使用的动态语言,它在1993年于巴西里约热内卢天主教大学,由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo创造。截止到《Lua解释器构建:从虚拟机到编译器》编写的时间为止,Lua的最新版本为Lua5.4.4。Lua是开源的,读者可以在官网[ https://www.lua.org/ftp/]上找到它所有发布的历史版本。运行Lua脚本的程序,被称之为Lua解释器。
众所周知,要使用好一个工具,最好的方式就是理解它的内部构成,运作原理,这样我们才能如庖丁解牛一般,在使用过程中得心应手。对于一门编程语言来说,也是如此。作为一门知名的开源语言,有相当数量的技术人员、学者对其源码展开研究。
Lua尽管设计精简,我们现在能够搜集的资料也很多,但是整体上研究起来,还是有一些门槛和难度。作者在经过阅读大量的资料,和实践后,梳理总结出了一套深入研究Lua解释器的知识体系和研究方法,并希望通过《Lua解释器构建:从虚拟机到编译器》呈现给读者,给广大读者提供一种新的视角。
荀子有云:不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之。其意思是,没有听到的不如听到的,听到的不如见到的,见到的不如了解到的,了解到的不如去实行,学问到了实行就达到了极点。这里的实行就是实践。同时,我们也可以相信,要更好地理解Lua解释器,最好的方式就是自己也去亲自实践,亲手写一个。向读者呈现,如何写一个能够正确运行的Lua解释器,就是作者写《Lua解释器构建:从虚拟机到编译器》的初衷。
《Lua解释器构建:从虚拟机到编译器》将Lua解释器拆解成多个部分,一步一步构建。全书分为6个章节,第1章,介绍了解释器的基本概念,简要介绍了虚拟机和编译器,为读者继续阅读后面的内容提供铺垫。第2章介绍了Lua虚拟机,包括数据结构和基本运作流程、垃圾回收机制、字符串和表,这也是Lua虚拟机最核心的部分。第3章承上启下,介绍了Lua编译器和虚拟机如何交互。第4章介绍了Lua编译器的词法分析器和语法分析器。第5章呈现了Lua的基本特性,包括元表、Userdata、Upvalue、弱表和模块。第6章,呈现一个俄罗斯方块小游戏,它使用Lua脚本编写,并使用《Lua解释器构建:从虚拟机到编译器》仿制的Lua解释器运行。
豆瓣评论