Previous: , Up: Signalling Chart Language Reference   [Contents]


9.15 Mscgen Backwards Compatibility

Msc-generator was forked (and completely re-written) from mscgen version 0.08 and is a superset of the language of that version even today. During the years the original tool has developed quite a lot and now contains features that are not present or not compatible with that of Msc-generator. From version 4.5 Msc-generator aims to support all the features and syntax of mscgen to provide a true superset of features. Since there are conflicts in the syntax, full support is possible only in a special mscgen compatibility mode of Msc-generator.

By default, Msc-generator enters this mode, if the chart text starts with msc {. This is because mscgen requires you to start your chart like this, but Msc-generator does not59. You can force or prevent mscgen compatibility mode using appropriate command-line switches (--force-mscgen and --prevent-mscgen, respecively) or preference settings in the GUI. Also, on the GUI, the mscgen-compat indicator of the status bar turns to red in compatibility mode.

Msc-generator attempts to be liberal in what it accepts in both modes. That is, Msc-generator attributes are available also in mscgen mode (So you can, for example, use vertical constructs, hide or show entities, let entities be defined later or use the style mechanism.) Similar, mscgen attribute names and chart options are understood even when not in mscgen compatibility mode. This includes the hashmark syntax for color specifications, like text.color="#c0ffff". For attributes or other syntax I intend to deprecate a warning is given.

A major tool for backwards compatibility with mscgen is the mscgen partial design, which contains new styles for arrowhead symbols. E.g., the symbol -> represents a filled triangle arrowhead in Msc-generator, while it represents a half line arrowhead in mscgen. Using the mscgen design via the msc+=mscgen; command sets (when not in mscgen compatibility mode) the styles as used by mscgen. In mscgen compatibility mode, such styles are automatically applied.

Some mscgen attributes are interpreted by Msc-generator not exactly the same way as in the mscgen tool due to the different internal workings. The below hold for both the compatibility and regular modes of Msc-generator.

There are a few conflicting syntax though that must be interpreted differently in the two modes.


Footnotes

(59)

If you specify a design, like msc=qsd { Msc-generator will NOT enter compatibility mode.

(60)

After all the point of the compatibility mode is to enable migration towards Msc-generator features.


Previous: Commands, Up: Signalling Chart Language Reference   [Contents]