all.lua : 加载lua目录下的所有文件
compat-5.1.lua : dofile的定义
compat.lua : 主要是table debug math string io函数的定,
basic.lua : 基本的c类型定义, 全局变量的定义(类型、枚举、类类型、名字重命名(pkg中
@重定义)),一些全局函数的定义
feature.lua : 基本上是后面需用定义的所有的类的元表,我们可以称之为基类,所定义的类classFeature中的函数supcode decltype register preamble requirecollection 基本就是tolua++的逻辑实现了
verbatim.lua :classVerbatim继承classFeature(其实是设置classFeature为它的元表),我称为直译类,基本上是把当前这一行代码,不用处理直接写入到cpp文件中
code.lua : classCode继承classFeature,处理代码中嵌入的lua代码,翻译成c代码,使用tolua_dobuffer去调用
typedef.lua : classTypedef 继承classFeature, C代码中的C typedef 语法
container.lua: classContainer继承classFeature, classContainer中包含了一组需要去分开解析的feature对象,container 中当前对象由游标curr去标示,下一个对象由curr.prox去标示,该lua文件中还包含了存在全局typedef 和enum的声明
package.lua :classPackage继承classContainer,当前工作环境下,所有的需要待解析的对象的package
module.lua : classModule继承classContainer,模块的概念,一个类是一个模块,一个名字空间是一个模块的概念
namespace.lua :classNamespace 继承classModule,名字空间,这个不用说了
define.lua :classDefine 继承 classFeature ,数字常量的定义,使用tolua_constant
enumerate.lua: classEnumerate继承 classFeature
declaration.lua : classDeclaration 继承classFeature ,变量,函数,参数的声明
variable.lua :classVariable 继承classDeclaration,extern的变量,或类的public成员变量
array.lua :classArray 继承 classDeclaration, extern的数组,或类的public成员数组
function.lua :classFunction 继承classFeature , 函数或类的成员函数
operator.lua :classOperator 继承classFunction,操作符函数,或类的operator成员函数
template_class.lua : classTemplate的元表即自身,模板类
class.lua :classClass继承classContainer,c++的类
clean.lua : 定义了clean函数,清楚代码中的注释
doit.lua : 程序的执行流程,前面已经说过了