mypv123 : the pv called "mypv123" mypv+123 : the pv called "mypv" added to 123 'mypv+123' : a pv called "mypv2+123" "mypv+123" : the string "mypv+123"The parser will always give precedence to an expression than to pvs. If a pv looks like an expression, it should be escaped by single quotes.
loc://log(1) : the pv from loc datasource called "log(1)" log(1) : the function log applied to the number 1 log : the pv called logAn identifier followed by parenthesis will be interpreted as a function, and if not followed by parenthesis is interpreted as unquoted pv. If the pv includes the datasource, then the following parenthesis are considered part of the pv name.
Syntax | Description |
---|---|
Numeric constant 42 3.14 1e5 |
A number can either be an integer, or a floating point in either decimal or exponential notation. |
"String constant" |
String constants are opened and closed by double quotes. TODO escape characteres. |
'an+escaped/pv' simpleUnescapedPv loc://complexPvWithSource("Hello!") |
A string surrounded by single quotes represents a pv. If the pvname does not clash with another expression, you can omit the quotes (i.e. it must be made only of the following characters 0-9a-zA-Z.$_:{} and must contain
one letter).If the syntax contain the source, these restriction are somewhat lifted: you can have a pair of parenthesis and a comma separated list of parameters. This combination should allow to keep most reasonably named pvs without single quotes, while allowing all the rest in single quotes. |
Algebraic operators expr + expr: addition expr - expr: subtraction - expr: negation expr * expr: multiplication expr / expr: division expr % expr: modulo expr ^ expr: power expr ** expr: power |
Standard algebraic operator between expressions are supported. |
Numeric functions abs(expr): absolute value acos(expr): arc cosine asin(expr): arc sine atan(expr): arc tangent cbrt(expr): cubic root ceil(expr): round up cos(expr): cosine cosh(expr): hyperbolic cosine exp(expr): exponential floor(expr): round down log(expr): natural logarithm log10(expr): base 10 logarithm signum(expr): sign function sin(expr): sine sinh(expr): hyperbolic sine sqrt(expr): square root |
Some common numeric functions are also supported. For implementation details refer to the corresponding java.lang.Math method. |