.TH Structorizer 1 "29 April 2016" "" "User's Manual"
.SH NAME
Structorizer \- A program to work with Nassi-Shneiderman diagrams (NSD)
.SH SYNOPSIS
.B Structorizer
.RI [ nsd\-file ]
.br
.B Structorizer \-x \fIgenerator\fP
[ \fIoptions\fP ]
\fIinput\-file\fP ...
.br
.B Structorizer -p
\fIpas|pascal\fP
[
\fIoptions\fP
]
[
\-o \fIoutput-file\fP
]
\fIsource-file\fP ...
.br
.B Structorizer \-h
.br

.SH DESCRIPTION
\fBStructorizer\fP can be used as an interactive graphical editor for Nassi-Shneiderman diagrams or as a command-line tool to convert files between the XML-based diagram format and program source code.
With no argument or a single NSD file name as argument, \fBStructorizer\fP will start in interactive mode. It allows to create, edit and save algorithm descriptions as Nassi-Shneiderman diagrams. They may be exported as pictures in various graphics file formats, and under certain conditions the diagrams may even be executed and analysed (see the home page for a full description of the features and the user interface). \fBStructorizer\fP can also export the algorithms as program stubs to different programming languages.
Used as a command-line tool, structorizer either converts saved NSD files to program source of several programming languages (option -x) or generates NSD files from parsed source code (option -p by now only from pascal sources) in batch mode.
By default, the resulting file will have the same name as the (first) input file name but with a different extension (NSD files will have extension .nsd, Pascal source files extension .p etc.). With option \fB-o\fP a different output file name may be specified. By option \fB-\fP the translation result may be directed to standard output instead.
For the conversions the parser preferences configurable in the interactive mode od Structorizer are relevant, whereas other preferences, particularly the export options are invalid and may only be controlled by the command line options described below.

.SH OPTIONS
.TP
\fB\-\fP
Direct exported program code to StdOut instead of writing it to the default output file (if \fB-o\fP is also used then the code will be written both to standard output and to the specified output file).
.TP
\fB\-b\fP
Place opening braces for an compound instruction block at next line below the keyword.
.TP
\fB\-c\fP
Simple instructions will be exported as comments.
.TP
\fB\-e\fP \fIencoding\fP
Select a character encoding for the exported code (default is UTF-8).
.TP
\fB\-f\fP
Force overwriting an existing output file with same name (otherwise a new name will be derived by inserting or appending an integer number to the base name).
.TP
\fB\-h\fP
Give a short help and a list of names of supported generators (must be the first and only option in order to work).
.TP
\fB\-l\fP
Generate line numbers for BASIC export.
.TP
\fB\-o\fP \fIoutput\-file\fP
Use the given name / path for the output file instead of the default.
.TP
\fB\-t\fP
Export instructions as they are written i.e. nearly without  translation/interpretation.
.TP
\fInsd\-file\fP
A file generated by Structorizer describing a Nassi-Shneiderman diagram as input for \fB-x\fP.
.TP
\fB\-x\fP \fIgenerator\-name\fP
Generate program code for the specified language 
.TP 10
Accepted names (case-insensitive) of generators are:
.RS 3
.B Pascal
.br
.B Delphi
.br
.B Oberon
.br
.B C
.br
.B "C++"
.br
.B C#
.br
.B Java
.br
.B Perl
.br
.B PHP
.br
.B Python
.br
.B Basic
.br
.B KSH
.br
.B BASH
.br
.B StrucTeX
.RE
.TP
\fB\-p pas|pascal\fP
Generate an NSD file from Pascal code 

.SS "Supported elements"
Structorizer supports all standard algorithm elements of Nassi-Shneiderman diagrams (e.g. according to DIN 66261) including Parallel sections (i.e. instructions, alternatives, case selections, FOOR loops - both as counting and as for-each or for-in loop -, WHILE loops, REPEAT-UNTIL loops, endless loops, subroutine calls, exit jumps, and parallel sections).

.SH "SEE ALSO"
Website of Structorizer: http://structorizer.fisch.lu/
.br
Description of Nassi-Shneiderman diagrams https://en.wikipedia.org/wiki/Nassi-Shneiderman_diagram
.SH AUTHORS
Bob Fisch and Kay Gürtzig
.SH CONTRIBUTORS


