Denotation

<def_name> Identifier of the symbol defined (see %define), the symbol name is case-sensitive.
<string> String starting with a symbol of quotes or a single quote or also back quote or tilde and ending with the same character; if it starts with tilde (~), macro substitution is applied to its value.
<def_value> Text up to the end of line (the first space will be ignored), presents a value of the symbol defined (see %define).
<def_list> Special list-like symbol, may contain string items.
<number> Decimal number
<item-ref> Reference to inspector item in one of the following formats:

item-symbol

@_CPU_@item-symbol

@component-name@item-symbol

<binary_operator> See also Math Operations

+ Summation

- Subtraction

* Multiplication

/ Real division

\ Integer division

: Modulo, remainder of integer division, binary operator only, this binary operator was replaced by the : symbol to avoid ambiguity the original symbol can be used as an unary operator

| Bit or, logical count, integer operation & bit and, logical multiplication, integer operation

~ bit xor, integer operation

^ power (only a non-negative integer may be an exponent)

> or >> bit shift to the right, integer operation

< or << bit shift to the left, integer operation

Binary operator priority (top to bottom):

^

* / \ :

+ -

> >> < <<

&

~

|

<unary_operator>

= Assignment, works in the same way as %define!

<binary_operator>= See binary operator description

$= Converts floating point number to closest integer by rounding

.= Converts floating point number to integer by removing of the decimal section (truncate)

@= Logarithm (inversion operator to ^), the parameter on the left is the logarithm of the one on the right is the base, (8@=2 will return 3), the result is a real number

<expression> <number> Macros and built-in functions in the format %func(params)will be accepted as well, for example, %get; the mark can be changed by superposing the minus mark, for example, -%tmp;(<expression>)<expression><binary_operator><expression>
<pvalue> <def_name> or <string> or %"def_name" or list element (see macro %[)
<condition>
  1. defined(<def_name>) - Testing if the symbol has been defined; it is also possible to test inherited symbols using: defined(@<InhrItem>@<def_name>), where <InhrItem> is a symbol of property for inheritance, but it is not recommended practice to create dependency on symbols from another component.
  2. ndefined(<def_name>) - Testing if the symbol has not been defined.
  3. <pvalue> = <pvalue>
  4. <pvalue> == <pvalue>
  5. <pvalue> <> <pvalue>
  6. <pvalue> != <pvalue>
  7. <pvalue> > <pvalue>
  8. <pvalue> < <pvalue>
  9. <pvalue> >= <pvalue>
  10. <pvalue> <= <pvalue>
  11. <pvalue> =N <pvalue>
  12. <pvalue> ==N <pvalue>
  13. <pvalue> <>N <pvalue>
  14. <pvalue> !=N <pvalue>
  15. <pvalue> >N <pvalue>
  16. <pvalue> <N <pvalue>
  17. <pvalue> >=N <pvalue>
  18. <pvalue> <=N <pvalue> - N is figure 0..9 or full stop, strings will be justified before comparison (i.e. cut or spaces will be added to the left) to the length of N characters; if N is zero, the shorter string will be expanded to match the length of the longer string; if N is full stop, both strings will be converted to a real number.
  19. <pvalue> =^ <pvalue> - Prior comparison, both strings will be converted to capital letters.
  20. <pvalue> =$ <pvalue>
  21. <pvalue> ==$ <pvalue>
  22. <pvalue> !=$ <pvalue>
  23. <pvalue> <>$ <pvalue> - Performs the comparison of strings; comparison with the operator without the symbol $; the only difference at the end: in the internal version, the operator without $ will report an error that integer and real number is being compared, while the operator including $ will not contain such control (the control serves as warning on frequent errors).
  24. <condition> | <condition> - Logical count (or), <condition> may not contain logical multiplication, the operator cannot be combined with logical multiplication, processed using shortevaluation; This expression is not recommended, brackets should be used.
  25. <condition> & <condition> - logical multiplication (along with), <condition> may not contain logic count, the operator cannot be combined with logical count, processed using short evaluation; This expression is not recommended, brackets should be used
  26. for_last - Testing if the current cycle variable contains the last field item.
  27. for_lastmod4 - Testing if the current cycle variable contains the last field item or its index can be divided by 4.
  28. for_lastmod8 - Testing if the current cycle variable contains the last field item or its index can be divided by 8.
  29. for_lastmod16 - Testing if the current cycle variable contains the last field item or its index can be divided by 16.
  30. <string> in <def_list> - Testing if the string is contained within the list, <def_list> must be a variable.
<boolean expression>

<condition>

(<boolean expression>)

(<boolean expression>) & (<boolean expression>)

(<boolean expression>) | (<boolean expression>)

The priority of & and | operators is not defined and needs to be treated using brackets. The Boolean expression can be divided even to multiple lines; however, the end of line must be behind the & or |operators.

To be evaluated only partially using a so-called short evaluation.

The following topic is covered here: