STRUCT |
Das Kommando STRUCT
erfüllt zwei
Aufgaben:
Sie können es dazu verwenden, die Quellcode-Zeilen eines Programms entsprechend der Programmstruktur einzurücken.
Diverse zusätzliche Anzeigen verdeutlichen die Programmstruktur und erlauben es Ihnen so, etwaige Inkonsistenzen in der Struktur aufzuspüren.
Da das STRUCT
-Kommando die
Natural-Quellcodes unabhängig davon verarbeitet, ob sie tatsächlich
katalogisiert werden können oder nicht, wird der Quellcode nicht auf
syntaktische Korrektheit analysiert. Obwohl das
STRUCT
-Kommando sorgfältig strukturierte
Quellcode-Zeilen liefert, können Zeilen vorhanden sein, die unklar sind und die
nicht wie erwartet strukturiert werden.
Folgende Arten von Statements sind vom
STRUCT
-Kommando betroffen:
Statement-Blöcke mit Bedingungen (AT BREAK
,
IF
,
DECIDE FOR
usw.),
DO/DOEND
-Statement-Blöcke,
DEFINE
DATA
-Statement-Blöcke,
interne Subroutinen.
Wenn Sie das STRUCT
-Kommando eingeben,
erhalten Sie das STRUCT
-Menü, von dem Sie folgende Funktionen
auswählen können:
Dieses Dokument behandelt folgende Themen:
Mit dieser Funktion können Sie ein Quellcode-Programm einrücken, so dass die Einrückung der Quellcode-Zeilen die Struktur des Programms widerspiegelt.
Diese Funktion entspricht der des Editorkommandos
STRUCT
.
Bei der Einrückung wird die Länge der Quellcode-Zeilen berücksichtigt; d.h. eine eingerückte Zeile wird nicht über den rechten Rand hinausgeschoben; selbst wenn eine "korrekte" Einrückung dies erfordern würde, wird eine Zeile nicht über den Rand hinausgeschoben, sondern nur soweit nach rechts wie möglich.
Die Generate-Funktion bietet Ihnen folgende Optionen:
Feld | Erklärung | ||||||
---|---|---|---|---|---|---|---|
Source Name | In dieses Feld geben Sie den Namen des Quellcodes ein,
den Sie einrücken möchten. Der betreffende Quellcode wird dann von der
Systemdatei in den Editor-Arbeitsbereich gelesen und strukturell eingerückt.
Wenn sie keinen Namen angeben, wird das gerade im Editor-Arbeitsbereich befindliche Objekt eingerückt. Wenn der Arbeitsbereich leer ist, müssen Sie einen Namen angeben. |
||||||
Shift setting | In diesem Feld können Sie angeben, um wieviel Stellen (1 bis 9) die Zeilen jeweils eingerückt werden sollen. Standardmäßig wird um 2 Stellen eingerückt. | ||||||
Align Comments |
|
||||||
Display Messages |
|
||||||
Return to STRUCT |
|
Anmerkung:
Ein im Reporting Mode geschriebenes Programm wird anders
eingerückt als ein im Structured Mode geschriebenes.
Mit den Spezial-Statements /*STRUCT OFF
und
/*STRUCT ON
können Sie bestimmte Abschnitte Ihres
Quellcode-Programms von der Einrückung ausschließen. Die beiden Statements
müssen jeweils am Anfang einer Quellcode-Zeile stehen. Wenn Sie die
Generate-Funktion ausführen, werden die Zeilen zwischen
diesen beiden Statements nicht davon betroffen; sie bleiben, wie sie waren.
Programm, bevor es eingerückt wird:
DEFINE DATA LOCAL 1 EMPL VIEW OF EMPLOYEES 2 PERSONNEL-ID 2 FULL-NAME 3 FIRST-NAME 3 NAME 1 VEHI VIEW OF VEHICLES 2 PERSONNEL-ID 2 MAKE END-DEFINE FIND EMPL WITH NAME = 'ADKINSON' IF NO RECORDS FOUND WRITE 'NO RECORD FOUND' END-NOREC FIND (1) VEHI WITH PERSONNEL-ID = EMPL.PERSONNEL-ID DISPLAY EMPL.PERSONNEL-ID FULL-NAME MAKE END-FIND END-FIND END
Dasselbe Programm, nachdem die Funktion Generate Structured Source angewandt wurde:
DEFINE DATA LOCAL 1 EMPL VIEW OF EMPLOYEES 2 PERSONNEL-ID 2 FULL-NAME 3 FIRST-NAME 3 NAME 1 VEHI VIEW OF VEHICLES 2 PERSONNEL-ID 2 MAKE END-DEFINE FIND EMPL WITH NAME = 'ADKINSON' IF NO RECORDS FOUND WRITE 'NO RECORD FOUND' END-NOREC FIND (1) VEHI WITH PERSONNEL-ID = EMPL.PERSONNEL-ID DISPLAY EMPL.PERSONNEL-ID FULL-NAME MAKE END-FIND END-FIND END
Mit dieser Funktion können Sie den Quellcode eines Objekts zusammen mit verschiedenen Informationen, die die Struktur des Objekts verdeutlichen, anzeigen.
Die Display-Funktion bietet Ihnen die folgenden Optionen:
Feld | Erklärung | ||||
---|---|---|---|---|---|
Source Name | In dieses Feld geben Sie den Namen des Quellcodes ein,
den Sie anzeigen möchten. Der betreffende Quellcode wird dann von der
Systemdatei in den Editor-Arbeitsbereich gelesen und angezeigt.
Wenn sie keinen Namen angeben, wird das gerade im Editor-Arbeitsbereich befindliche Objekt angezeigt. Wenn der Arbeitsbereich leer ist, müssen Sie einen Namen angeben. |
||||
Display Compressed |
|
||||
Return to STRUCT |
|
Folgende Informationen werden angezeigt:
Line Numbers | Bei jedem Statement, das einen Statement-Block beendet, wird links neben dem Quellcode die Quellcode-Zeilennummer des Statements, das den betreffenden Block initiiert, angezeigt. |
Structure Table | Rechts neben dem Quellcode wird eine Strukturtabelle angezeigt, die Aufschluß über offene Statement-Blöcke gibt. Für jeden offenen Block wird ein einzelner Buchstabe angezeigt. Die verschiedenen Buchstaben beziehen sich auf verschiedene Arten von Statements (für eine Erklärung der einzelnen Buchstaben drücken Sie PF1). Etwaige Inkonsistenzen in der Struktur des Quellcodes werden durch eine entsprechende Meldung in der Strukturtabelle angezeigt. |
14:17:47 - Structured Source ABC in Library XYZ - 2003-02-04 0010 DEFINE DATA LOCAL *O 0020 1 EMPL VIEW OF EMPLOYEES *O 0030 2 PERSONNEL-ID *O 0040 2 FULL-NAME *O 0050 3 FIRST-NAME *O 0060 3 NAME *O 0070 1 VEHI VIEW OF VEHICLES *O 0080 2 PERSONNEL-ID *O 0090 2 MAKE *O 0100 0010 END-DEFINE *O 0110 FIND EMPL WITH NAME = 'ADKINSON' *F 0120 IF NO RECORDS FOUND *FJ 0130 WRITE 'NO RECORD FOUND' *FJ 0140 0120 END-NOREC *FJ 0150 FIND (1) VEHI WITH PERSONNEL-ID = EMPL.PERSONNEL-I *FF 0160 DISPLAY EMPL.PERSONNEL-ID FULL-NAME MAKE *FF 0170 0150 END-FIND *FF 0180 0110 END-FIND *F 0190 END * PF1=Help, PF2=Menu, PF3=Exit, PF6=Top, PF12=Cancel. |
Der aktuelle Inhalt des Arbeitsbereichs wird von dem angezeigten Quellcode nicht beeinflusst.
Mit dieser Funktion können Sie den Quellcode eines Objekts zusammen mit seinen Struktur-Informationen ausdrucken.
Die Print-Funktion entspricht der Funktion Display Structure of Source, nur dass die Ausgabe nicht auf dem Bildschirm angezeigt, sondern auf einem Drucker ausgedruckt wird.
Mit der Print-Funktion haben Sie die gleichen Optionen wie bei der Display-Funktion.
Mit dieser Funktion können Sie einen Quellcode von der Systemdatei
lesen und zusammen mit ihren Struktur-Informationen sowie mehreren Zeilen (mit
Zeilennummer 0000
) am Anfang des Quellcodes, die die
Struktur-Informationen erklären, in den Editor-Arbeitsbereich laden.
Mit der Write-Funktion haben Sie die gleichen Optionen wie bei der Display-Funktion, mit dem Unterschied, dass Sie einen Quellcode-Namen angeben müssen.
Der Quellcode und seine Struktur-Informationen werden als Text in
den Arbeitsbereich geladen und können mit dem Systemkommando
EDIT
editiert
werden.