## 8 Reference for Common Language Elements

Msc-generator languages all share a common underlying logic and design.

- They all define elements and relations between elements, such as entities and arrows for signalling charts; nodes and edges for graphs; and blocks and arrows for block diagrams.
- These elements and relations usually can have a text label, the format of which (such as bold or italics) can be influenced via text formatting escapes.
- These elements and the relations all have attributes to govern appearance, which can be specified in square brackets.
- Attributes can be collected in styles, which can be applied to elemets and relations in a simple way.
- Each element and relation type has a default style, which can be changed to change the appearance for all such elements or relations.
- Curly braces can be used to group elements and to isolate a scope - any changes to styles or colors are limited to the current scope.
- You can define designs, which contain styles, colors and can be applied to the whole chart to change its appearance in one go. These are collected into design libraries, which are read at program startup and are available by default.
- You can also include other files in the middle of the any document.
- You can define and later replay proecedures to avoid frequent copy/paste and reuse frequent constructs instead.

This chapter contains all the language elements that are common to all or most chart types supported by Msc-generator. Variations specific to each language are indivially described.