Expression

[<<<] [>>>]

The formal description of an expression syntax is:

 tag ::= UNOP tag
         NUMBER
         STRING
         '(' expression ')'
         VARIABLE { '[' expression_list ']' }
         FUNC '(' expression_list ')'
         .

expression_list ::= expression [ ',' expression_list ] . expression_i(1) ::= tag . expression_i(i) := expression_i(i-1) [ OP(i) expression_i(i) ] . expression ::= expression_i(MAX_PREC) .

where

The syntax analyzer is written to match an expression whenever an expression syntax definition element is to be matched according to these rules. The list of built-in function, unary operators and binary operators are defined in the module "global" variables, BuiltInFunctions, Unaries, and Binaries.


[<<<] [>>>]