====== 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.