Awesome
A fork of the pLua project, created by Jeremy Darling (@jdarling) and originally hosted at eonclash.com.
This modification includes many additions and fixes and has been updated for Delphi XE2 or higher. It still compiles and works with the older, non-Unicode Delphi releases.
It has been mostly tested with Lua 5.1.4 (64-bit and 32-bit).
pLua is a long term effort to build a set of methods (functions and procedures), objects, and types to aid Pascal Developers (FPC, Lazarus, and Delphi at the moment) in the implementation of Lua in their projects.
What is Lua
Lua is an extension programming language designed to support general procedural programming with data description facilities. It also offers good support for object-oriented programming, functional programming, and data-driven programming. Lua is intended to be used as a powerful, light-weight scripting language for any program that needs one. Lua is implemented as a library, written in clean C (that is, in the common subset of ANSI C and C++).
Being an extension language, Lua has no notion of a "main" program: it only works embedded in a host client, called the embedding program or simply the host. This host program can invoke functions to execute a piece of Lua code, can write and read Lua variables, and can register C functions to be called by Lua code. Through the use of C functions, Lua can be augmented to cope with a wide range of different domains, thus creating customized programming languages sharing a syntactical framework. The Lua distribution includes a sample host program called lua, which uses the Lua library to offer a complete, stand-alone Lua interpreter.
Lua is free software, and is provided as usual with no guarantees, as stated in its license.
For a discussion of the decisions behind the design of Lua, see the technical papers available at Lua's web site. For a detailed introduction to programming in Lua, see Roberto's book, Programming in Lua (Second Edition).
License
pLua-XE is licensed under the MIT license. See the LICENSE file for details.
The original, unmodified code can be found here.
See Also
- pLua+ - another pLua fork with LuaJIT support.