Expression Reference
Revision as of 14:58, 20 October 2015 by imported>Plplecuyer
<expression> ::= <and expression> ('||' <and expression>)* <and expression> ::= <bool expression> ('&&' <bool expression>)* <bool expression> ::= <add expression> (<comparison operator> <add expression>)* <add expression> ::= <mult expression> (('+' | '-') <mult expression>)* <mult expression> ::= <unary expression> (('*' | '/' | '%') <unary expression>)* <unary expression> ::= ['-' | '!'] <cast atom> <cast atom> ::= <dot atom> ['as' <type>] <dot atom> ::= (<array atom> ('.' <array func or id>)*) | <constant> <array atom> ::= <atom> ['[' <expression> ']'] <atom> ::= ('(' <expression> ')') | ('new' <type> '[' <int> ']') | <func or id> <array func or id> ::= <func or id> ['[' <expression> ']'] <func or id> ::= <function call> | <scriptType> | 'length'
The basic expression is an arrangement of operators, function calls, and variables chained together in such a way to do some work. These operations follow the rules of precedence to determine which gets executed first.
Examples[edit | edit source]
; Add 2 to the value of 4 times 10 (result is 42)
2 + 4 * 10
; Add 2 to 4, and multiply by 10 (result is 60)
(2 + 4) * 10
; Call a function and get a property from the results
MyFunction().MyProperty
; Get the first element in the array returned by the function after a cast
(MyVariable as MyObject).MyFunction()[0]