[an error occurred while processing this directive] [an error occurred while processing this directive]

Mocka für Linux

Arbeitshinweise

Im folgenden wird davon ausgegangen, dass die hier bereitgestellte Version Mocka 1205 verwendet wird.

Beim Aufruf von m2 reagiert Mocka mit dem "Sitzungsmodus", einem Prompt der Form

  • Mocka 1205
    >>
Im Sitzungsmodus werden alle notwendigen Übersetzungen von Moduln automatisch erledigt. Man braucht kein make, um Programme zu übersetzen und zu binden (das erledigt das System anhand der logischen Abhängigkeiten auf der Basis der IMPORT-Klauseln der beteiligten Moduln und der Zeitstempel der entsprechenden Dateien von selbst).

Um im Sitzungsmodus den (bei der Installation voreingestellten) Editor mit dem Quelltext eines Haupt- oder Implementierungsmoduls modul.mod aufzurufen, gibt man

  • >> i modul
ein; mit
  • >> d modul
wird der Editor mit dem Quelltext eines Definitionsmoduls modul.def aufgerufen.

Unter der Voraussetzung, dass programm.mod ein Hauptmodul - d.h. weder Definitions- noch Implementierungsmodul - ist, führt der Aufruf von

  • >> p programm
dazu, dass dieser Modul und - soweit notwendig - alle von ihm direkt und indirekt importierten Definitions- und Implementierungsmoduln übersetzt und zum ausführbaren Programm programm gebunden werden.

Wenn im Quelltext Syntax-Fehler vorkommen, wird der Editor mit in ihn eingestreuten Fehlermeldungen aufgerufen. Die Zeilen mit den Fehlerhinweisen beginnen mit dem "Klammeraffen" @. Man korrigiert diesen Quelltext mit dem Editor (um die mit @ beginnenden Zeilen muss man sich dabei nicht kümmern: sie werden nach dem Verlassen des Editors vom System wieder entfernt).

Mit dem Aufruf

  • >> q
wird der Sitzungsmodus von Mocka verlassen und man befindet sich wieder auf der Kommandoebene.

Man kann auch einen bereits editierten Modul gezielt übersetzen lassen: aus dem Sitzungsmodus heraus mit dem Aufruf von

  • >> s modul
den Definitionsmodul modul.def und mit
  • >> c modul
den Haupt- bzw. Implementierungsmodul modul.def.

Man kann den Übersetzer auch direkt auf der Kommandozeile aufrufen, indem man dem Aufruf m2 die Optionen -s modul bzw. -c modul mitgibt:

  • m2 -s modul
übersetzt den Definitionsmodul modul.def und
  • m2 -c modul
den Haupt- oder Implementierungsmodul modul.mod.

Man kann auch auf der Kommandozeile

  • echo p programm | m2
aufrufen, wenn es sich bei programm.mod um einen Hauptmodul handelt; das entsprechende Programmsystem wird - falls alles syntaktisch einwandfrei ist - vollständig übersetzt und zum ablauffähigen Programm programm gebunden.

In diesen Fällen werden die Fehlermeldungen auf dem Bildschirm ausgegeben, beginnend mit Zeilen- und Spaltennummer.

Letzte Aktualisierung: Ch. Maurer, 5. August 2012