onelang
Version:
OneLang transpiler framework core
33 lines (32 loc) • 876 B
TypeScript
import { ExprLangAst as Ast } from "./ExprLangAst";
import { Token } from "./ExprLangLexer";
export declare const operators: string[];
export declare class ExprLangParser {
expression: string;
tokens: Token[];
tokenMap: {
not: string;
and: string;
or: string;
};
unary: string[];
binary: string[];
rightAssoc: string[];
precedenceLevels: {
name: string;
operators?: string[];
precedence?: number;
}[];
precedenceMap: {
[name: string]: number;
};
constructor(expression: string);
fail(message: string): void;
setupPrecedenceMap(): void;
consume(): Token;
consumeOp(op: string): void;
consumeOpIf(op: string): boolean;
process(precedence?: number): Ast.Expression;
parse(): Ast.Expression;
static parse(expression: string): Ast.Expression;
}