目录

第一章、Lua解析器软件架构

1.1、什么是lua

  Lua是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。

1.2、我们为什么要选择lua

  Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。 Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。一个完整的Lua解释器不过200k,在所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。

  就是因为lua解释器的代码足够小,在所有的脚本引擎中是运行最快的,我们才选择lua作为切入点,绝不是因为头难一热乱选了一个。

1.3、lua解析器架构

  Lua语言的架构图如下图所示,大家可以看看软件架构,主要是通过全局状态机完成各个模块的调用,这里不做深入讲解,有兴趣的可以自行阅读lua源码。

luac解密在线 lua解密器下载_lua

1.4、嵌入式平台的lua实现

  我们的elua开源项目是基于Lua5.1之上进行开发的,将其进行了相应的基础库功能裁剪,并且添加了一些用于硬件驱动的库,使其在具备必要的硬件驱动的基础上占用的资源更少,更加适合运行在嵌入式平台上。