Lua代码翻译及预编译字节码

       光有核心代码和一个虚拟机还无法让Lua程序运行起来。因为必须从外部输入运行的Lua程序运行起来。Lua的程序的人读形式是一种程序文体,需要经过解析得到内部数据结构(常量和opcode的集合)。这个过程是通过parser:lparser.c()及词法分析llex.c(luaX为前缀的API)
        解析完文体代码,还需要最终生成虚拟机理解的数据,这个步骤在locde.c中实现,其API以luaK为前缀。

        为了满足某些需求,加快代码翻译的流程。还可以采用预编译的过程。把运行是编译的结果,生成为字节码。这个过程及逆过程由ldump.c  和lundump.c实现。其API以luaU为前缀。

        Lua在早期几乎都是被用来嵌入其它系统中使用,所以源代码通常被编译成动态库或者静态库被宿主系统加载链接。但,随着Lua的第三方库越来越丰富。人们开始倾向于把Lua作为一门独门语言来使用。Lua官方版本也提供了一个简单的独立解析器,便是lua.c所实现的这个。并有luac.c实现了一个简单的独立编译器,可以预编译文本的Lua源代码。

你可能感兴趣的:(Lua开发,Lua语言开发)