elj Lua: elj Lua interface
Introduction
elj Lua (v 5.0) is an Eiffel interface to the
Lua embeddable scripting language library.
Details
From http://www.lua.org/about.html ..
Lua is a powerful light-weight programming language designed for extending
applications. Lua is also frequently used as a general-purpose, stand-alone
language. Lua is free software.
Lua combines simple procedural syntax with powerful data description constructs
based on associative arrays and extensible semantics. Lua is dynamically typed,
interpreted from bytecodes, and has automatic memory management with garbage
collection, making it ideal for configuration, scripting, and rapid prototyping.
A fundamental concept in the design of Lua is to provide meta-mechanisms for
implementing features, instead of providing a host of features directly in the
language. For example, although Lua is not a pure object-oriented language, it
does provide meta-mechanisms for implementing classes and inheritance. Lua's
meta-mechanisms bring an economy of concepts and keep the language small, while
allowing the semantics to be extended in unconventional ways. Extensible
semantics is a distinguishing feature of Lua.
Lua is a language engine that you can embed into your application. This means
that, besides syntax and semantics, Lua has an API that allows the application
to exchange data with Lua programs and also to extend Lua with C functions. In
this sense, Lua can be regarded as a language framework for building domain-
specific languages.
Lua is implemented as a small library of C functions, written in ANSI C, and
compiles unmodified in all known platforms. The implementation goals are
simplicity, efficiency, portability, and low embedding cost. The result is a
fast language engine with small footprint, making it ideal in embedded systems
too.
Documentation for the moment is limited to the source code:
and some examples:
Note: lua lib/dll files:
For win32 users, Lua seems relatively tedious to install. A process has been developed for to generate
static libraries (lua.lib and lualib.lib) for lcc-win32 .. the upcoming elj 0.8 release will provide
geant scripts to automate the lua lib/dll process for commonly available win32 C/C++ compilers.
In the meantime, please post a message to
elj-users list
or contact Geoff for lua install details.
For Linux users, just install the lua library (v 5.0) and install .. it should
work out of the box.
|
|
elj Project Quick Links
|
Project Status/Warning (25 July 2003)
|
Official Downloads:
0.7 Release (20 Jun 03) (announce getting started docs)
|
Docs: Tutorial (pdf),
Style (pdf)
Syntax
etl3 |
wxEiffel: wxWindows (ver:2.4.1) (cvs, wxWindows, lists: users dev, news *, wx-c) |
Common Classes (cvs) |
elj-db: elj database interface |
elj FireBird interface (cvs, lists) |
elj sqlite (cvs, home, list, news, SQL) |
elj SleepyCat interface (cvs, news) |
elj mysql interface) (cvs) |
elj Postgres interface (cvs, news) |
elj btrieve (cvs news) |
compression: zlib bzip2/bzlib
|
elj Lua interface (cvs home list news) |
elj libxml2 interface (cvs eg list news) |
os:
elj win32api interface |
Related/Interesting |
Eiffel Struggle 2003 (NICE cetus-links ceug) |
ewg (Eiffel<->C) (home cvs news) |
ePDF (PDF) (home cvs news) |
yaesockets (home cvs news) |
nenie Eiffel (xml,networking,snmp,DES,..) - (homepage cvs) |
Goanna (web services) - (cvs) |
mico/E (open source Eiffel CORBA services ) |
ePosix: posix interface (news) |
EiffelOpenGL (sf cvs) |
elj-girls: our first application |
diuturnal: multiplayer turn-based strategy game (home cvs) |
elj Perlish -(cvs
examples
Perl) |
elj Reg Exp -(cvs PCRE) |
|