Alice Pascal

Der Editor

Das Erscheinen von Alice Pascal [1] als Freeware kam relativ überraschend. Zwar gab es in letzter Zeit einige Freeware-"Neuheiten", aber es kommt nicht alle Tage vor, das ein Programm aus der ST-Frühzeit von seinem Programmierer freigegeben wird.

Alice Pascal wurde für PCs und STs entwickelt. Im Gegensatz zu vielen Parallelentwicklungen, die einfach IBM-Bedienkonzepte übernahmen, sieht Alice jedoch wie eine speziell für den ST erstellte Anwendung aus.

Dies ist umso erstaunlicher, wenn man sich das Alter von Alice anschaut. Die Dame ist (für ein Computer-Programm) schon ziemlich rüstig und ist vierzehn Jahre alt.

Pascal auf dem ST

Das Thema Pascal ist auf dem ST alt. Über 10 Pascal-Interpreter/Compiler gab es im Verlauf der letzten 16 Jahre, die ersten als Umsetzung vom glücklosen Sinclair QL oder CP/M. Von Anfang an konkurrierte Pascal jedoch mit Modula II, einer ebenfalls von N. Wirth designten Sprache. Diese Sprache war als Nachfolger von Pascal vorgesehen und gerade auf dem ST erreichten die entsprechenden Entwicklungssysteme schnell eine hohe Professionalität. Die Pascal-Systeme gewannen im Vergleich nur langsam an Fahrt. Erst ST Pascal+ von CCD (richtig, die Firma, von der Tempus Word stammt) machte Pascal populär, den Höhepunkt erlebte die Sprache mit Pure Pascal [2], das immer noch kommerziell erhältlich ist.

Pascal - egal auf welchem System - hatte mit einem weiteren Problem zu kämpfen: Turbo Pascal. Turbo Pascal von Borland ist praktisch der Inbegriff des modernen Pascal und praktisch jedes neue Pascal wurde in Testberichten auf seine Turbo-Kompatibilität abgeklopft. Die größte Kompatibilität erreicht Pure Pascal - kein Wunder, ist es doch praktisch die Umsetzung von Turbo Pascal.

Das Thema Freeware-Pascal gab es praktisch nicht. Neben der Pure Pascal-Demoversion gibt es nur KatCe ST, eine auch auf dem XL bekannter, schwer zu handhabender Pascal-Dialekt.

Alice

Alice belegt entpackt etwa 950 KB auf der Festplatte. Beim Starten kann es zu einer Fehlermeldung kommen, das Alice einen Systemzeichensatz mit 8 Pixeln Breite braucht. Ansonsten läuft das Programm aber unter jeder Farbtiefe und Auflösung.

Nach dem Start lädt Alice eine Beispieldatei und zeigt stolz seine GEM-Menüleiste.

Menüs

Es ist praktisch alles in den Menüs vorhanden, was man auch heute noch von einem Pascal-Editor erwarten würde. Es fehlt jedoch ein Punkt zum compilieren. Alice ist leider kein Pascal-Compiler, sondern nur ein Interpreter. Alice-Programme benötigen deshalb immer den Interpreter, ein Run-Time-Modul liegt nicht bei. Die Programme speichert Alice normalerweise in einem speziellen Token-Format ab, was wohl in der Ausführungsgeschwindigkeit ein paar Vorteile bringen soll.

Editor

Der Editor (Bild 1) ist eindeutig das Highlight dieses Pascal-Systems. Wie gehabt läßt sich der Cursor mit den Cursortasten durch das Pascal-Listing steuern. Seitenweises Springen ist leider nicht möglich.

Bei Beispiel-Programmen wie dem "Alice-Paint" fällt auf, das diese im Editor zunächst einmal sehr kurz sind. Dafür sind Zeilen wie diese häufiger zu finden:

... { w_rbox(points); } ...

Der Editor beherrscht das Einklappen von Programmblöcken. Zum Ausklappen muß nur der Cursor auf die zusammengeklappte Zeile bewegt und "Reveal" im "Structure"-Menü gewählt werden. Eine "Reveal All"-Funktion gibt es leider nicht.

Alice rückt den eingegebenen Text automatisch ein, was der Programmstruktur gut. Sobald etwas eingegeben wird, springt der Cursor an die richtige Stelle. Dieses Verhalten ist beim ersten Mal etwas gewöhnungsbedürftig.

Einige Schlüsselwörter (procedure, case, of, begin) schreibt der Editor Fett.

Ungewöhnlicher ist die eingebaute Hilfsfunktion: wird bspw. writeln( eingegeben, so erscheint hinter der Klammer das Wort "value" unterstrichen. Das unterstrichene Wort zeigt, was Alice an dieser Stelle erwartet. Sobald ein Wert dort angeben wird, verschwindet das unterstrichene Wort. Dies schließt auch eine Syntax-Analyse mit ein, so das es kaum möglich sein sollte, in Alice Pascal fehlerhafte Ausdrücke zu schreiben.

Wird eine Variable mit der Delete-Taste gelöscht, markiert Alice alle Positionen dieser Variable.

Fehlermeldungen

Wird ein Tippfehler gemacht, verbleibt der Cursor in der Programmzeile, während in der Infozeile des Editorfensters die Fehlerbeschreibung angezeigt wird. Ähnlich wie in GFA-Basic verlangt Alice eine Korrektur der Zeile.

Wenn ein Menübefehl auf die aktuelle Selektion nicht anwählbar ist, erscheint eine kleine Alert-Box. Auffällig ist, das es zu jeder Fehlermeldung auch einen Eintrag in dem Hilfssystem gibt.

Individualistin

Alice ist nicht mit Maxon Pascal, ST-Pascal oder gar Pure Pascal zu vergleichen, die sich mehr oder weniger an Turbo Pascal orientieren. Es wurden zwar keinerlei Veränderungen am Sprachkern von Pascal vorgenommen, so das einfach Programme auch weiterhin portierbar sind, aber spätestens bei der GEM-Programmierung zeigen sich erhebliche Unterschiede.

Obwohl Alice komplett unter GEM läuft inkl. Zugang zu Accessories, können GEM-Anwendungen programmiert werden. Das 17 KB große "Alice Paint" (Bild 2) erzeugt zwei GEM-Fenster, eine Menüleiste und stellt ein komplettes Malprogramm mit Speicherfunktion dar. Nach dem Starten dieses Pascal-Programms im Editor verschwindet die Editor-Menüleiste und das Editor-Fenster. Sofort erscheint die GEM-Oberfläche des Malprogramms.

Simple Dialogboxen, Menüs und Fenster sind leicht zu programmieren. Niemand darf aber erwarten, das auch noch die ausgefeilte Even-Verwaltung oder gar komplexere Dialogboxen möglich wären. Dafür benötigt z.B. "Alice Paint" keine Resource-Datei.

Hilfsfunktion in Alice

Hilfe

Über das Help-Menü gelangt man in das Hilfssystem (Bild 3) von Alice. Dieses besteht aus Dialogboxen, die über anklickbare Texte miteinander verbunden sind - quasi ein frühes Hypertextsystem.

Fazit

Das Kuriose an Alice Pascal ist, das es stellenweise moderner ist als Pure Pascal. Dennoch ist Alice keine Konkurrenz für Pure, denn neben der fehlenden Turbo-Kompatibilität sind komplexe Pascal-Programme nur bedingt möglich. Trotzdem ist es schön, das ein Programm, welches seiner Zeit sicherlich vorraus war, durch das Internet erhalten bleibt.


Mia Jaap
Aus: ST-Computer 12 / 2001, Seite 34

Links

Copyright-Bestimmungen: siehe Über diese Seite