evaluate
<evaluate-statement>
<evaluate-statement> :==
(
<symbol>
=
<evaluate-expression>
)
<evaluate-expression> :==
<vflc>
[
<operator>
<evaluate-expression>
]
<vflc> :==
<function>
|
<symbol>
|
<parameter>
|
<literal-constant>
<function> :==
abs
(
<evaluate-expression>
)
acos
(
<evaluate-expression>
)
asin
(
<evaluate-expression>
)
cos
(
<evaluate-expression>
)
decode
(
<evaluate-expression>
)
encode
(
<evaluate-expression>
)
capitalize
(
<evaluate-expression>
)
exp
(
<evaluate-expression>
)
gaussian
(
<evaluate-expression>
)
step
(
<evaluate-expression>
)
integer
(
<evaluate-expression>
)
log
(
<evaluate-expression>
)
log10
(
<evaluate-expression>
)
maximum
(
<evaluate-expression>
{,
<evaluate-expression>
})
minimum
(
<evaluate-expression>
{,
<evaluate-expression>
})
mod
(
<evaluate-expression>
,
<evaluate-expression>
)
norm
(
<evaluate-expression>
)
random
()
sign
(
<evaluate-expression>
)
sin
(
<evaluate-expression>
)
sqrt
(
<evaluate-expression>
)
tan
(
<evaluate-expression>
)
<operator> :==
+ | - | ~ | * | / | ^ | **