Example of a formula involving a simple function
y*MyFunc(z,3)
Written as an unparsed formula, each token is directly transcribed as follows:
Type | Value |
---|---|
XSLP_VAR | index of y |
XSLP_OP | XSLP_MULTIPLY |
XSLP_FUN | index of MyFunc |
XSLP_LB | 0 |
XSLP_VAR | index of z |
XSLP_DEL | XSLP_COMMA |
XSLP_CON | 3 |
XSLP_RB | 0 |
XSLP_EOF | 0 |
Written as a parsed formula (in reverse Polish), an evaluation order is established first, for example:
y ) 3 , z MyFunc( *
and this is then transcribed as follows:
Type | Value |
---|---|
XSLP_VAR | index of y |
XSLP_RB | 0 |
XSLP_CON | 3 |
XSLP_DEL | XSLP_COMMA |
XSLP_VAR | index of z |
XSLP_FUN | index of MyFunc |
XSLP_OP | XSLP_MULTIPLY |
XSLP_EOF | 0 |
Notice that the function arguments are in reverse order, and that a right bracket is used as a delimiter to indicate the end of the argument list. The left bracket indicating the start of the argument list is implied by the XSLP_FUN token.