Skip to content

History / Expression elements

Revisions

  • 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>

    @MaartenHilferink MaartenHilferink committed Sep 16, 2026