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