Lua是一门小而美的脚本语言。
小,主要指的是它的语言标准简洁从而极为容易上手,同时它的小也体现在代码量上。以目前的版本(2016年1月)V5.3.2为例,整个源码包的大小是281KB,解压后统计src目录下的源码总的行数是19768行(包括详细的注释在内)。而CPython3的实现往往一个C源文件就要洋洋洒洒的超过几千行。
美,主要指的是它的效率极高,以及优雅的设计。Lua是主流脚本语言中执行效率最高的,而设计上,简洁的C API设计、元表、环境都是极其出彩的部分。
在官网找到V5.3.2版本下载,解压后可以在src目录下找到所有的源文件。*nix系统下直接make即可,而在Windows下,新建VS工程后将所有的代码文件(除去luac.c)添加到工程中即可编译运行交互式解释器。
如果是以阅读源码为目的的话,强烈推荐使用Visual Studio2013以上版本。
总的来说,lua的模块划分清晰。每个模块被写在单独的C源文件中,有自己的API前缀,比如运行时堆栈ldo模块的内部API的格式就是luaD_xxx,虚拟机模块的API则以luaV_开头。而对外暴露的接口则定义在lua.h和lauxlib.h中,以lua_和luaL_为前缀。