clarity-pattern-parser
Version:
Parsing Library for Typescript and Javascript.
29 lines (28 loc) • 889 B
TypeScript
import { Node } from "../ast/Node";
export declare enum Association {
left = 0,
right = 1
}
export declare class PrecedenceTree {
private _prefixPlaceholder;
private _prefixNode;
private _postfixPlaceholder;
private _postfixNode;
private _binaryPlaceholder;
private _binaryNode;
private _atomNode;
private _precedenceMap;
private _associationMap;
private _revertBinary;
constructor(precedenceMap?: Record<string, number>, associationMap?: Record<string, Association>);
addPrefix(name: string, ...prefix: Node[]): void;
addPostfix(name: string, ...postfix: Node[]): void;
addBinary(name: string, ...delimiterNode: Node[]): void;
private _getPrecedenceFromNode;
private _getPrecedence;
private _compileAtomNode;
addAtom(node: Node): void;
hasAtom(): boolean;
commit(): Node | null;
private reset;
}