Expression elements and Literal: the elements of a calculation rule and the notation of literals
Two reference pages the wiki lacked. Expression-elements describes the three kinds of
element a calculation rule is built from: literals, operator and function applications,
and item references, with the notation that the Operator precedence table does not carry
(= and <> as alternative spellings, the words and/or, # for nrofrows, [ ] as lookup or
value, -> in reading order, comments inside a rule, a / b needing spaces since a/b is an
item path, unary ! binding weaker than a comparison), how a name resolves (plain name,
path, /-rooted path in which the outermost container's own name does not occur, . and ..)
and the = indirect form. Literal describes the integer (uint32), real (float64, needs a
point or exponent) and %FF hexadecimal forms, the suffix table with the sized and full-name
spellings and the unit suffix 5m = 5[m], negation of an unsigned literal giving the signed
type, the uint32 range with 4294967295 being its null value and the u64/i64 error beyond
it, the absence of promotion between operand types, both string quote styles with the
doubled quote and the juxtaposition of literals, and the complete escape table with the
dropped backslash of an unknown code, its 20.10.0 warning and the consequence for Windows
paths.
Reverse links from Expression, Expression-syntax, Operator, Operators-and-functions,
Value-type and Map; both pages under Expression in the sidebar. The website menu is
nav/geodms.md in the converter repository and still needs the two entries.
Every claim was checked against the parser (stx ExprParse.h, ExprProd.cpp, StringParse.h,
rtc utl/Quotes.cpp) and pinned by three probe configurations run on the Release build of
2026-09-16, 60 checks green, plus the refused forms whose error texts the pages quote.
The 20.21.0 case-sensitive suffix paragraph in Literal was written by the session that
made that engine change and is kept as is.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>