S T R U C T O R I Z E R

GNU General Public License



Read here ...
F.A.Q.
Why doesn't Structorizer support FOR loops in C-like syntax, i.e. for(...; ...; ...)?
Though this syntax - once very unusual when C was designed - has become pretty popular since many C-inspired other languages have adopted it, the disadvantages caused by it concerning language-independence and predictability e.g. on code export are significant.
One might expect that a typical FOR loop in C syntax looks like this:
for (int i = 0; i < N; i++)
In this case it would indeed be easy to extract the loop variable (i), a start value (0), an end value (N-1), and an increment (+1), which are needed to interpret the loop in a generic way. Unfortunately the loop schema can be (ab)used in many ways, however, as it allows to place arbitrary instruction sequences (even empty ones) in zones 1 and 3 and any Boolean expression or even nothing in zone 2. This way, its flexibility undermines the semantics of the Nassi-Shneiderman symbols and complicates execution and code export heavily.
The wild and inconsistent guesswork needed to extract the above information from FOR loop headers of the strangest kinds in dozens of different syntax variants was no longer acceptable such that we decided for a form-based FOR loop editor that ensures a reliable interpretation.
You may still switch to free text mode and write down a C-style loop header for documentation purposes but then Structorizer won't account for executability and sensible code export results.
see 0 comments on this item
Where can I find help about Nassi-Shneiderman diagrams?
If you need help with Nassi-Shneiderman diagrams, please consider one of the following links:

see 0 comments on this item
What is the best font to choose for diagrams?
For Structorizer 3.x, you need to choose a font that supports Unicode. Check the test string in the font dialog and make sure you see an arrow and the sign for an empty set ():

The following fonts should work fine:
  • Arial Unicode
  • Dialog
  • Lucidia Bright
  • Lucidia Sans
  • Lucidia Sans Unicode
  • Monospaced
  • OpenSymbol
  • Sans Serif
  • Serif
see 0 comments on this item
Structorizer works only with instructions in french. Can you help me?
As Structorizer does not follow Microsoft standards, the language of the graphical user interface is independent of the syntax used to develop algorithms.
Since Structorizer version 3.26-00, the default keyword set for the diagram elements is in English. Anyway, you may simply go to the respective configuration panel via menu item "Preferences"->"Parser" and change the keywords according to your needs. Note that you may even choose among some pre-configured localized keyword sets via the broad button near the lower right corner of the Parser Preferences panel.
Whenever you modify the parser preferences, Structorizer will offer you automatically to refactor all open diagrams accordingly (i.e. to replace the previously valid keywords in the texts by the new ones).
Likewise, when you load diagrams Structorizer will adapt them to the current keyword set (if you allowed this refactoring in the import options for NSD files, reachable via menu item "Preferences"->"Import"; it is enabled by default).
see 1 comments on this item
Is there any user manual for Structorizer?
Yes, here it is: Structorizer User Guide

Several people have worked on this before. Check out these documents:
Please log in first to post a comment.
Is there a loop element with "do while" semantics as in C etc.?
Yes and no. In fact, Structorizer provides an end-controlled loop with "repeat until" semantics. The only difference to a "do while" loop is the inverse logic of the loop condition. For avoiding ambiguity, Structorizer can only provide one of them. It should not be a big issue to negate the condition in order to achieve the opposite effect if desired. On execution, import, and export Structorizer manages very well to ensure algorithmic equivalence.
You can find a more detailed discussion here: Issue #830
see 0 comments on this item
Do I have to save diagrams as nsd files first to create an Arrangement archive?
No. After having e.g. imported a bunch of diagrams from a source file or decomposed a complex diagram into several subroutine diagrams, all placed in the Arranger, you should just make sure that the collaborating diagrams form a common group (via the context menu tools in the Arranger index). Then select the group in the Arranger index and activate the context menu item "Save changes". Choose "As archive (*.arrz)". This way you can save the member diagrams of the group directly in the emerging arrz file.
see 0 comments on this item