Beliebte Dialekte: Die wichtigsten Compiler und Interpreter

Von Michael Bernards, Martin Hanser und Thomas Tempelmann

Seit seinem Erscheinen 1985 haben zahlreiche Software-Hersteller verschiedene Programmiersprachen für den Atari ST umgesetzt. Aus der reichen Produktpalette stellen wir Ihnen die bekanntesten Compiler und Interpreter kurz vor.

Devpac-Assembler

Devpac gehörte zu den ersten Assemblern, die auf dem Atari ST verfügbar waren (Bild 1). In Großbritannien wird schon die Version 3 vertrieben, die hoffentlich auch bald die deutschen Programmierer erreicht. Hisoft liefert »Devpac 3« in einem Karton mit englischen Handbuch und einer Diskette aus. Das 300 Seiten starke Handbuch ist dank einer guten Gliederung sehr übersichtlich. Neben Assembler und Debugger sind auch System-spezifische Dinge dokumentiert, so daß man für viele Aufgaben allein mit diesem Ordner auskommt.

Die integrierte Oberfläche ist vollständig GEM-unterstützt. Obwohl der Assembler nicht zu den schnellsten gehört, sind die Turn-Around-Zeiten dank eines besonderen Konzeptes sehr kurz.

Devpac ist in der Lage, in den Speicher zu assemblieren. Da man auch den Debugger im Speicher installieren kann, läuft alles ohne Festplatten- bzw. Diskettenzugriffe ab.

Der Debugger gehört zu den besten auf dem ST-Markt. In drei verschiedenen Fenstern stellt er CPU-Status, Disassembly und Hexdump dar. Verschiedene Breakpoint- und Tracing-Varianten sorgen für eine komfortable Fehlersuche. Zum Test lag Devpac TT vor. Gegenüber der ST-Version kann er auch 68030- und 68882-Codes verarbeiten. Vor allem aber wurde der Debugger an den TT angepaßt. Er disassembliert jetzt auch 68030/68882-Codes und zeigt auch den Status der neuen Register an. Zudem läuft er auf allen TT-Auflösungen. Devpac ist ein benutzerfreundliches Entwicklungs-Paket. Die TT-Version ist ein absolutes Muß für jeden Assembler-Programmierer, der auf dem TT entwickelt.

Bild 1. Die Version 3 des Devpac-Assemblers unterstützt auch den Atari TT

GFA-Basic

Eine der ersten guten Sprachen auf dem ST war GFA-Basic von der Düsseldorfer Firma GFA Systemtechnik. Dank seinem geringen Speicherbedarf, seiner eigenen Oberfläche und dem schnellen Interpreter lief es allen anderen Entwicklungssystemen glatt den Rang ab. Frank Ostrowski, der Vater von GFA-Basic, orientierte sich im Unterschied zu damals erhältlichen Basic-Dialekten bei der Entwicklung seiner Sprache an Pascal und C. So gab er der Sprache mächtige Mittel bei Schleifen und Operatoren einerseits und eine Vielzahl von Grafikbefehlen andererseits mit. Dieses Know-how und diese Flexibilität, die man nicht von Basic gewohnt war, führten dazu, daß man schon früh in GFA-Basic komfortabel programmieren konnte. GFA-Basic entwickelte sich im Umfang und in seinen Funktionen weiter und enthält mittlerweile über 600 Befehle.

Trotz der großen Geschwindigkeit des Interpreters, der noch durch einen Compiler ergänzt wurde, weist GFA-Basic Mängel und Einschränkungen auf, die leider bis heute noch nicht beseitigt wurden. Da sind die immer wieder auftauchenden Inkompatibilitäten zwischen Interpreter und Compiler, die fehlenden (Daten-)Strukturen, die statischen Variablen, die unzureichenden Fehlerchecks des Interpreters und die oft mehrdeutige und nicht dokumentierte Syntax verschiedener Befehle. Traditionsgemäß fehlt schließlich die Modularität. In den Interpreter muß immer ein Programm komplett geladen werden.

Da die Firma GFA Systemtechnik sich leider immer mehr in Richtung MS-DOS zu bewegen scheint, gerät die Welt der Ataris etwas in den Hintergrund. Eine weitere Entwicklung ist wünschenswert, um dem Standard, den GFA-Basic über lange Zeit vorgab, treuzubleiben.

Turbo C

Bild 2. Der Source-Level-Debugger ist eine der Stärken von Turbo C

Turbo C der Firma Borland gehört zu den verbreitetsten Compilern (Bild 2). Nicht zuletzt wegen des günstigen Preises, des hohen Benutzerkomforts, der großen Funktionsvielfalt und dem guten Source-Level-Debugger ist dieser C-Compiler zur Referenzklasse der Handwerkszeuge zu rechnen. Mit Turbo C programmieren Sie nahezu alle Standard-, ANSI- und GEM-Funktionen. Zusätzlich erzeugt dieser C-Compiler auf Maschinenebene einen leicht lesbaren und kompakten Code. Zwangsläufig führt dies zu sehr schnellen Ausführungszeiten - in den meisten Bereichen ist Turbo C nur noch durch optimierte Assembler-Programmierung zu schlagen.

Trotz dieser hohen, normalerweise zeitintensiven Optimierung sind die wichtigen Turn-Around-Zeiten (Editieren, Compilieren, Linken, Starten, Testen) so kurz wie bei kaum einem anderen Wettbewerber auf dem C-Sektor für die Atari-Rechner. Kein Wunder also, daß Turbo C auch heute noch zu den meistgekauften Sprachen zählt.

Leider hat sich die Firma Borland dazu entschieden, den Schwerpunkt der Sprachentwicklung auf den Bereich der MS-DOS-PCs zu verlagern, und wird daher den durchaus ausbaubaren Markt der Atari-Computer verlassen. Bleibt zu hoffen, daß sich die Entwickler von Turbo C den noch unfertigen oder fehlerhaften Teilen zuwenden, wie etwa der Bildschirmausgabe von Fließkommaausdrücken oder der Implementation von C++.

Lattice C

Bild 3. Lattice C 5 ist das zur Zeit beste C-Entwicklungspaket für den Atari ST/TT

Mit Lattice C 5 erreicht endlich wieder eine ernstzunehmende Konkurrenz zu Turbo C den Programmierer (Bild 3). Einen Superlativ erkennt man sofort beim Erhalt von Lattice C. Kaum ein Entwicklungs-Paket (außer der Telefonbuch-Sammlung von Atari) dürfte so umfangreich sein, wie der Inhalt des Kartons, in dem sich Lattice C 5 befindet. Die Dokumentation besteht aus drei Spiralringbüchern mit insgesamt über 1100 Seiten. Lattice C 5 ist ein ANSl-C. Sowohl Compiler, als auch die Libraries entsprechen den Forderungen der Norm. Zudem ist der Compiler dank jahrelanger Entwicklungszeit und Verbreitung (MS-DOS, AMIGA, UNIX, etc.) nahezu fehlerfrei.

Der Einfluß des Programmierers auf den zu erzeugenden Code ist einzigartig. Die Ziel-CPU und die FPU sind frei wählbar. Der Compiler erzeugt den Code für die gewählte Kombination. Besonders die für den TT erzeugten Programme erreichen ein Maximum an Leistung. Übereinen Schalter erhalten Sie Kompatibilität zu Turbo C, so daß Sie diese Programme fast problemlos übersetzen. Sogar die verwendeten Libraries enthalten Turbo C-spezifische Funktionen. Die neuen Eigenschaften des Atari TT/Mega STE finden volle Unterstützung. So sind die Definitionen der neuen Systemaufrufe inklusive der Fensterfarben vorhanden. Als besonderer Clou sind alle Informationen und Definitionen zur Entwicklung der neuen CPX-Module enthalten. Ein Beispiel-CPX rundet das Ganze ab. Für den TT gibt es eine erweiterte Version, die der Hersteller mit einem TT-fähigen Debugger und Assembler ausliefert.

Bei Lattice C 5 fehlen derzeit nur zwei Komponenten: Eine Hilfsfunktion und ein Quelltext-Debugger. Davon abgesehen ist Lattice C 5 das derzeit beste C-Paket unter TOS.

Megamax Modula-2

Modula-2 ist der Nachfolger von Pascal. Während der Schöpfer beider Sprachen, Niklaus Wirth, bei Pascal in erster Linie an eine Lehrsprache für Studenten dachte, hat er später mit Modula-2 daraus eine leistungsstarke und sichere Universalsprache konzipiert. Megamax Modula-2 ist ein sehr umfangreiches Entwicklungssystem für Atari ST, STE und TT. Die Entwickler legten viel Wert darauf, dem Anwender ein möglichst offenes System zu bieten. Für den Anfänger wurde Sorge getragen, daß die Installation und Anwendung einfach vonstatten geht; der Fortgeschrittene schneidert sich ein eigenes System zurecht: So stehen zwei Editoren zur Verfügung, ein einfach zu bedienender GEM- und ein fixer TOS-Editor. Aber auch jeder andere Editor, wie etwa Edison, darf eingesetzt werden. Die umfangreiche Bibliothek mit mehr als 1200 Funktionen läßt kaum Wünsche offen, auch die Quelltexte sind erhältlich. Der Compiler bietet eine große Anzahl von Funktionen, wie die Unterstützung der Mathe-Coprozessoren in ST und TT oder die Einbindung von Turbo C-Funktionen. Ein optimierender Linker und ein Resource-Construction-Programm sind selbstverständlich auch enthalten. Die Entwickler geben via Mailbox oder Telefon bei Problemen rasche Hilfe.

Maxon-Pascal

Seit der Atari-Messe '90 liefert Maxon das Paket Maxon-Pascal aus. Geliefert wird Maxon-Pascal seit der Version 1.1 auf zwei Disketten mit einem Ringordner. Das deutsche Handbuch ist gut gegliedert und enthält alle nötigen Informationen. Eine Ausnahme bildet die Beschreibung der Fehlermeldungen. Da sie nicht sortiert sind, darf man seinen Fehler auf über sechs Seiten suchen.

Auf den ersten Blick scheint Maxon-Pascal die gleiche Oberfläche wie Turbo C zu haben. Leider ist die Oberfläche nicht so ausgereift wie ihr Vorbild. Viele kleine Haken und Ösen verärgern so manches Mal den Programmierer. Eine sehr praktische Einrichtung ist die Help-Funktion. Wie auch in Turbo C gibt das Programm mittels der HELP-Taste Informationen zum selektierten Begriff im Quelltext. Ein Schwerpunkt von Maxon-Pascal ist die teils gelungene Kompatibilität zu Borlands Turbo-Pascal 5.0. Die Units »CRT«, »DOS« und »GRAPH« sind weitgehend identisch mit denen von Turbo-Pascal 5.0.

Probleme gibt es aber leider in der Sprache selbst. Turbo-Pascal bietet den 16-Bit-Datentyp WORD für vorzeichenlose Werte von 0 bis 65535 an. In Maxon-Pascal gibt es diesen Datentyp jetzt auch. Leider aber belegt er 4 Bytes, so daß sich Strukturen und Felder im Programm verändern. Außerdem läßt Maxon-Pascal keine Datentypen zu, die größer als 32 KByte sind. Sicherlich zeugen solch große statische Blöcke nicht von bester Programmierkunst, aber manche Gegebenheiten machen solche Gebilde nötig. Insgesamt hinterläßt Maxon-Pascal ein gemischtes Gefühl. Zu den durchaus guten Ansätzen gesellen sich häufig banale Fehler in der Ausführung. (ah)



Aus: TOS 08 / 1991, Seite 80

Links

Copyright-Bestimmungen: siehe Über diese Seite