next up previous contents
Next: 3.1.1 Keywords Up: 3. The Model Definition Previous: 3. The Model Definition

3.1 Basic Facilities

The grammar of MDL is case sensitive. Different tokens have to be separated by at least one spacing character. These are either blanks (' '), tabulators (' \ensuremath{\mathtt{\backslash}}t'), new line characters (' \ensuremath{\mathtt{\backslash}}n'), operators (Section 3.1.8), or MDL comments (Section 3.1.3).

Types and names have to consist of at least one alphabetic character ([a-zA-Z]) which can be followed by any number of characters out of the extended set [a-zA-Z0-9_ \ensuremath{\mathtt{\backslash}}]. All other characters will either cause a syntax error or be interpreted as an operator. Keywords listed in Section 3.1.1 must not be used as name or type identifiers.

MDL expressions are separated by using semicolons (';'). Any number of MDL expressions can be grouped into MDL expression blocks by using braces ('{}'). To avoid serious performance problems with constructors of MDL parameters, there is no MDL counterpart to the concept of automatic variables in C++. Therefore MDL expression blocks can only be used in conjunction with method definitions (Section 3.2.4), loop, and conditional expressions (Section 3.1.10).

Robert Mlekus