Squirrel (Programmiersprache)

Squirrel
Paradigmen: Objektorientiert
Erscheinungsjahr: 2003
Entwickler: Alberto Demichelis
Aktuelle Version 3.2[1][2] (10. Februar 2022)
Typisierung: dynamisch
Beeinflusst von: C++, JavaScript, Lua, Python
Beeinflusste: MiniD
Lizenz: MIT-Lizenz
squirrel-lang.org

Squirrel ist eine dynamisch typisierte, objektorientierte Programmiersprache. Sie ist insbesondere dafür gedacht, in Computerspielen und anderen Anwendungsprogrammen als eingebundene Skriptsprache verwendet zu werden. Das Design ist wesentlich von Lua inspiriert.[3] Verwendet wird sie zum Beispiel in OpenTTD, um KI-Spieler zu erstellen und in Supertux für das Scripting in den Levels. Der Compiler und der Interpreter bestehen zusammen aus nicht mehr als 6000 Zeilen C++ Code.

Syntax

Die Syntax von Squirrel ist an C++ angelehnt. Eine Funktion, welche die Fakultät einer natürlichen Zahl x berechnen kann, sieht zum Beispiel wie folgt aus:

function factorial(x)
{
  if (x == 0) {
    return 1;
  }
  else {
    return x * factorial(x - 1);
  }
}

Geschichte

Squirrel wurde von Alberto Demichelis für ein Computerspielprojekt entwickelt, weil er Probleme mit der Garbage Collection von Lua hatte.[3] Im Jahr 2003 wurde Squirrel unter der zlib-Lizenz veröffentlicht.

Weblinks

Einzelnachweise

  1. squirrel/HISTORY at master - albertodemichelis/squirrel - GitHub.
  2. Release v3.2 - albertodemichelis/squirrel - GitHub.
  3. a b FAQ (englisch)