Skip to content

This site describes solve-engine as it is on main: 2.43.0, which npm does not have yet. npm installs 2.40.0, so a page may show an answer that version does not give yet.

LexerToken

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

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?,
fault?,
mayNameVariable?
): LexerToken;

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

ParameterTypeDescription
typestring-
typeIdnumber-
valuestring-
textstring-
offsetnumber-
lineBreaksnumber-
linenumber-
colnumber-
sourceEnd?numberSee Token.sourceEnd. Set only on normalizer-fused tokens.
fault?{ code: string; message: string; }See Token.fault. Set only on a fused token standing for a run the engine refuses to read.
fault.code?string-
fault.message?string-
mayNameVariable?booleanSee Token.mayNameVariable. Set only on a rate denominator fused from a slash.

LexerToken

col: number;

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

Token.col


optional fault?: {
code: string;
message: string;
};

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

See Token.fault. Set only on a fused token standing for a run the engine refuses to read.

readonly code: string;
readonly message: string;

Token.fault


line: number;

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

Token.line


lineBreaks: number;

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

Token.lineBreaks


optional mayNameVariable?: boolean;

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

See Token.mayNameVariable. Set only on a rate denominator fused from a slash.

Token.mayNameVariable


offset: number;

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

Token.offset


optional sourceEnd?: number;

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

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

Token.sourceEnd


text: string;

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

Token.text


type: string;

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

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:428

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:429

Token.value