Group

Identifiers

Identifier and name resolution grammar including qualified identifiers and keyword identifiers.

functionIdentifier

The superset of keywords permitted as function names. Includes all keywordIdentifiers plus the reserved words that are blocked as expression identifiers but allowed when naming functions.

identifierOrFunctionIdentifier

An identifier that may appear as a function name. Combines plain identifiers with the full set of function identifiers, which includes nearly all CQL keywords permitted as function names.

identifier

An identifier is a name token. It may be a plain identifier (matching the IDENTIFIER lexer token), a delimited identifier (backtick-enclosed), or a quoted identifier (double-quote-enclosed) which allows reserved words as names.

keyword

The complete set of CQL keywords — every word that has syntactic meaning in the language. This is the union of reserved words and keyword identifiers. Keywords appear as terminal tokens throughout the grammar.

keywordIdentifier

Keywords that may be used as identifiers in referential (non-reserved) contexts. This is the set difference of keyword minus reservedWord — words that have syntactic meaning but are not reserved, so they can serve as names.

obsoleteIdentifier

Keywords that were permitted as identifiers in CQL 1.3 but are no longer recommended. Retained for backwards compatibility. Several entries were removed due to ANTLR parsing performance and correctness issues in 1.4+.

qualifiedIdentifier

A qualified identifier is an identifier optionally preceded by one or more qualifier identifiers separated by dots. Used for library-qualified names and model-qualified type names.

qualifiedIdentifierExpression

An identifier expression optionally prefixed by one or more qualifier expressions separated by dots. Used in expression position to reference library-qualified names and model-qualified identifiers.

qualifier

A qualifier is an identifier used as a namespace prefix in qualified names. Qualifiers appear before a dot in qualified identifiers and named type specifiers to scope a name within a library or model namespace.

qualifierExpression

A single namespace prefix segment in a qualified identifier expression. Wraps a referential identifier used as a library or model qualifier before a dot in a qualified name.

referentialIdentifier

A referential identifier is any identifier or keyword identifier that can appear in a referential (name-lookup) context. This allows CQL keywords that are not reserved to be used as identifiers.

referentialOrTypeNameIdentifier

The broadest identifier category used in named type specifiers. Includes all referential identifiers plus the type name keywords (Code, Concept, date, time) that are reserved in expression position but valid as type names.

reservedWord

The subset of CQL keywords that may not appear as identifiers in ambiguous contexts. Reserved words include core operators, literals, and structural keywords. Non-reserved keywords (keywordIdentifiers) may be used as names.

simpleLiteral

A restricted literal used in simple path indexer positions. Accepts only string literals and number literals, excluding the richer set of values available in the full literal rule.

simplePath

A restricted path expression used in code path positions within retrieve expressions. Supports simple member access, dot-qualified access, and indexed access with a string or number literal.

typeNameIdentifier

Reserved words that double as built-in type names. These four keywords are reserved in expression position but are valid as type names in named type specifiers. They cannot appear as plain identifiers.