Lua 的源代码有着良好的设计,优美易读。其整体篇幅不大,仅两万行 代码左右。但一开始入手阅 读还是有些许难度的。
从易到难,理清作者编写代码的脉络非常重要。LuaJIT 的作者 在回答“哪一个开源代码项目 设计优美,值得阅读不容错过”这个问题时,推荐了一个阅读次序:
首先、阅读外围的库是如何实现功能扩展的,这样可以熟悉 LUA公开 API 。不必陷入功能细节。
然后、阅读 API 的具体实现。LUA 对外暴露的API 可以说是一个对内部模块的一层封装,这个层次尚 未触及核心,但可以对核心代码有个初步的了解
之后、可以开始了解 Lua VM 的实现。
接下来就是分别理解函数调用、返回,string 、table、metatable 等如何实现。
debug模块是一个额外的设施,但可以帮助你理解 Lua 内部细节。
最后是 parser 等等编译相关的部分。
垃圾收集将是最难的部分,可能会花掉最多的时间去理解细节