Typeless Rules

A typeless expression is a concatenation or sum of elements whose type (between String, Numeric, and Date) cannot be distinguished without context. <Typeless Exp> consists of one of these:

<Typeless Exp> + <Typeless Value>

<Typeless Value>

A typeless value can be any of these:

  • A variable reference
  • A function call whose type cannot be determined without context
  • A typeless sub-expression enclosed in parentheses

<Typeless Value> consists of one of these:

<IdValue>

IF (<Boolean Exp>, <Typeless Exp>, <Typeless Exp>)

DBFUNCTION (<Parameter List>)

Framework event parameters:

PROPERTY (Id, <Numeric Exp>, <String Exp>)

PROPERTY (Id, <Numeric Exp>, <Typeless Exp>)

PROPERTY (Id, <Typeless Exp>, <String Exp>)

PROPERTY (Id, <Typeless Exp>, <Typeless Exp>)

P (Id, <Numeric Exp>, <String Exp>)

P (Id, <Numeric Exp>, <Typeless Exp>)

P (Id, <Typeless Exp>, <String Exp>)

P (Id, <Typeless Exp>, <Typeless Exp>)

PROPERTY (<Numeric Exp>, <String Exp>)

PROPERTY (<Numeric Exp>, <Typeless Exp>)

PROPERTY (<Typeless Exp>, <String Exp>)

PROPERTY (<Typeless Exp>, <Typeless Exp>)

P (<Numeric Exp>, <String Exp>)

P (<Numeric Exp>, <Typeless Exp>)

P (<Typeless Exp>, <String Exp>)

P (<Typeless Exp>, <Typeless Exp>)

PROPERTY (<String Exp>)

PROPERTY (<Typeless Exp>)

P (<String Exp>)

P (<Typeless Exp>)

METHODPARM (<Numeric Exp>)

METHODPARM (<Typeless Exp>)

Sub-expression:

(<Typeless Exp>)

Parameter list

A parameter list is a comma-separated list of scalar expressions of any type. <Parameter List> consists of one of these:

<Scalar Exp>

<Scalar Exp>, <Parameter List>

Scalar tuples

A scalar tuple is a parenthesized set of one or more scalar expressions. <Scalar Tuple> consists of this:

(<Scalar Expr Set>)

Scalar expression sets

A scalar expression set is a semi-colon-separated list of one or more scalar expressions. <Scalar Expr Set> consists of one of these:

<Scalar Exp>; <Scalar Expr Set>

<Scalar Exp>