- Euler (Programmiersprache)
-
Euler Paradigmen: imperativ Erscheinungsjahr: 1966 Entwickler: Niklaus Wirth, Helmut Weber Typisierung: dynamisch typisiert Einflüsse: ALGOL 60 Beeinflusste: Pascal Euler ist eine von Niklaus Wirth und Helmut Weber entwickelte Programmiersprache, entworfen als Erweiterung und Verallgemeinerung von ALGOL 60. Sie wurde 1966 publiziert. Ziele der Entwicklung dieser neuen Programmiersprache waren:
- einfacher und doch flexibler als ALGOL 60
- brauchbare Programmiersprache, die mit vernünftiger Geschwindigkeit lief
- präzise formale Definierbarkeit
Übersicht
Einer der großen Unterschiede zu ALGOL ist das erweiterte Typenkonzept. Listen (Arrays), Prozeduren und Verzweigungen sind nicht wie in ALGOL auf der Ebene von Variablen definiert sondern auf der Ebene von Konstanten. Das heißt Listen, Verzweigungen und gar Prozeduren konnten Variablen zugewiesen werden. In Ergänzung zu den traditionellen numerischen und logischen Konstanten konnten in Euler folgende Typen verwendet werden.
- Referenzen
- Labels
- Symbole
- Listen (Arrays)
- Prozeduren
- Undefiniert
Alle Arten von Konstanten können Variablen zugewiesen werden. Variablen haben dieselbe Form wie in ALGOL mit Ausnahme, dass der Variablentyp nicht spezifiziert ist. Euler ist eine dynamisch typisierte Programmiersprache. Eine Prozedur kann als Resultat der Ausführung einen Wert jedes Typs zurückgeben. Dieser Typ kann auch bei jedem Aufruf der Prozedur wechseln. Ähnlich können die Elemente einer Liste (Array) jeden Typs sein. Beispiel: Eine Liste mit Elementen des Typs „Label“ erzeugt eine Verzweigung. Eine Liste von Prozeduren erzeugt eine in ALGOL60 nicht verfügbare Prozedurliste (quasi eine jump-list). Eine Liste von Elementen des Typs Liste ermöglicht die Bildung einer allgemeinen Baum-Struktur. Euler stellt allgemeine Operatoren zur Verfügung zur Kontrolle und Konvertierung von Typen. Daneben hatte Euler automatische Speicherbereinigung, für deren Programmierung nebst der Programmierung eines Großteils des Interpreters auf dem Burroughs-B5500-Computer W.M. McKeeman verdankt wurde.
Literatur
- Niklaus Wirth, Helmut Weber: EULER: a generalization of ALGOL, and its formal definition: Part I. Communications of the ACM 1966; 9 (1): S. 13-25; Volltext
- Niklaus Wirth, Helmut Weber: EULER: a generalization of ALGOL, and its formal definition: Part II. Communications of the ACM 1966; 9 (2): S. 89-99; Volltext
- Thomas W. Christopher: EULER. An Experiment in Language Definition. Illinois Institute of Technology, 1997. Volltext
Wikimedia Foundation.