Nächste Seite: Implementierung von ARS++:
Aufwärts: ARSAPI:
Vorherige Seite: ARSAPI:
Inhalt
ARSAPI für C wird in dem Buch besonders ausführlich behandelt und
wird benutzt um A++ zu implementieren. A++ ist eine ARS-kompatible
Programmiersprache mit einer reichhaltigen Menge von Primitvfunktionen
sowie einer virtuellen Maschine und einem Compiler.
In ARSAPI für C sind drei Datentypen von besonderer Bedeutung:
`PRIM', `CLAM' und `LAMB'. Sie definieren drei verschiedene Arten von
Funktionen:
- PRIM Primitivfunktionen in C.
Dies sind normale C-Funktionen mit einer speziellen
Argumentenliste, sodass sie in AVIM, der Sprache der virtuellen Maschine in ARS++ benutzt werden können.
- CLAM Lambda-Abstraktionen in C.
Sie bilden den Kern der Implementierung von ARS in C.
- Wie in der objekt-orientierten Technologie ein `Objekt' eine Verkapselung von Attributen und
Methoden ist,
so ist eine `clam' eine
Verkapselung einer Abstraktion mit ihrer gesamten
Umgebung, einschließlich von Attributen und Methoden.
Solche eine `clam' ist ein sogenanntes `Objekt erster Klasse',
das wie jedes gewöhnliche Datenobjekt behandelt werden kann:
es kann abgespeichert werden, es kann einer Funktion als
Argument übergeben werden und es kann als Rückgabewert
einer Funktion dienen.
- LAMB
Eine Funktion dieses Typs entspricht einer AVIM-Lambda-Abstraktion
in C. Eine Lambda-Abstraktion in ARS++ wird vom Compiler ACOMP in eine
Funktion der Maschinensprache AVIM übersetzt. Der Interpreter
der virtuellen Maschine konvertiert diese AVIM-Funktion in eine
Instanz des Datentyps `LAMB'. Eine Instanz dieses Datentyps ist
ebenfalls ein Objekt `erster Klasse'.
Nächste Seite: Implementierung von ARS++:
Aufwärts: ARSAPI:
Vorherige Seite: ARSAPI:
Inhalt
Georg P. Loczewski
2003-07-18
|
|