本书主要内容
本书主要内容可以分为四个部分:第一部分(第1章)为准备工作;第二部分(第2~13章)主要讨论Lua虚拟机和Lua API;第三部分(第14~17章)主要讨论Lua语法和编译器,第四部分(第18~21章)主要讨论Lua标准库。
全书共21章,各章内容安排如下:
❑ 第一部分(准备)
● 第1章:准备工作。
准备编程环境,编写“Hello, World! ”程序。
❑ 第二部分(Lua虚拟机和Lua API)
● 第2章:二进制chunk。
介绍Lua二进制chuck文件格式,编写代码解析二进制chunk文件。
● 第3章:指令集
介绍Lua虚拟机指令集和指令编码格式,编写代码对指令进行解码。
● 第4章:Lua API
初步介绍Lua API和Lua State,实现栈相关API方法。
● 第5章:Lua运算符
介绍Lua语言运算符,给Lua API添加运算符相关方法。
● 第6章:虚拟机雏形
初步实现Lua虚拟机,可以解释执行大约一半的Lua虚拟机指令。
● 第7章:表
介绍并实现Lua表、表相关API方法,以及表相关指令。
● 第8章:函数调用
介绍并实现Lua函数调用。
● 第9章:Go函数调用
介绍如何在Lua中调用Go语言函数。
● 第10章:闭包和Upvalue
介绍并实现闭包和Upvalue,以及Upvalue相关指令。
● 第11章:元编程
介绍并实现Lua元表、元方法及元编程。
● 第12章:迭代器
介绍并实现Lua迭代器。
● 第13章:异常和错误处理
介绍Lua异常和错误处理机制。
❑ 第三部分(Lua语法和编译器)
● 第14章:词法分析
介绍Lua语言词法规则,实现词法分析器。
● 第15章:抽象语法树
初步介绍Lua语言语法规则,定义抽象语法树。
● 第16章:语法分析
进一步介绍Lua语言语法规则,编写语法分析器。
● 第17章:代码生成
编写代码生成器。
❑ 第四部分(Lua标准库)
● 第18章:辅助API和基础库
介绍Lua辅助API和标准库,实现基础库。
● 第19章:工具库
介绍并实现数学、表、字符串、UTF-8、OS等标准库。
● 第20章:包和模块
介绍Lua包和模块机制,实现package标准库。
● 第21章:协程
介绍Lua协程,实现coroutine标准库。