====== Basics ======
In Autorun, actions are performed through //commands// or //functions//. Their differences and features are described in detail in the [[syntax_type]] and [[commands]] sections.
To separate language constructs, Autorun uses the Windows newline character --- 0x13 + 0x10. As a consequence, multiple statements (such as a command or an assignment statement) cannot be placed on the same line. Thus, in one line can be written:
* Command (in command record)
* Function
* Assignment expression
* Directive
* Condition
* Single line condition with assignment expression or function
* Loop definition
* Control keywords
* Block closing keywords
There are no special block markers in Autorun, code blocks are defined using opening and closing keywords (for example, If ... EndIf).
==== Comments ====
A line starting with # symbol is treated as a comment and ignored. A comment can also be placed at the end of a function expression. Comments are not allowed in the command's line because they can be treated as a parameter. If # is followed by {, it is treated as the beginning of a multi-line comment, if # is followed by } --- as the end of a multi-line comment. Inside a block of multiline comments, there can be both simple comments and nested blocks of multiline comments.
#{
multi-line
comment
#{
nested
multi-line
comment
#}
# regular comment
#}
a = 1 + 2 # comment at the end of the expression
Blank lines are ignored.
==== Line splitting ====
Long lines can be split into multiple lines. To do this, use a combination of a space with the underscore character " _":
MsgBox("Text", _
"Title")
When merging strings, the " _" combination (including the space) is removed. This combination must be at the very end of the line, comments after it are not allowed.