AMS Expressions

Syntax

This syntax provides a summary of the expressions you can use in your autoaction database.

expression:
 boolean-expression
 string-expression

boolean-expression:
 primary-boolean

 ! boolean-expression
 primary-boolean boolean-op boolean-expression

 primary-boolean:
 comparison-expression
 integer-expression
 ?variable-group-reference
 ( boolean-expression )
 comparison-expression:
 integer-expression compare-op integer-expression
 string-expression equality-op string-expression

integer-expression:
 primary-integer
 - integer-expression
 + integer-expression
 primary-integer integer-op integer-expression

primary-integer:
 integer-variable
 integer-variable-group-reference
 integer-constant
 partial-text-reference-of-an-integer-variable
 #string-expression
 ( integer-expression )

string-expression:
 string
 ^string-expression
 "string-sequence"

string:
 string-variable
 string-variable-group-reference
 partial-text-reference-of-a-string-variable

string-sequence:
 allowed-character
 partial-text-reference
 allowed-character string-sequence
 partial-text-reference string-sequence

allowed-character
 Any characters except control characters;
 if a quotation mark (") or backslash (\) is in a string, it must be
 preceded by a backslash.

partial-text-reference:
 a variable name or variable group member name within backslashes,
 optionally including subtokens and substrings

partial-text-reference-of-an-integer-variable:
 same as partial-text-reference, but the variable must be of
 type integer

partial-text-reference-of-a-string-variable:
 same as partial-text-reference, but the variable must be of
 type string

variable-group-reference:
 variable-group-name:member-name
 variable-group-name:_ALL

member-name:
 "allowed characters"
 simple-variable

integer-variable-group-reference:
 same as variable-group-reference, but the members of the group
 must be of type integer

string-variable-group-reference:
 same as variable-group-reference, but the members of the group
 must be of type string

simple-variable:
 integer-variable
 string-variable

integer-variable:
string-variable:
 a predefined or user-defined variable of the appropriate type

variable-group-name:
 the name of a collection of dynamically created variables

compare-op:
 equality-op
 inequality-op
equality-op:
=		 !=
inequality-op:
<		 > <=		 >=
boolean-op:
&		 |
integer-op:
*		 /		 %		 +		 -