Supported languages in Visustin

Visustin generates flow diagrams for the following programming languages:

General considerations

Visustin is designed to visualize procedural code of any complexity. Visustin works even with true spaghetti code and unstructured jumps. It works best with executable code, but it can also consume non-executable declarations. For the best results, consider removing the non-procedural parts, as they sometimes result in clutter in the diagram.

You can visualize an entire source code file, a single class, a single procedure or just a part of it. If the code is long and the flow chart large, it often makes sense to remove some code and focus on the crucial points of the algorithm.

Visustin works at the statement level. It doesn't care about the internal parts of complex statements, such as the Booleans (and, or, &&, ||) in an if statement.

Comments. You can optionally have comments to show up in the flow chart [feature not implemented for COBOL]. Based on the position of the comment and the code near it, Visustin tries to assign the optimum location for the comment. However, since comments don't really belong to the control flow, they may sometimes show up at irrational places. Comments don't really belong to the control flow. In fact, a comment may well exist on a line through which there is no control flow at all. What is more, developers don't necessarily write comments according to the control flow, but according to physical lines. For example, a comment for a conditional statement may exist after the conditional, like this: if (condition) then //comment. In this case it is not clear whether the comment is about the condition or about the true branch.

Visustin uses the following general rules: Usually, a full-line comment describes the code that immediately follows on the next line. An end-of-line comment describes the code that is on the same line. A comment that follows an unconditional jump (such as goto, return or exit) describes the jump unless some other code follows.

If a comment appears at the wrong location, try placing it above the line it should describe. If you want a comment to describe a branch or a loop body, place the comment within that branch or loop paying attention to block delimiters such as {..}, begin..end, then..else, repeat..until. On the other hand, if you want the comment to describe the branch/loop enter condition, put the comment immediately before the conditional or looping statement.

Compiler directives. Several programming languages support compiler directives (preprocessor instructions such as #if..#else) to set compiler options and selectively compile a block of code. Visustin can show compiler directives as comments or as flow symbols. When shown as flow symbols, the compiler directives look as if they were regular executable code with decisions and branches. Compiler directive options

Entire program? Visustin can completely visualize almost any source file in the supported languages. Procedures will be shown next to each other as separate flows. Procedure calls are not visualized. Calling a sub-program or a function does not display as a link.

If the program consists of multiple source files, you can use the Bulk flowchart feature.

©Aivosto Oy