export type SourceLocation = { readonly path: readonly number[]; readonly start: number; readonly end: number; }; import * as sharedTypes from '../shared-types'; export declare enum TokenKind { Identifier = "Identifier", Number = "Number", Plus = "Plus", Minus = "Minus", PlusMinus = "PlusMinus", Times = "Times", Equal = "Equal", LessThan = "LessThan", LessThanOrEqual = "LessThanOrEqual", GreaterThan = "GreaterThan", GreaterThanOrEqual = "GreaterThanOrEqual", LeftParens = "LeftParens", RightParens = "RightParens", Ellipsis = "Ellipsis", Comma = "Comma", SummationOperator = "SummationOperator", ProductOperator = "ProductOperator", Lim = "Lim", EOL = "EOL" } export type ValueToken = { readonly type: 'token'; readonly name: kind; readonly value: string; }; export type Identifier = { readonly type: 'token'; readonly name: TokenKind.Identifier; readonly value: string; }; type Number = ValueToken; type SimpleToken = { readonly type: 'token'; readonly name: kind; }; type Plus = SimpleToken; type Minus = SimpleToken; type PlusMinus = SimpleToken; type Times = SimpleToken; type Equal = SimpleToken; type LessThan = SimpleToken; type LessThanOrEqual = SimpleToken; type GreaterThan = SimpleToken; type GreaterThanOrEqual = SimpleToken; type LeftParens = SimpleToken; type RightParens = SimpleToken; type Ellipsis = SimpleToken; type Comma = SimpleToken; type SummationOperator = SimpleToken; type ProductOperator = SimpleToken; type Lim = SimpleToken; type EOL = SimpleToken; export type Token = Identifier | Number | Plus | Minus | PlusMinus | Times | Equal | LessThan | LessThanOrEqual | GreaterThan | GreaterThanOrEqual | LeftParens | RightParens | Ellipsis | Comma | SummationOperator | ProductOperator | Lim | EOL; type Common = { readonly loc: SourceLocation; }; export type TokenRow = sharedTypes.Row; export type TokenDelimited = sharedTypes.Delimited; export type TokenAccent = sharedTypes.Accent; export type TokenMacro = sharedTypes.Macro; export type TokenTable = sharedTypes.Table; export type TokenSubSup = sharedTypes.SubSup; export type TokenLimits = sharedTypes.Limits; export type TokenFrac = sharedTypes.Frac; export type TokenRoot = sharedTypes.Root; export type TokenAtom = sharedTypes.Atom; export type TokenNode = TokenRow | TokenDelimited | TokenAccent | TokenMacro | TokenTable | TokenSubSup | TokenLimits | TokenFrac | TokenRoot | TokenAtom; export {};