
Lua设计与实现在线阅读-Lua设计与实现电子书PDF下载附源代码
编辑点评:
Lua设计与实现基于Lua 5.1.4版本讨论了Lua语言的设计原理,全书共分三部分:前部分讲解数据结构(如通用数据是如何表示的)、字符串以及表类型的实现原理;中间部分是本书重要的部分,主要讨论了虚拟机的实现;第三部分讨论了垃圾回收、模块实现、热更新、协程等的实现原理。
编辑推荐
一本揭示Lua实现原理的图书
经典的纯C语言项目分析
一线开发人员倾力打造
Lua是一种可嵌入、轻量、快速、功能强大的脚本语言,使用较为广泛,主要用在游戏领域。另外,基于Nginx的OpenResty也是使用Lua来编写脚本的,很多服务器(如Redis)也支持使用Lua来编写脚本。
作为一门诞生已经超过20年的语言,它在设计上是非常克制的。以Lua5.1.4版本来说,其解释器加上周边的库函数等也就不过一万多行的代码量,而如果再进行精简,只需要吃透核心的几千行代码就可以了。
另外,作为一门以纯C代码编写的项目,Lua代码优美、结构组织紧凑,是教科书般经典的C语言项目。
本书讨论了Lua的设计原理,首先讲解了数据结构、字符串以及表类型的实现原理,接着讨论了虚拟机的实现,讨论了垃圾回收、模块实现、热更新、协程等的实现原理。
本书适用于以下读者:
希望能够进一步了解Lua内部实现原理的用户;
对程序语言设计感兴趣的读者。
作者简介
网名codedump,长期从事互联网后端服务开发工作。曾经在网易等公司从事游戏服务器后台开发,在网络游戏开发工作期间接触到使用C++编写服务核心引擎和使用Lua脚本编写游戏逻辑的技术组合后,对Lua产生了浓厚的兴趣,遂开始研究其实现原理,陆续公布于网络。个人博客:www.codedump.info。
阅读本书,读者至少需要具备以下的基础知识
扎实的C语言功底,Lua虚拟机采用纯C编写。在我看过不算少的纯C语言完成的项目中,Lua虚拟机的代码质量是最高的。
一定的编译原理知识,比如了解词法分析、语法分析、递归下降分析、BNF规则等,如果不清楚这些原理,阅读Lua虚拟机实现时会遇到很多问题。
本书按照如下方式组织
第一部分讲解Lua中的数据结构,如通用数据是如何表示的,Lua的字符串以及表类型的实现原理。
第二部分是本书最重要的部分,主要讨论了Lua虚拟机的实现。另外,这里分类讲解了Lua虚拟机中的一些重点指令。
第三部分的内容比较杂,这部分讨论垃圾回收、模块实现、热更新、协程等的实现原理。
评论