Skip to content
footcha edited this page Jan 30, 2012 · 3 revisions

General Rules

Literal is the text in the form [a-zA-Z]\w*.

Comments and Descriptions

Comments are completely ignored by a parser.

Descriptions are metadata that are related to object of any kind. Descriptions can be further processed, i.e. with reporting and exporting tools.

-- single-line comment
/* this is
   multi-line
   commnent */
object --> single-line description
object --> /* this is
             multi-line
             description */

Assigning a Value to a Defined Variable

Variable name is literal. Multi-line texts are not supported.

variableName = constant_value
variableName = 'value containing spaces'

Add a value to existing list of values

Each variable can hold more than one value. Effectively, the result of

Name  = 'first part'
Name += 'second part'

is something like this in memory:

-- this is not MQL syntax. It is memory dump for variable Name
Name(0) = 'first part'
Name(1) = 'second part'

Programatically computed value from build-in or user-defined function/routine

variableName = ! currentUserName

! (exclamation mark) serves here as an effective switch between raw text mode and programatic mode. It programatic mode it is possible to insert embedded code that was previously registered in configuration at runtime during startup.

Mark an Object with a Label (Tag)

object => label
object => 'label containing spaces'

Named Sections

*** Transformation Parameters ***
Historization = SCD1
Difficulty = MiddleLow
*** Transformation ***
-- SQL comes here