Lua源码分析(1) -- 简介

时间:2021-12-02 16:47:30
 本文是我在阅读Lua源代码时的一些心得笔记, Lua的版本是5.1.1. 将主要关注Lua解释器的结构, 以及部分重要算法, 并不针对每个细节进行说明. 希望本系列文章, 能够总体上说明Lua的实现的脉络, 在需要的时候能够进一步分析源码对Lua并做适当的定制.

将按以下顺序来说明Lua的实现:

首先, 将讨论Lua基本对象(空, 布尔, 数值, 字符串, 表, 函数, 线程, 用户数据)的实现.

在了解了基本对象的实现之后, 将分析Lua虚拟机的指令系统; 以及虚拟机的实现, 即回答Lua指令(字节码)是如何得到执行的.

然后, 会对Lua的词法分析, 语法分析和指令生成做分析, 介绍Lua源代码到字节码的生成过程.

最后, 将做为分别的专题, 讨论一些特别的基本对象的实现特点(字符串与表, 函数与闭包, 协程 coroutine与线程), 垃圾收集的实现等等.

自己是第一次写这样的文章,恐怕还会多有疏漏.