内容简介

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解释器运行。

下载地址

豆瓣评论

  • 阿松哥
    1.该书的内容比较深入,需要对lua有一定的了解,不适合初学者。2.该书附带源码,但源码有时候和书中的内容不一致。3.该书在讲解lua的时候学习曲线感觉有些陡峭。阅读体验不好。10-01
  • 菜瓜
    很幸运买到了这本书,通过这本书我学到了很多lua底层的知识,拿到了心仪的offer04-15
  • Mr.YinJie
    作为作者我来讲两句吧,本书是我的第一本著作,Lua语言是在游戏行业被广泛使用的语言,研究其源码的人非常多,笔者也是其中之一。本书内容最初在我的个人博客上,并且得到一些读者的认可,随后出版社找我出书之后,才书写成册。本书有幸得到诸多专家的认可和推荐,包括腾讯服务器技术专家廖阿敏、昆仑万维技术总监蔡俊鸿、微软最有价值专家Kenji Mouri和犹他大学博士Marisa。其中Marisa博士优化过V8引擎的GC性能,也是是知乎编程语言话题下的优秀回答者。本书着重在于从0构建Lua解释器,其所阐述的方法也适用于其他语言解释器,从读者反馈来看,对部分同学可能有些门槛,为了能听到读者的声音和为大家解惑,读者可以加QQ群:185017593。非常欢迎广大读者给予批评和建议。03-16
  • robot
    这本书写的非常不错,详细的介绍了lua的里里外外,真心值得去细读一下~,如果是从事lua相关代码编写的工作者,相信读完以后会让你使用lua更加游刃有余的~03-16
  • YH_顾
    作为一个游戏脚本仔,一直在使用lua,之前硬啃源码啃不下去。现在通过这本书,可以学习很多lua实现的原理和想法,循循善诱,通俗易懂,对源码也有了更深的理解。这本书非常棒,但比较适合熟悉lua的人去于阅读,新手可能有点门槛。07-11

猜你喜欢

大家都喜欢