Additional language support

Additional languages are supported through flavors that "plugin" to our generic Structure101g and Restructure101g products.

Restructure101g is available for US$150, with Structure101g at US$100.

The following are currently supported third-party "flavors" or parser plugins:

Developing a flavor was really straightforward. So much so that we ended up developing more than one!

Whenever we had questions, the folks at Headway were quick at answering and helping us out at clarifying any issues. In some cases, even making changes to Structure101g itself to accommodate some needs of our plugins.

Headway is also great at pushing the product out, promoting it with customers. It was a pleasure to have paying customers right after readying the flavor.

Marcio Marchini

Installing third-party parser plugins

Once you have Structure101g or Restructure101g installed, flavors can be downloaded and installed over the web, much like Eclipse plugins. Simply go to the Flavors/Install menu.

If you are having firewall issues installing a flavor just contact us and we will sort you out.

Structure101g does Hello World

Limitations

Restructure101g fully supports third party flavors. However, Structure101g is limited to the Composition, Slice, Collaboration and Architecture perspectives. Structure101g Build now also supports third party flavors, allowing you to integrate Structure101g into your build environment and break the build on bad dependencies in ActionScript, C, C++, Objective-C, Pascal, PHP, and Python.

Developing third-party parser plugins

Are you looking for support for a language or technology we or our plugin developers don't currently cover?

Developing a parser for Structure101g and Restructure101g is not such a major undertaking.

Typically you can expect anything from a couple of hours to a couple of days for a proof of concept, and 1-3 months for productization, although this is clearly domain dependent. The hard part is getting access to the data, not importing it - all Structure101g and Restructure101g expect are simple XML files.

It is worth noting that its not just parsed programming languages that can be imported, you could consider developing flavors for any hierarchical data.

Full source for Headway developed example flavors is available under the BSD Open Source license - so customize away, if you wish, or just use them to give you a sense of how to start building your own parser plugin.

If you are interested in creating your own parser plugin, great! We would love to extend the range of domains that benefit from the power of our visualization and refactoring engines. We have a standard template contract for revenue-sharing of commercially available third party parsers, but can be flexible in our licensing if needs be.

If you wish to develop a flavor that is not for public consumption please contact us for more details.

Getting started with ActionScript

Download Structure101g and/or Restructure101g, selecting "Other languages" for your programming language.

Once installed the first think to do is go to the Flavors/Install menu and install the cc.catalysts.actionscriptflavor.

Warning: Getting started with ActionScript and Structure101/Restructure101 can be a little tricky depending on your project setup.

The ActionScript flavor is a modified version of the open source Flex compiler, which outputs the AST in the required XML format as it compiles your code.

Once your code compiles, in theory, it should be easy to get up and running. In practice though, we take the information to compile your code from the .project file, which will often use relative paths. Unfortunately, we can't currently get the information on these relative paths from the .project files.

However, our "Project New" dialog has a "Copy command line" button. If you click it, and paste the output to the command line, it should be more obvious what is going on. Mostly it will be "class not found errors" that are caused by your paths being relative. If you use absolute paths you should be good.

Once you've determined the correct paths you can build the generation of the XML we need into your build script and then just point Structure101g at it (from File/Open with Format/Filetype set to "Structure101 XML data file").

Getting started with PHP

Download Structure101g and/or Restructure101g, selecting "Other languages" for your programming language.

Once installed the first think to do is go to the Flavors/Install menu and install the de.qaware.phpflavor.

Go to File/New, selecting "Project type": de.qaware.php and pointing at both your PHP source directory and your Xdebug logs. Please note, be sure to include your Xdebug logs as a pure static analysis pass of PHP will only be a little better than useless.

Demos, downloads and docs

The Structure101g Overview demo (16 mins) introduces the area of graph visualization with reference to the well-known Graphviz utility. It shows how Structure101g provides a rich and interactive environment for exploring dependency models, while scaling to massive systems through the application of hierarchy.

Restructure101g and Structure101g can be downloaded from our downloads page, while the Developer Guide is also available online.

Special thanks

To Appan Ponnappan at Tejas Software, Harald Radi at Catalysts, Josef Adersberger and Michael Riedel at QAware and Marcio Marchini.