UNPKG

clarity-pattern-parser

Version:

Parsing Library for Typescript and Javascript.

29 lines (28 loc) 889 B
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; }