如题,这是一系列关于Lua的源码分析的文章。分析的重点在编译原理和虚拟机的部分,而不是相关的库的实现部分。写这系列文章,最初是由于想要设计一门编程语言以及它的虚拟机,为此参考现有的优秀的实现。正则表达式
其实本人更加想分析Javascript的v8引擎和Chakra引擎的,只是感受能力还不太够。而Lua的实现至关小巧,只有几万行C代码,与C/C++的互操做至关方便,而且实现的质量也是工业级别的,用来练手正合适。至于v8和Chakra,之后有机会再上。编程
出于边学习边分析的目的,写下这系列文章,只是更新可能会比较慢,若能够,本人尽可能一周更新一次,毕竟比较忙。数据结构
Windows10 64位操做系统源码分析
VS2015学习
编译原理:至少知道词法分析和语法分析,能看懂正则表达式、产生式,知道相关术语。无需精通。编码
C语言:熟悉指针用法。有多门编程语言基础的更好。C语言是必须懂的。无需精通。lua
数据结构:对常见的数据结构要有一些概念。操作系统
Lua语言:尽可能熟悉,无需精通。设计
分析过程当中在不改变官方实现的状况下,本人将对官方的源代码添加一些注释。
后期补上,先占个坑
后期补上,先占个坑
概述
分析思路
Lua 的编码规范
Lua 中重要的数据类型
Lua 的运行过程
Lua 的 opcode
Lua 的虚拟机结构
Lua 的词法分析
Lua 的语法分析
Lua 的字节码