Skip to content

LexerToken

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:232

A token, as the lexer produces it.

A class rather than an object literal because tokens are created on every keystroke and a shared hidden class keeps that path predictable for the engine running it.

new LexerToken(
type,
typeId,
value,
text,
offset,
lineBreaks,
line,
col,
sourceEnd?): LexerToken;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:233

ParameterTypeDescription
typestring-
typeIdnumber-
valuestring-
textstring-
offsetnumber-
lineBreaksnumber-
linenumber-
colnumber-
sourceEnd?numberSee Token.sourceEnd. Set only on normalizer-fused tokens.

LexerToken

col: number;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:241

Token.col


line: number;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:240

Token.line


lineBreaks: number;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:239

Token.lineBreaks


offset: number;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:238

Token.offset


optional sourceEnd?: number;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:243

See Token.sourceEnd. Set only on normalizer-fused tokens.

Token.sourceEnd


text: string;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:237

Token.text


type: string;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:234

String token type (e.g., “NUMBER”, “PLUS”, “IDENT”). Used by ParseletRegistry string-keyed maps and error messages.

Token.type


typeId: number;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:235

Integer token type ID for fast comparison in Parser hot path. Populated by the Lexer via registerTokenType(). Use tokenTypeId(type) to get a type’s ID.

Token.typeId


value: string;

Defined in: packages/engine/src/lexer/ExpressionLexer.ts:236

Token.value