pegisland
Version:
General PEG-based parser supporting island grammars with lake symbols
28 lines • 1.59 kB
TypeScript
import { And, Colon, ColonNot, Grouping, IParsingExpression, Lake, Nonterminal, Not, OneOrMore, Optional, OrderedChoice, Rewriting, Sequence, Terminal, ZeroOrMore } from '../ParsingExpression';
import { IParsingExpressionVisitor } from '../IParsingExpressionVisitor';
import { Rule } from '../Rule';
export declare const EPSILON: Sequence;
export declare abstract class SetCalculator implements IParsingExpressionVisitor {
readonly peSet: Map<IParsingExpression, Set<IParsingExpression>>;
private readonly expressions;
constructor(rules: Map<string, Rule>, isPostorder: boolean);
calculate(): Map<IParsingExpression, Set<IParsingExpression>>;
protected get(pe: IParsingExpression): Set<IParsingExpression>;
protected set(pe: IParsingExpression, set: Set<IParsingExpression>): void;
protected propagate(src: IParsingExpression, dst: IParsingExpression): void;
abstract visitNonterminal(pe: Nonterminal): void;
abstract visitTerminal(pe: Terminal): void;
abstract visitZeroOrMore(pe: ZeroOrMore): void;
abstract visitOneOrMore(pe: OneOrMore): void;
abstract visitOptional(pe: Optional): void;
abstract visitAnd(pe: And): void;
abstract visitNot(pe: Not): void;
abstract visitSequence(pe: Sequence): void;
abstract visitOrderedChoice(pe: OrderedChoice): void;
abstract visitGrouping(pe: Grouping): void;
abstract visitRewriting(pe: Rewriting): void;
abstract visitColon(pe: Colon): void;
abstract visitColonNot(pe: ColonNot): void;
abstract visitLake(pe: Lake): void;
}
//# sourceMappingURL=SetCalculator.d.ts.map