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.
InfixParselet
Defined in: packages/engine/src/parser/Parselet.ts:24
Handles a token appearing after a value.
A binary operator, or anything else that continues an expression already in progress. Its binding power decides how tightly it binds against neighbours.
Properties
Section titled “Properties”bindingPower
Section titled “bindingPower”readonly bindingPower: number;Defined in: packages/engine/src/parser/Parselet.ts:28
Binding power (precedence), property access avoids vtable dispatch in hot loop
category
Section titled “category”readonly category: string;Defined in: packages/engine/src/parser/Parselet.ts:26
Diagnostic category for this parselet (e.g. “Arithmetic”, “UoM”)
rightAssociative?
Section titled “rightAssociative?”readonly optional rightAssociative?: boolean;Defined in: packages/engine/src/parser/Parselet.ts:36
Whether the operator groups from the right (2 ^ 3 ^ 2 is 2 ^ (3 ^ 2)).
Absent means left, which is what every operator but exponentiation
wants. Read by parseRightOperand, and reported by
ParseletRegistry.getAllInfix so a precedence table built from the
registry says what the parser does.
Methods
Section titled “Methods”parse()
Section titled “parse()”parse( parser, left, token, builder): void;Defined in: packages/engine/src/parser/Parselet.ts:37
Parameters
Section titled “Parameters”| Parameter | Type |
|---|---|
parser | PrecedenceParser |
left | Token |
token | Token |
builder | BytecodeBuilder |
Returns
Section titled “Returns”void