Visustin generates flow charts from code written in several COBOL dialects, mainly COBOL 74 and COBOL 85.
The COBOL support is built by using Fujitsu COBOL 3.0 as a reference. This compiler is compliant with ANSI Standard COBOL X3.23 1985 (ISO-1989-1985) and ANSI '74 COBOL X3.23-1974. Fujitsu COBOL85 extensions are supported too. According to Fujitsu, this compiler is also compliant with OS/VS COBOL and Micro Focus, but we have not verified this. We have checked the documentation of IBM VS COBOL II for any incompatibilities. Other COBOL variants are supported to the extent that their syntax conforms to ANSI COBOL or Fujitsu COBOL85. If you use some language extensions, please experiment with Visustin and contact us if you find any problems.
Visustin can visualize a complete PROCEDURE DIVISION, one or more SECTIONs or a smaller executable snippet. There are 3 modes to select from. The modes differ in which columns are visualized:
Other than that, the column positions are insignificant to Visustin. All code is analyzed as if it were written in a column-free format. The columns and modes are summarized in the below table. The Indicator and Code areas are processed by Visustin.
| Fixed 7-72 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ... | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Sequence nr (skip) | Indicator | Code | Identification nr (skip) | |||||||||||||||||||
| Variable 7- | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ... | |||||||||
| Sequence nr (skip) | Indicator | Code | ||||||||||||||||||||
| Free | 1 | ... | ||||||||||||||||||||
| Code | ||||||||||||||||||||||
Tab stops. If your code contains (hard) tab characters, the fixed and variable modes may process it incorrectly. Try setting the tab stops via the Options menu. If this does not solve the problem, you need to convert hard tabs to soft tabs (spaces) with an external program before loading the code in Visustin. This is especially important for fixed mode source utilizing the Program Identification Number Area (columns 73-80).
COBOL programs are often big and complex. Maybe even too complex for humans and computers. A large program may not be displayable in a single chart. Instead of one big chart, make smaller charts. Read more about Large charts.
Visustin notices the following words as COBOL statements. ACCEPT, ADD, ALTER, CALL, CANCEL, CLOSE, COMPUTE, CONTINUE, DELETE, DISPLAY, DIVIDE, EJECT, ENTRY, EVALUATE, EXEC, EXIT, GENERATE, GO, GOBACK, IF, INITIALIZE, INITIATE, INSPECT, MERGE, MOVE, MULTIPLY, NEXT, OPEN, PERFORM, READ, RELEASE, RETURN, REWRITE, SEARCH, SET, SKIP1, SKIP2, SKIP3, SORT, START, STOP, STRING, SUBTRACT, SUPPRESS, TERMINATE, TITLE, UNLOCK, UNSTRING, USE, WRITE.
The following statements have a special visualization.
In addition, statements with an ON EXCEPTION, ON OVERFLOW, AT END, ON SIZE ERROR or a similar clause are displayed as a combination of a normal statement + a conditional.
The EXIT statement often marks where execution returns back to caller, as in the following snippet:
000200 GCD. 000210 code goes here... 000280 EXIT-GCD. 000290 EXIT. 000300 MORE-CODE.
It would appear the EXIT statement terminates the sub-program GCD. This is wrong. EXIT has no effect. The EXIT statement is simply a placeholder. Whether the execution returns or not is entirely up to the PERFORM and PERFORM..THRU statements in effect. Because of this, Visustin connects the EXIT statement to what comes next, MORE-CODE in this example.
Flow charts include PROCEDURE DIVISION code only. Preceding divisions are discarded.
Comments are not displayed. A line starting with "*" or "/" is a comment. Anything to the right of " *>" on a line is also a comment.
Visustin supports only those COBOL statements that are listed in this document. If your code is written in another COBOL dialect than what is supported by Visustin, it may contain other statements. You may notice incomplete visualization, such as missing statements. In this case, add periods between the statements to build sentences of one statement in each. Visustin is more forgiving in the visualization of single-statement sentences than multi-statement sentences in COBOL. You can also try this trick to eliminate the effects of bugs, should we have accidentally left any.
The following statements have a special meaning in COBOL but they are not visualized in any special way by Visustin.
National characters (other than A-Z, 0-9) are not supported. If your code uses national characters outside of string literals ("..."), you may notice some effects.
Procedure calls via the PERFORM statement are no longer visualized. A "PERFORM procedure-name" or "PERFORM procedure-1 THRU procedure-2" is not shown as a link to the target section or paragraph. This is to keep the charts more readable. Visustin versions up to v4 used to display PERFORMs as links. This easily led to an incomprehensibly complex layout and even made the program to crash.