optimiert für die Betrachtung mit Mozilla Firefox & Opera

Impressum   Disclaimer

AlPhAbEt   Andere Projekte


AlPhAbEt


Zu der Einleitung
Zu den Downloads


Einleitung

Bei AlPhAbEt handelt es sich um eine Programmiersprache, die primär zur Bearbeitung binärer Daten geeignet ist. Trotz (oder gerade wegen) des (absichtlich) sehr beschränkten Funktionsumfanges ist diese Sprache ideal geeignet, um die eigenen Fähigkeiten in den Bereichen der Algorithmik und der effizienten Datenverwaltung zu schulen. Ein gutes Beispiel hierfür bieten mathematische Berechnungen, die vollständig selbst programmiert werden müssen, da aufgrund des Sprachaufbaus mathematische Operationen mit mehreren Bits nicht direkt möglich sind. AlPhAbEt ist aufgrund seines geringen Umfanges schnell zu erlernen, bietet jedoch genug Freiraum, um eigene Ideen umsetzen zu können. Die Sprache bietet, trotz ihrer Beschränktheit, auch Sprachelemente höherer Sprachen: So gibt es WHILE-Schleifen, IF-Abfragen und sogar einzelne Prozeduren ("Kombinationen" genannt). Mit Hilfe der Prozeduren sind sogar Rekursionen möglich; diese können jedoch, aufgrund des begrenzten Heaps des jeweiligen Interpreters, keine unendliche Tiefe erreichen. Neben den Prozeduren ist wohl die Kombination aus Queue und Stack (hier Queack genannt) mit das mächtigste Sprachelement von AlPhAbEt. Aufgrund seiner Konzeption kann der Queack sowohl per First-In-First-Out-Methodik, als auch per Last-In-First-Out-Methodik verwaltet werden (sogar eine Mischung aus beidem ist möglich).

Ab der Version 0.20 basiert die Sprache auf einer kontextfreien Grammatik und lässt somit auch eine geregelte Syntaxanalyse zu. Diese Grammatik beschreibt jedoch nur die gültige Infix-Schreibweise. Auch die Postfix- und die Suffix-Notation ist seit der Version 0.20 gültig. (A>B = >AB = AB>)

Ab der Version 0.22 beinhaltet die Sprache mit den sogenannten "Optionsblöcken" ein neues Feature, dass zur Kommunikation zwischen AlPhAbEt-Script und Compilern/Interpretern dienen soll. Innerhalb diesen Optionsblöcken können Einträge definiert werden, die aus einem Namen und einem Wert bestehen. Der Compiler/Interpreter kann diese Einträge dann einlesen und (je nach Implementation) auf diese reagieren.
Diese Funktionalität wurde in der Version 0.23 ausgebaut und seit der Version 0.24 ist es möglich, Optionsblöcke auch quelltextseitig zu schreiben. Dies ermöglicht es nun, den Compiler/Interpreter dynamisch anzupassen (wodurch z.B. umfangreichere Dateiaktionen ermöglicht werden).


Downloads

Kontextfreie Grammatik: (in erweiterter Backus-Naur-Form [EBNF])

     
abcebnf.pdf


Deutsche Beschreibung der Programmiersprache: (mit Quelltextbeispielen)

     dscrbtnd.txt


Fremde Quelltextbeispiele: (tlw. leicht modifiziert)

     foreign.zip


Projekte in der Entwicklung:

     inwork.zip


Eigene Projekte:

     projects.zip


Kompletter Quelltext des Interpreters: (kompilierbar)

     source.zip


Eigene Quelltextbeispiele:

     tests.zip


Vorgefertigte Kombinationen: (frei nutzbar)

     used.zip


Sprachliche Extrema:

     weird.zip


Vorkompilierter Interpreter für Windows: (32-Bit - Version / getestet auf 64-Bit - Prozessor)

     win32exe.zip





ALLE Dateien der Version 0.14: (wird nicht weiterentwickelt)

     complete_014.ace
     complete_014.zip