Lua is a powerful, fast, light-weight, embeddable scripting language.
Lua combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode for a register-based virtual machine, and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting, and rapid prototyping.
Lua Website: http://www.lua.org/
Lua 5.1 Reference Manual: http://www.lua.org/manual/5.1/manual.html
Lua Wiki: http://lua-users.org/wiki/
Lua 5.1 Source Code: http://www.lua.org/source/5.1/
Lua Binaries: http://luabinaries.luaforge.net/download.html
The attached file includes mytranslation of the LUA C headers to PowerBASIC, as well as some useful wrapper functions and lua5.1.dll.
Note Lua 5.1.3 for Windows has a dependency on msvcr80.dll, the C-Runtime Library for Microsoft Visual C 2005. To use it with PowerBASIC you need to embed Microsoft.VC80.CRT.manifest in a resource file that, in turn, will be embeded in your application.
Microsoft.VC80.CRT.manifest
<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
<dependency>
<dependentAssembly>
<assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentAssembly>
</dependency>
</assembly>
Example of resource file: MSVCR80.RC
1 24 "Microsoft.VC80.CRT.manifest"
Once compiled with the resource compiler (RC.EXE), include it in your application as follows:
#RESOURCE "MSVCR80.PBR"