UNPKG

@abdullah2993/expression-parser

Version:

An expression evaluator written in typescript with the goal to support SQL like WHERE clauses.

35 lines (34 loc) 1.06 kB
import { Expression } from './ast'; import { Tokenizer } from './lexer'; import { TokenType } from './token'; export declare type PrecedenceMap = { [key in TokenType]?: number; }; export declare class Parser { private lexer; private precedenceMap; private currentToken; private peekToken; get currentPrecedence(): number; get peekPrecedence(): number; private prefixParsers; private infixParsers; constructor(lexer: Tokenizer, precedenceMap?: PrecedenceMap); parse(): Expression; private parseExpression; private nextToken; private currentTokenIs; private peekTokenIs; private expectPeekToken; private parseIdentifier; private parseNumber; private parseString; private parseBoolean; private parseGroupedExpression; private parseInfixExpression; private parseIsExpression; private parseBetweenExpression; private parseCallExpression; private parseCaseExpression; } export declare function parse(expression: string): Expression;