Sedona XPRESSion Evaluator Reference Guide
Compile Expr VI
Takes an expression in infix (BNF) format and produces an equivalent postfix representation suitable for speedy run-time evaluation.
You should execute this VI on a newly entered expression or an expression which has changed. You do not need to execute this VI when the value of a variable in the input expression has changed -- only when the actual form of the expression has changed. The postfix data structure compiled expr returned by this VI is passed directly to the Evaluate Expr VI .
![]() |
![]() |
error in (no error) describes any error conditions prior to this VIs execution. |
![]() |
infix expr is a Backus-Naur expression. The expression may reference any of the built-in functions, any user-variable, and any User VI Function in the VI Functions directory. |
![]() |
scalar identifiers is a list of all valid scalar identifiers that may appear in the input expression infix expr. The order of identifiers in the list IS IMPORTANT, because the XPRESSion Evaluator assumes that the values supplied later to the Evaluate Expr VI represent the values of identifiers in the order they appear in the scalar identifiers list. |
![]() |
check units? (F) specifies
whether or not the compiler should check to see if there are any physical unit conflicts
and, if not, what the resulting units of the entire expression are. The physical units are
determined by resolving all variable references to the physical units associated with
them. Any constants appearing in infix expr are assumed to be pure numbers, as are any variables that were defined without associating units with the variable. |
![]() |
array identifiers is a list of all valid array identifiers that may appear in the input expression infix expr. The order of identifiers in the list IS IMPORTANT, because the XPRESSion Evaluator assumes that the values supplied later to the Evaluate Expr VI represent the values of identifiers in the order they appear in the array identifiers list. |
![]() |
error out contains error information. If the error in cluster indicated an error, the error out cluster contains the same information. Otherwise, error out describes this VIs error status. |
![]() |
compiled expr is the postfix equivalent of the input expression infix expr. You should use compiled expr along with the real-time values of the input variables in the identifier lists to evaluate the expression using Evaluate Expr VI. |
![]() |
unit name is the full name of the physical units associated with the resultant of infix expr. The physical units are determined by resolving all variable references to the physical units associated with them. If the resulting units do not correspond to any of the physical units stored in the internal database, then unit name is set to <unknown>. The internal database stores information about an extensive default library of physical units as well as information about any user-defined units. |
![]() |
base units is a string describing the physical units resulting from infix expr in terms of fundamental (or base) units. For example, the base units for a Newton are (kg m s^-2). The XPRESSion Evaluator uses the following units as base units: radians (rad), steradian (sr), second (s), meter (m), kilogram (kg), Ampere (A), Kelvin (K), mole (mol), and candela (cd). |
![]() |
unit abbr is the common abbreviation of the physical units associated with the resultant of infix expr. The physical units are determined by resolving all variable references to the physical units associated with them. If the resulting units do not correspond to any of the physical units stored in the internal database, then unit abbr is set to <unknown>. The internal database stores information about an extensive default library of physical units as well as information about any user-defined units. |