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

GNU General Public License



Read here ...
News
19.02.2021  

We plan to upgrade the Structorizer code to at least Java 11 by mid 2021 and give up Java 8 compatibility. The coming Structorizer versions will remind you.
This means, however, that direct support of Java WebStart will also end. With e.g. OpenWebStart there are alternatives, though, but you will have to care fo their installation yourself if you want to adhere to the JNLP paradigm (the JNLP package will still be provided on the Structorizer homepage as far as possible). Windows users may better use the installable App for Windows, anyway.

For discussion, you are invited to issue #944 on GitHub.

Please log in first to post a comment.
18.02.2021  

The new version 3.30-17 chiefly addresses a Java availability problem on newer Mac OS versions: TheStructorizer package for Macs now contains an own JRE plugin.

In addition, Pascal code import got rid of old limitations like strict ASCII texts and difficulties with comments of different style.

Finally, several bugs related to group code export were fixed.

see comments on this news
12.02.2021  
Version 3.30-16 is dedicated to substantial usability improvements around CASE elements and the localization tool Translator:
  • The new CASE element editor was functionally enhanced and equipped with a lot of intelligence
  • In Translator, the options to reload prepared or modified translation files were made more obvious and sensible. (We hope of course that some of our Structorizer fans out there - you? - will help keeping the localizations up to date. Sent-in translation updates will be very much appreciated.)
Some more or less related bugfixes round the version up. Have fun!
see comments on this news
05.02.2021  
Great news: Version 3.30-15 further improved Structorizer!
  • A new input mask for CASE elements helps to maintain case/branch consistency.
  • A literal Infinity and the symbol ∞ may now be used in expressions to model infinite values.
  • Now you can also summon referenced Includable diagrams into a child editor from the including diagram head.
  • For the text and comment fields in the element editor there is now an undo/redo mechanism (depth 100 undoable edits)...
  • ... and so is in the popup translation line editor in Translator
  • Empty finally blocks in TRY elements are now hidden by default

Among the bugfixes the perhaps most important one is that variables with qualified access paths are now fully supported as "lvalues", i.e. on the left-hand side of an assignment or as target of an input instruction.

Moreover, on selecting a flawed element now the report list automatically scrolls the first related Analyser warning into view.

Enjoy it (and keep well)!

see comments on this news
18.01.2021  
What are the most important changes in version 3.30-14 delivered today?
  • Now there are two ways to step-test CALL elements on debugging: you may either step over them (new!) or step into the called subroutine diagram (as before but with a different button).
  • Elements, the text of which Analyser found fault with, are now flagged with a little red triangle (hints of a tutorial tour are marked with little blue triangles) – the flagging may be switched off via a new checkbox in the Analyser Preferences.
  • When modes "Switch text/comments", "Show comments?", and "Highlight variables?" are all active then the popped up element texts will show syntax highlighting.
  • The effect of the individual arrangement group visibility checkbox (eye) was modified: If you switch off the visibility of a group now, not only the group bounds won't be drawn anymore but the drawing of the member diagrams in Arranger will also be suppressed.
Furthermore, as usual, several bugs were fixed.
see comments on this news
29.12.2020  
Our New Year's gift is available now: Version 3.30-13 with further improvements for Turtleizer usability: Now you can measure positions, distances, and angles with the mouse in your drawing. More and improved navigation opportunities are provided.
To your benefit, cursor shape changes are more broadly used to indicate mode changes, dragging opportunities, or time-consuming operations.
Several minor bugs (e.g. in Arranger, Executor, Turtleizer, Find&Replace) were eliminated as well. See Version 3.30-13 info for more details or - even better - try and enjoy the software itself.
A happy new year to all, please keep well.
see comments on this news
16.12.2020  
Version 3.30-12 got ready!
The major functional benefit is a GUI extension for the Turtleizer module:
  • full scrolling and zooming functionality
  • status bar (current positions, drawing extents, zoom factor)
  • popup menu with many useful functions, e.g. content export to file
  • several key bindings for easy access
Then there are of course several bugfixes and minor changes integrated.
see comments on this news
21.10.2020  
Version 3.30-11 is now online. A new display mode allows to show all operators in C style in the diagram, and numerous bug fixes improve usability again.
see comments on this news
23.04.2020  
Version 3.30-08 is available. It contains numerous bugfixes and the new functions introduced with version 3.30-07:
  • Group export (a selected arrangement group may be exported, i.e. as a library, even if the contained diagrams are not associated via calls)
  • Diagram or group export as flowchart compatible with PapDesigner v2.2.0.8.05-beta, which is now available
  • A new choice list in the diagram editor facilitates the maintenance of the include list
  • New import and export options
see comments on this news
06.10.2019  

Release 3.30 is ready and brings two major new features:

  1. Instant code preview: Whenever you modify your diagram, you may see the consequences to the generated code in the language of your choice immediately! And on clicking into the code pane the responsible element for the hit line will be selected (and vice versa).
  2. A Javascript generator was added (still just a prototype, but ...).

Then of course several bugs were fixed, some really tricky ones among them. And we dared to drop the deprecated ANSI-C73 parser, the ANSI-C99 parser has done better in any case.

Enjoy it!

see comments on this news
05.08.2019  
Version 3.29-12 came with some innovations:
  • A true Windows installer for download. It installs Structorizer for either all users or just the current user. It provides an update mechanism with three modes: automatic; requiring user/administrator consent; disabled. (The mode is asked for on installation and can be altered via "Modify".)
  • The possibility of selective preferences export to file. Such a partial ini file may be used to preset the contained options for all users on start, if placed in the installation directory.
  • Several bugfixes (see changelog).
see comments on this news
24.03.2019  
Version 3.29-07 eventually introduced TRY elements as its major functional enhancement. They allow to model a basic exception handling, providing both catch and finally mechanism, albeit in a somewhat simplistic way. This is still an experimental feature beyond DIN 66261 but reflects capabilities of many modern programming languages. By now, only strings can be thrown and caught in the effect.
see comments on this news
14.03.2019  
Version 3.29-06 added support for routine diagrams with optional parameters. As in languages like C++ or Python, arguments are made optional by associating them with a default value in the parameter list in the diagram header. See the user guide for details.
see comments on this news
18.01.2019  
Release 3.29 and its "service pack" 3.29-01 brought a substantial functional upgrade for the Arranger and Arranger Index components:
  • Diagrams may now be organized in named groups.
  • Groups are automatically created when
    • an arrangement file is loaded,
    • an arrangement is saved as file,
    • source code is imported.
  • Outsourced subroutines join automatically all groups their parent diagram belongs to.
  • All other diagrams pushed to Arranger join a default group.
  • Groups can be visualized graphically and may improve the project overview dramatically.
  • Groups may be used for
    • collective operations,
    • completeness and dependency analysis,
    • maintenance of stored arrangements.
  • Users may easily
    • create groups from selection,
    • move or share diagrams among groups,
    • expand groups by referenced diagrams,
    • dissolve groups,
    • geometrically rearrange diagrams by groups.
In addition, many bugs and inconveniences were fixed.
see comments on this news