更新时间:2019-08-19 15:01:23
封面
版权信息
前言
为什么编写本书
本书主要内容
本书面向的读者
如何阅读本书
参考资料
获取本书源代码
勘误和支持
致谢
第一部分 准备
第1章 准备工作
1.1 准备开发环境
1.2 准备目录结构
1.3 本章小结
第二部分 Lua虚拟机和Lua API
第2章 二进制chunk
2.1 什么是二进制chunk
2.2 luac命令介绍
2.3 二进制chunk格式
2.4 解析二进制chunk
2.5 测试本章代码
2.6 本章小结
第3章 指令集
3.1 指令集介绍
3.2 指令编码格式
3.3 指令解码
3.4 测试本章代码
3.5 本章小结
第4章 Lua API
4.1 Lua API介绍
4.2 Lua栈
4.3 Lua State
4.4 测试本章代码
4.5 本章小结
第5章Lua运算符
5.1 Lua运算符介绍
5.2 自动类型转换
5.3 扩展LuaState接口
5.4 测试本章代码
5.5 本章小结
第6章 虚拟机雏形
6.1 添加LuaVM接口
6.2 实现Lua虚拟机指令
6.3 指令分派
6.4 测试本章代码
6.5 本章小结
第7章 表
7.1 表介绍
7.2 表内部实现
7.3 表相关API
7.4 表相关指令
7.5 测试本章代码
7.6 本章小结
第8章 函数调用
8.1 函数调用介绍
8.2 函数调用栈
8.3 函数调用API
8.4 函数调用指令
8.5 测试本章代码
8.6 本章小结
第9章Go函数调用
9.1 Go函数登场
9.2 Lua注册表
9.3 全局环境
9.4 测试本章代码
9.5 本章小结
第10章 闭包和Upvalue
10.1 闭包和Upvalue介绍
10.2 Upvalue底层支持
10.3 Upvalue相关指令
10.4 测试本章代码
10.5 本章小结
第11章 元编程
11.1 元表和元方法介绍
11.2 支持元表
11.3 调用元方法
11.4 扩展Lua API
11.5 测试本章代码
11.6 本章小结
第12章 迭代器
12.1 迭代器介绍
12.2 next()函数
12.3 通用for循环指令
12.4 测试本章代码
12.5 本章小结
第13章 异常和错误处理
13.1 异常和错误处理介绍
13.2 异常和错误处理API
13.3 error()和pcall()函数
13.4 测试本章代码
13.5 本章小结
第三部分 Lua语法和编译器
第14章 词法分析
14.1 编译器介绍
14.2 Lua词法介绍
14.3 实现词法分析器
14.4 LookAhead()和其他方法
14.5 测试本章代码