COMAL
# COMAL

COMAL (engl. common algorithmic language) ist eine imperative Programmiersprache der dritten Generation.

Sie wurde 1973 von den Dänen Benedict Løfstedt und Børge Christensen entwickelt und richtete sich hauptsächlich an Programmieranfänger. COMAL wurde unter anderem an europäischen Universitäten weiterentwickelt und 1979 als COMAL-80 standardisiert.

Die Sprache nimmt dabei eine Stellung zwischen BASIC und Pascal ein und übernimmt aus BASIC konzeptionell die leichte Erlernbarkeit und die interaktive Arbeitsweise, während Kontrollstrukturen, Funktionen, Prozeduren und Rekursion aus Pascal stammen.

Die UniCOMAL-Implementation für DOS und OS/2 ist eine Objektorientierte Programmiersprache und erlaubt benutzerdefinierte Erweiterungen.

Es gibt Implementierungen für folgende Computer-Architekturen:

* CP/M
* Commodore CBM-4000-Serie (Public Domain)
* Commodore 64 (COMAL 80, Public Domain)
* Commodore 128 (COMAL 80, Public Domain)
* Commodore Amiga
* Schneider/Amstrad CPC
* Acorn 8-bit
* Acorn Electron
* Acorn 32-bit
* IBM PC/AT (auf DOS und OS/2)
* 32-Bit-Windows (OpenComal)
* Unix (BSD, GNU/Linux, Mac OS X) (OpenComal)
* MS-DOS (OpenComal)

## Anweisungen, Befehle und Kommandos in COMAL

AUTO: Während der Programmeingabe nummeriert der Computer die Programmzeilen selbständig.

DEL: Dieser Befehl wird beim Löschen von Prozeduren sowie Programmzeilen benutzt.

LIST: Mit diesem Befehl werden alle Programmzeilen auf dem Bildschirm ausgegeben.

LIST": Dieser Befehl wird benutzt, um Programmteile oder Programme so zu speichern, dass diese später an im Speicher befindliche Programme angefügt werden können.

LOAD: Mit diesem Befehl lesen Sie eine Kopie eines Programms vom externen Speicher in den Arbeitsspeicher. Ist bereits ein Programm im Arbeitsspeicher vorhanden, so wird dieses gelöscht.

MERGE: Mit diesem Befehl laden Sie Programme in den Arbeitsspeicher, ohne ihn vorher zu löschen. Ist bereits ein Programm im Arbeitsspeicher vorhanden, so wird das neue Programm an das bereits vorhandene angefügt.

PAGE: Dieser Befehl löscht den Bildschirminhalt und setzt den Cursor in die linke obere Ecke.

RENUM: Mit dieser Anweisung sorgen Sie für eine Neu-Nummerierung des Programms in Zehnerschritten.

RUN: Mit diesem Befehl starten Sie den Programmablauf.

SCAN: Diese Anweisung ermöglicht einen Probelauf ohne eine Programmausführung. Es wird lediglich die Programmstruktur erklärt, und eventuelle Fehler werden gemeldet.

