APPLICATIONSPROGRAMMATION ★ XBC-EXTENDED BASIC COMPILER ★

XBC-EXTENDED BASIC COMPILER (Aktueller Software Markt)Volldampf-Basic (CPC Magazin)XBC-EXTENDED BASIC COMPILER (CPC Amstrad International)
★ Ce texte vous est présenté dans sa version originale ★ 
 ★ This text is presented to you in its original version ★ 
 ★ Este texto se presenta en su versión original ★ 
 ★ Dieser Text wird in seiner Originalfassung präsentiert ★ 

BASIC ist zur Zeit immer noch die am häufigsten zum Einsatz gebrachte Programmiersprache der Welt. So ist es nicht verwunderlich, daß auch für ohnehin schon leistungsfähige BASIC-Com-puter (wie etwa die CPC's oder den Joyce) eine immer größere Anzahl von BASIC-Implementierungen entwickelt wird. Besonderer Beliebtheit erfreuen sich da BASIC-Compiler, die gegenüber den »normalen« Interpretern meistens mit einem beträchtlichen Geschwindigkeitsgewinn aufwarten können. So gibt es auch für den CPC schon einige mehr oder weniger leistungsfähige Compiler, die sich teilweise einer großen Verbreitung erfreuen. In die Reihe dieser Compiler-Anbieter hat sich nun auch die Firma BBG Software aus Ahrensburg eingegliedert. Allerdings fällt ihr »XBC — Extended Basic Compiler« im Vergleich zu den anderen Produkten ein wenig aus dem Rahmen. Zunächst einmal läuft der »XBC« unter CP/M, was für einen Compiler zumindest ungewöhnlich ist. Doch gerade diese Tatsache birgt einige Vorteile: CP/M ist ein Standard; falls sich der »XBC« auf einem CP/M-Rechner etablieren kann, so wird er auch auf anderen Rechnern schnell zum Standard werden. Für 99, — DM für den CPC und 139, — DM für den Joyce erhält der Käufer ein komplettes BASIC-Entwick-lungssystem, bestehend aus Editor, Compiler und Laufzeitsystem. Mit dem zeilenorientierten Editor können auch sehr umfangreiche BASIC-Programme erstellt werden. Die gespeicherten Programme werden dann mit dem Compiler in ein lauffähiges Kompilat übersetzt und gemeinsam mit dem Laufzeitsystem abgespeichert. Die so erstellten Routinen können nun wie »ganz normale« COM-Files aufgerufen und behandelt werden. Wir wollen im Rahmen dieses Testes alle Bestandteile des XBC einmal genauer unter die Lupe nehmen. Um überhaupt ein BASIC-Programm zu erstellen, benötigt man eine Möglichkeit, daß Programm ohne viel Aufwand zu erstellen und zu korrigieren. Hierzu dient der XBC-Editor. Der mit dem Editor erstellte BASIC-Quelltext wird fortlaufend von 1 bis 9999 nummeriert. Die beiden wohl wichtigsten Befehle im Editor sind der »i«- und der »1«- Befehl. Mit »i« (»insert«) werden Zeilen ab einer bestimmten Zeilennummer eingefügt und mit »1« (»list«) können Zeilen oder Zeilenbereiche gelistet werden (ähnlich wie »auto« und »list« unter ARMSTRAD-BASIC). Einmal erstellte Zeüen können mit »c« (»cor-rect«) verändert oder mit »d« (»delete«) gelöscht werden (siehe auch »edit« und »delete« unter ARMSTRAD-BASIC). Wird der »i«- Befehl aufgerufen, so stehen dem Benutzer noch einige andere Kommandos zur Veränderung des aktuellen Zeileninhalts zur Verfügung, die durch Tastenkombination mit der CTRL-Taste verwendet werden können.

Neben diesen Möglichkeiten gibt es noch einige Befehle zum Verschieben der Zeilen, zum Suchen und zur Ein- und Ausgabe des Quelltextes. Daneben existieren ferner einige Kommandos zum Dateihandling. Insgesamt läßt sich sagen, daß beim XBC der Editor nicht gerade pompös ausgefallen ist. Der Benutzer erhält hier einen durchschnittlichen, soliden Zeileneditor, der keine ausgefallenen Neuerungen beinhaltet. Mit ihm kann man ohne viel Mühe Quelltexte erstellen und modifizieren, insgesamt gesehen ist er aber eher durchschnittlich gut (allerdings spielt bei einem Compiler der Editor auch eine etwas untergeordnete Rolle, so daß man nicht bei allen Compilern einen Turbo-Pascal-Editor erwarten kann).

Wurde ein Quellprogramm erstellt, so kann es nun compiliert werden. Sofern nicht (etwa aufgrund von gigantischen Mammutprogrammen) extern compilert werden muß (was der XBC fehlerfrei beherrscht), befinden sich Editor und Compiler immer gleichzeitig im Speicher. Ein Programm kann editiert und dann sofort compiliert und gestartet werden. Dadurch werden im Normalfall umständliche und zeitaufwendige Speicher- und Ladevorgänge vermieden. Mit »j« (für »do job«) wird ein Quelltext compiliert und gestartet. Wer jedoch besonders aufwendige Programme schreiben will, kann auch diese compilieren und ausführen, indem der Compiler extern ausgelagert wird. Dazu genügt die Eingabe des Befehls »jx« (»do job extemal«). Wenn nun ein Programm (welches zu lang ist, um gemeinsam mit Editor, Compiler und Komilat im Speicher zu stehen) mit »j« compiliert werden soll, so speichert XBC zunächst den Quelltext ab. Dann wird auf der Diskette compiliert (auf ein File $$$.COM). Nach erfolgreicher Compilation wird das soeben erstellte $$$.COM an die Stelle des Editor geladen und ausgeführt. Wenn auch das erfolgreich beendet ist, werden Compiler und Editor wieder geladen. Schließlich wird dann noch der Quelltext wieder in den Speicher geholt. Man kann sich anhand dieser Schilderung schon ausmalen, welcher immense Zeitaufwand hinter einem auf diesem Weg kompilierten Programm liegt.

Das Erfreuliche an der Sache ist allerdings die Einfachheit, mit der der Benutzer diese Möglichkeiten ausnutzen kann: er braucht sich um die Datensicherung etc. in keiner Weise zu kümmern, es genügt lediglich das eine Kommando »jx«

(es gibt Compiler, bei denen die oben aufgezählten Operationen alle »von Hand« ausgeführt werden müssen). Neben diesen Möglichkeiten der Compilierung gibt es noch einige besonders interessante Compiler-Optionen, die vor allem die Fehlerbehandlung des compi-lierten Programms optimieren. Angenehm fällt am Gesamtkonzept des Compilers ebenfalls auf, daß die compilierten Programme als eigenständige COM-Fi-les abgelegt und — unabhängig von XBC - kopiert, geladen, gestartet und auch verkauft werden dürfen.

Die eigentlich wichtigste Frage bei der Untersuchung eines Compilers haben wir aber bis zu diesem Zeitpunkt noch gar nicht gestellt. Sie lautet: »Was kann compilert werden?«. Es ist die Frage nach dem Wortschatz des Compilers, nach der Anwendung der Befehle und Datenformate. Und hier hat der XBC gegenüber anderen bekannten Compilern wirklich einen gewaltigen Vorsprung. Er bietet neben den »normalen« BASIC-Operationen leistungsfähige Befehle zur strukturierten Programmierung und Datenmanipulation (sowohl auf String- als auch auf Zahlenebene). Daneben gibt es starke Befehle für die Fehlerbehandlung (gerade bei Compilern ein extrem wichtiger und doch häufig vernachlässigter Faktor) und ausgefeilte Datei-Strukturen (beispielsweise für Direkt-Zugriffs-Dateien).

Außerdem gibt es eine Menge Kommandos für die maschinennahe Programmierung und beeindruckende Möglichkeiten der Ein- und Ausgabe. Mit dem XBC-BASIC-Wortschatz können anstelle von Zeilennummem symbolische Labels verwendet werden. Das ist vor allem bei Unterprogrammen sehr von nutzen. Die String befehle wurden sehr exakt implementiert. Neben den Standard-Befehlen gibt es eine große Anzahl von wirklich innovativen String befehlen. Hierzu ein Beispiel:

1 a$ = “test “
2 EDIT (6);a$
3 PRINT» = > “;a$;” < = “

Zuerst wird hier der String a$ auf »test« gesetzt. Mit dem EDIT-Kommando wird nun dieser String zum Editieren auf 6 Stellen freigegeben. In der Praxis sieht das so aus. daß zuerst der alte Inhalt von a$ ausgegeben wird (also »test«). Danach kann dieser String manipuliert werden. Zu diesem Zweck können allerdings höchstens 6 Stellen verwendet werden, es besteht keinerlei Möglichkeit, aus dem 6-stelligen Eingabefeld herauszugelangen. Ist der String dann verändert worden, so wird er danach wieder in a$ abgelegt. Die Arithmetik von XBC unterscheidet zwischen Realzahlen, Integerzahlen, Cardinalzahlen und Bytes.

Für alle Typen stehen leistungsfähige Mathematik-Operationen zur Verfügung, ebenso kann auf einfache Weise zwischen den Datenformaten konvertiert werden. Bei den Dateiformaten liefert XBC ebenfalls Ungewöhnliches: die Möglichkeit, mit einfachen BASIC-Be-fehlen, eine RANDOM-Datei (also für direkten Zugriff auf alle Elemente) aufbauen zu können, ist zumindest eine Besonderheit.

Fast überflüssig zu sagen, daß XBC natürlich auch noch gute Möglichkeiten bietet, Dateien von BASIC aus zu manipulieren. Insgesamt sind die Möglichkeiten von XBC einfach zu umfassend, um hier in einer kurzen Analyse alle erläutert zu werden.

Es bleibt allerdings als Fazit festzuhalten, daß XBC durch seinen hohen Befehlsvorrat aus dem Rahmen fällt und wirklich ausgezeichnete Möglichkeiten zur Verfügung stellt.

Als letzten Punkt wollen wir uns dem Handbuch zuwenden, daß bei XMC mitgeliefert wird. Dieses Handbuch ist sicherlich ganz gut.

Allerdings hätte Programmautor Bryan Hayes, bei dem auch die Rechte am (wohl ursprünglich englischen) Handbuch liegen, das ganze ein wenig praxis-näher gestalten sollen.

So wird zwar zu Beginn der Anleitung eine korrekte und exakte Syntax vereinbart, die auch durch das gesamte Handbuch durchgehalten wird, allerdings geraten dadurch die Syntaxbeschreibungen auf eine manchmal zu technisch-mathematische Sprache, was vor allem Anfängern sicher nicht dienlich ist.
Dennoch werden in dem Handbuch alle Funktionen des XBC ausführlich erläutert und erklärt (wobei auch manche Schwachstellen des Systems nicht verschwiegen werden).

Der Unterschied zwischen der CPC- und der Joyce-Version liegt (neben dem Preis) vor allem in einigen wenigen erweiterten Befehlen für den Joyce (so kann zum Beispiel auch das Mouse-Pack der Firma Reis-Ware mit BASIC-Befeh-len unterstützt werden).

Insgesamt bleibt als Fazit festzuhalten, daß der XBC sicher ein außergewöhnlicher Compiler ist, der jeden BASIC-Freak in neue Dimensionen versetzen kann. Es bleibt jedem einzelnen überlassen, ob er dafür 99, — DM bzw. 139, — DM ausgeben will.

(Martin Althaus/Markus Zietlow) , CPCAI

★ PUBLISHER: BBG Software
★ YEAR: 1987
★ CONFIG: ???
★ LANGUAGE:
★ LiCENCE: COMMERCIALE
★ PRICE: 140 DM



★ AMSTRAD CPC ★ DOWNLOAD ★

Adverts/Publicités:
» BBG-Taifun  Basic  Compiler-Superpac80-Forth-Back  Up-Othello-Unicon    GERMANDATE: 2021-10-18
DL: 115
TYPE: image
SiZE: 313Ko
NOTE: w1195*h1651

» XBC-Extended  Basic  Compiler    (BBG  Software)    GERMANDATE: 2020-06-04
DL: 172
TYPE: image
SiZE: 116Ko
NOTE: w578*h822

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » Variablennamenwandler (CPC Amstrad International)
» Applications » Variable Height
» Applications » CPC-Learn
» Applications » Lock (Your Computer)
» Applications » Animateur Basic (Amstrad Magazine)
» Applications » Sort-Flo (Happy Computer)
Je participe au site:
» Vous avez des infos personnel, des fichiers que nous ne possédons pas concernent ce programme ?
» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.732-desktop
Page créée en 033 millisecondes et consultée 2952 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.