www.qtsoftware.de
plusFORT
Fortran Quellcode-Reorganisation und Überprüfung

Das plusFORT Programm-Paket besteht aus mehreren sehr hilfreichen Utilities für die Wartung von Fortran Quellcode:

  • SPAG dient der Quellcode-Reorganisation;
  • GXCHK ist ein Global Cross Check Tool und dient der Analyse und der Dokumentation von Fortran-Quellcode;
  • QMERGE generiert versions-spezifischen Quellcode;
  • CMAKE ist ein “intelligentes” MAKE-Utility.

plusFORT ist verfügbar auf PC, VAX VMS und unter Unix (bspw. auf Sun, HP, DEC, IBM, SGI etc.).

SPAG - “The Spaghetti Unscrambler”

Die meist mühsame und zeitraubende Reorganisation von Fortran Programmen, insbesondere von “Spaghetti-Code” oder die Mühen einer manuellen Portierung erspart einem SPAG. Der “Spaghetti Unscrambler” ermöglicht eine strukturierte und logisch äquivalente Umformung des Fortran Quellcodes und kann auch vorteilhaft zur Programmdokumentation eingesetzt werden. SPAG zielt auf die Verbesserung der Lesbarkeit und die Vereinfachung der Wartung von Fortran Code. Für die Umwandlung von “Spaghetti-Code” in ein strukturiertes Programm verwendet SPAG einen iterativen Vereinfachungs-Algorithmus, der ein dem Input-Code äquivalentes Programm erzeugt. SPAG ist hinsichtlich verschiedener Aspekte (mehr als 100) konfigurierbar, z.B.:

  • Elimination von GOTOs,
  • Erzeugung von IF-Blöcken oder CASE ... SELECT-Strukturen aus computed GOTOs,
  • Ersetzen von single-line-IF-Anweisungen durch logisch verknüpfte IFs,
  • Konversion DO... CONTINUE in DO ENDDO oder DO WHILE ... ENDDO,
  • Entfernung von nicht-benutzten Code-Teilen,
  • Eliminierung von nicht benutzten PARAMETERn,
  • Variablen- und COMMON-Deklarationen,
  • Forcierung von expliziter Variablen-Deklaration,
  • globale Änderung von Variablennamen,
  • Umwandlung von Output in Groß/Kleinschrift bzw. gemischt für spezielle Programmelemente,
  • Strukturierung durch Einrücken,
  • Erstellung von Symboltabellen u.v.m..

So läßt sich bspw. ein Fortran 66 in ein Fortran 77-Programm oder in ein Fortran 90 konformes umformen (=> Beispiele).
SPAG wird über eine Konfigurationsdatei ("SPAG.FIG") gesteuert.

SPAG Test: Der Hersteller bietet den kostenlosen Service der Umwandlung von Fortran 77 in Fortran 90
==> On-Line Fortran F77 - F90 Converter

GXCHK

GXCHK ist ein Global Cross Check Tool, mit dem sich die Verwendung von Variablen, COMMONs, INCLUDE Dateien und PARAMETER in einem modularisiertem Programm analysieren läßt. So lassen sich bspw. undefinierte Variablen, Inkonsistenzen von Unterprogrammaufrufen und COMMON-Block-Differenzen aufspüren. GXCHK produziert einen

  • CALL Tree,
  • Symbol-Tabellen und
  • Reports über die Verwendung von COMMON Variablen und INCLUDE Dateien u.a..

Dynamic Analysis Option

Compiler und auch GXCHK arbeiten statisch, d.h. Analysen werden am Quellcode ausgeführt. Bestimmte Laufzeitfehler können so allerdings nicht festgestellt werden. Dem Manko kann mit der Dynamic Analysis Option begegnet werden. Es ist mit plusFORT möglich in einem Programm sogenannten Check-Code automatisch zu “implantieren”, der die Verwendung von bestimmten Variablen während der Laufzeit überwacht und ein Protokoll darüber in einer Datei ablegt, die dann späteren Analysezwecken dient.

QMERGE

QMERGE dient der Kontrolle von Programmen, die in verschiedenen Versionen vorliegen, bspw. als Version für PC, VAX oder IBM MVS-Programm. Der Quellcode aller Versionen kann komplett in einem Programm vorliegen und QMERGE generiert aufgrund von Steuervariablen und Metakommandos, z.B.

* - IF IBMPC
Fortran statements für PC Version
* - ELSE IF
MVS,VAX Fortran statements für MVS und VAX Version
* - END IF

den versions-spezifischen Fortran-Quellcode, der anschließend normal compiliert werden kann.

CMAKE

CMAKE ist ein MAKE-Utility, daß der automatisierten Compilierung von Programmteilen eines Programmprojektes dient. Bspw. hat man ein Programm, das aus vielen in separaten Dateien abgelegten, SUBROUTINEs besteht, die aufgrund einer Änderung eines INCLUDE-Files, das in mehreren dieser SUBROUTINEs verwendet wird, neu kompiliert werden müssen. CMAKE prüft, ob das betreffende INCLUDE-File in der SUBROUTINE verwendet wird und compiliert diese gegebenenfalls. CMAKE hat gegenüber vielen anderen MAKE-Utilities den Vorteil, daß es den MAKE-File sozusagen selbst generiert. D.h., man ist nicht mehr genötigt die Quellcode-Abhängigkeiten innerhalb eines Programm-Projekts selbst herauszufinden, sondern spezifiziert in einem CMAKE-File lediglich die zum Programm-Projekt zugehörigen Dateinamen und deren Compile- und Link-Kommandos.

 

plusFORT bzw. seine Utilties sind für verschiedene Rechnersysteme erhältlich (PCs, PCs, Minis und Mainframes von DEC, HP, IBM, Sun, SGI) und unterstüzt dann auch die auf diesen Systemen implementierten Fortran Erweiterungen.

Dokumentation

Die Online-Dokumentation wird in englischer Sprache geliefert.

 
Preislisten
·
Dienstleistungen
·
Links
·
·
·
·

Lieferumfang, Systemanforderungen etc.

   
Artikelstammkürzel PLUSFO
Lieferumfang Software und Online-Dokumentation (Lieferung via Download)
Unterstützte
Betriebssystem(e)

PC (unter Windows, Linux), Workstation (unter Unix, VMS etc.)

Systemanforderungen PC: mit Pentium, Festplatte mit einigen MB frei
Workstation: ggf. anfragen
Hersteller Polyhedron Solutions Ltd.
Aktuelle Version v7.0
Lizensierungsvarianten Einzelplatzlizenz und Mehrplatzlizenzen
Lizenz- bzw. Laufzeitgebühren n.a.
Patches erhältlich ja
Updates erhältlich ja, im Rahmen eines Wartungsvertrags ("maintenance")
Technischer Support durch den Hersteller im Rahmen eines Wartungsvertrags ("maintenance")
Datenblatt erhältlich nein
Testversion nein
Produktinformationen des Herstellers http://www.fortran.uk/fortran-analysis-and-refactoring-with-plusfort/
Informationsstand 13. Jan. 2017
zum Anfang
   

Hinweise zu Haftung & Urheberrecht bzgl. der Information auf dieser WebSeite.
Copyright QT software GmbH 2017. Alle Rechte vorbehalten.