Lua

Skript- und Programmiersprache
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 6. Oktober 2006 um 02:28 Uhr durch DL5MDA (Diskussion | Beiträge) (Ierusalimschy spricht immer nur von "ANSI-C". Oder gibt es verlässliche Quellen, dass Lua in C99 oder ... geschrieben wurde? ?). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Lua (portugiesisch für Mond) ist eine Skriptsprache zum Einbinden in Programme, um diese leichter weiterentwickeln und warten zu können. Eine der besonderen Eigenschaften von Lua ist die geringe Größe des kompilierten Skript-Interpreters.

Lua wurde 1993 von der Computer Graphics Technology Group der Pontifikalen Katholischen Universität von Rio de Janeiro in Brasilien entwickelt. Lua ist freie Software, und wurde bis zur Version 5 unter einer BSD-Lizenz, ab Version 5 unter der MIT-Lizenz veröffentlicht.

Lua kommt oft in Computerspielen zum Einsatz. Im Bereich kommerzieller Spiele wird Lua beispielsweise in Heroes of Might and Magic V, Monkey Island 4, Spellforce, Far Cry, World of Warcraft, Microsoft Freelancer, Half-Life 2, Die Siedler V, Parkan 2 und Star Wars Battlefront II eingesetzt, im Bereich freier Software zum Beispiel in Angband 3 (und dessen Varianten, wie ZAngband und ToME).

Lua-Programme werden vor der Ausführung in Bytecode übersetzt. Obwohl man mit Lua auch eigenständige Programme schreiben kann, ist sie vorrangig als Skriptsprache von C-Programmen konzipiert. In dieser Hinsicht ist sie mit Tcl vergleichbar.

Der Lua-Interpreter kann über eine C-Bibliothek angesprochen werden, die auch eine API für die Laufzeitumgebung des Interpreters für Aufrufe vom C-Programm aus beinhaltet. Mittels der API können verschiedene Teile des Programmes in C und Lua geschrieben werden, während Variablen und Funktionen in beiden Richtungen erreichbar bleiben (d.h. eine Funktion in Lua kann eine Funktion in C aufrufen, und umgekehrt).

Lua ist in ANSI-C implementiert und unterstützt sowohl funktionale wie auch objektorientierte Programmierung.

Literatur

  • Roberto Ierusalimschy: Programmieren mit Lua, September 2006, ISBN 3937514228
  • Roberto Ierusalimschy: Lua 5.1 Reference Manual, August 2006, ISBN 8590379833
  • Paul Schuytema, Mark Manyen: Game Development with Lua, 2005, ISBN 1584504048