TAA COBOL-Preprozessor

Der TAA COBOL-Preprozessor setzt die EXEC TAA-Anweisungen in für den COBOL-Compiler verständliche Anweisungen um.

Der COBOL Preprozessor kann entweder als Bestandteil der COBOL-Kompilierung aufgerufen werden, oder Stand-Alone.

Stand-Alone

Der Aufruf des COBOL-Preprozessors als Stand-Alone Werkzeug erfolgt über das Modul teamwise.taacobolgenerator.exe 1).

Syntax:

  teamwise.taacobolgenerator.exe [optionen] datei-1 [datei-2 [... datei-n]]

Es ist möglich, in einem taaCobolGenerator-Aufruf mehrere COBOL-Module verarbeiten zu lassen.

Die generierten Module werden unter dem Pfadnamen des Source-Moduls abgelegt, mit verändertem Suffix. Der Suffix kann über die Option /ext verändert werden; der Default dafür ist:

  • Bei Modulen für den PC (Option /pc): .mpc
  • Bei Modulen für MVS (default): .mvs

taaCobolGenerator kennt folgende Optionen:

  • /pc: Als Default generiert taaCobolGenerator Code, der für die Kompilierung des Moduls unter MVS gedacht ist. Wenn das Modul auf dem PC kompiliert und ausgeführt werden soll, müssen Sie die Option /pc angeben.
  • /ossy: Diese Option bewirkt die Generierung von Code für die Ausführung im Zusammenspiel mit dem Dialogsystem OSSY utner MVS.
  • /v: Die „Verbose“-Option gibt während der Generierung zusätzliche Informationen aus: den Namen des generierten Source-Moduls, den Namen des Generierungsergebnisses, die Generatorversion, die Anzahl aufgetretener Fehler.
  • /lo <dateiname>: Wenn diese Option angegeben ist, werden Meldungen des Precompilers nicht in Message-Boxen ausgegeben, sondern in einer Datei protokolliert (Logfile). Diese Option ist vor allem dann sinnvoll, wenn Module im Batch kompiliert werden.
  • /var <variante>: Setzt die Variante für die Generierung auf den angegebenen Wert. Default ist „ONLINE“.
  • /ext <suffix>: Verändert den Default-Suffix, mit dem die generierten Dateien abgelegt werden. Anzugeben ist der String hinter dem Punkt, z.B „/ext=cob“.
  • /company <Company>2): Angabe, welcher Company-spezifische Code erzeugt werden soll. Zur Zeit sind die Werte „AL“ oder „HN“ bzw. „HKV“ bekannt. Wenn die Option nicht angegeben ist, wird das Company-Setting aus der Registry genutzt.
  • /declareonuse3): Wenn die Option nicht gesetzt ist, erfolgt die Generierung wie bisher (alle Declares in der Register Section). Bei DeclareOnUse = 1 wird so generiert, daß der Declare bei der ersten Nutzung durchgeführt wird. Die Angabe in der Commandline überschreibt das entsprechende Company-Setting.
  • /autogetfirst4): Wenn AutoGetFirst = 0 ist, wird für Listobjekte kein automatisches Lesen des ersten Listenelements im Register und nach Modulaufrufen erzeugt, sonst ja. Die Angabe in der Commandline überschreibt das entsprechende Company-Setting.
  • /usebulkops5): Wenn UseBulkOps gesetzt ist, werden für bestimmte Operationen die objektbezogenen Informationen nicht einzeln übergeben, sondern in einem Aufruf gebündelt. Die Angabe in der Commandline überschreibt das entsprechende Company-Setting.
  • /programid6): Angabe der Program-ID, die anstelle des Default-Modulkurznamens verwendet werden soll. Diese Angabe wird nur verwendet, wenn im SourceCode keine ProgramID angegeben ist. Diese Option gilt nur für das erste generierte Modul; es sollten, wenn diese Option angegeben wird, nicht mehrere Dateien generiert werden. Achtung: Die Angabe kann Auswirkungen haben auf die Auffindbarkeit des Moduls, wenn es von anderen Modulen aufgerufen wird! Sie sollte deshalb nach Möglichkeit nicht oder nur für Ntry-Module genutzt werden.

Aufruf unterhalb des Cobol-Compilers von CobolIT

Der Cobol-Compiler von CobolIT kennt eine Option -preprocess, über die man ein Batchscript übergeben kann, welches den Preprozessor aufruft und eine Ausgabedatei erzeugt, die von CobolIt weiterverarbeitet (kompiliert) wird. Beispiel, erstellt eine .obj-Datei mit Debuginformationen aus EXEC TAA-Code:

cobc -c -w -g -debug -preprocess="taapreproc.cmd" <name>.cbl

Das in dieser Option angegebene Command-Script muss als erstes Argument den Namen der Eingabedatei, als zweites Argument den Namen der zu erstellenden Ausgabedatei verarbeiten. In dem Commandscript wird TeamWiSE.TaaCobolGenerator.exe aufgerufen, und das von diesem erstellte Ergebnis in die von CobolIt erwartete Ausgabedatei kopiert.

Aufruf unterhalb des COBOL-Compiler von NetExpress/MicroFocus (bis V9.12)

Der TAA-COBOL-Preprozessor ist so implementiert, dass er unter den COBOL-Compilern von Microfocus bzw. NetExpress als Preprozessor vorgeschaltet werden kann. Die folgende Beschreibung geht davon aus, dass Sie einen dieser COBOL-Compiler benutzen.

Das Ergebnis der Kompilierung ist ein ausführbares COBOL-Modul, i.d.R. im obj- oder int-Format, also genauso wie bei der Kompilierung ohne Preprozessor.

Der Name des Preprozessor-Moduls für den COBOL-Compiler ist „taappx.gnt“.

Die Tatsache, dass der TAA COBOL-Preprozessor vorgeschaltet werden soll, teilen Sie dem Compiler über die „preprocess“-Anweisung mit, z.B. :

  cobol <Source-Name> preprocess"d:\taa\bin\\taappx.gnt";

Das Preprozessor-Modul taappx.gnt muss im COBOL-Suchpfad liegen; ist dies nicht sichergestellt, muss der komplette Pfadname angegeben werden.

Optionen für den Preprozessor können nach der preprocess-Anweisung folgen:

  cobol <Source-Name> preprocess"d:\taa\bin\taappx.gnt" /pc /lo <Logfile-Name>;

Sinnvolle Optionen sind (Beschreibung vgl. oben):

  • /pc: Diese Option sollte bei Aufruf unter einem PC-Cobol-Compiler immer angegeben werden.
  • /lo <dateiname>
  • /var <variante>.

Die anderen Optionen werden entweder ignoriert (/ext, /v), oder führen zu Compilerfehlern oder unausführbarem Objectcode (/ossy).

1)
bis 9.12: taaMain
2)
ab Rel. 9.02
3) , 4) , 5)
ab Rel. 9.03
6)
ab Rel. 9.04 Update 10
faq:syntax:taamain · Zuletzt geändert: 10.09.2024 09:25

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum