UNPKG

pegisland

Version:

General PEG-based parser supporting island grammars with lake symbols

81 lines 4.98 kB
import { IParsingExpressionVisitor } from './IParsingExpressionVisitor'; import { Rule } from './Rule'; export interface IParsingExpression { accept<ArgsType extends Array<unknown> = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } declare abstract class UnaryOperator implements IParsingExpression { operand: IParsingExpression; constructor(operand: IParsingExpression); abstract accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } declare abstract class BinaryOperator implements IParsingExpression { lhs: IParsingExpression; rhs: IParsingExpression; constructor(lhs: IParsingExpression, rhs: IParsingExpression); abstract accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } declare abstract class GeneralOperator implements IParsingExpression { operands: IParsingExpression[]; constructor(operands: IParsingExpression[]); abstract accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class NullParsingExpression implements IParsingExpression { accept<ArgsType extends Array<unknown>, ReturnType>(_visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ..._arg: ArgsType): ReturnType; } export declare class Nonterminal implements IParsingExpression { rule: Rule; name: string; constructor(rule: Rule, name?: string); accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class Terminal implements IParsingExpression { pattern: RegExp; source: string; regex: RegExp; constructor(pattern: RegExp, source: string); accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class ZeroOrMore extends UnaryOperator { accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class OneOrMore extends UnaryOperator { accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class Optional extends UnaryOperator { accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class And extends UnaryOperator { accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class Not extends UnaryOperator { accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class Colon extends BinaryOperator { accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class ColonNot extends BinaryOperator { accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class Sequence extends GeneralOperator { accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class OrderedChoice extends GeneralOperator { accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class Grouping extends UnaryOperator { accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class Rewriting implements IParsingExpression { operand: IParsingExpression; spec: string; constructor(operand: IParsingExpression, spec: string); accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export declare class Lake extends UnaryOperator { readonly originalOperand: IParsingExpression; constructor(operand: IParsingExpression); makeSemantics(symbols: Set<IParsingExpression>, waterRules: Rule[]): void; accept<ArgsType extends unknown[] = [], ReturnType = void>(visitor: IParsingExpressionVisitor<ArgsType, ReturnType>, ...arg: ArgsType): ReturnType; } export {}; //# sourceMappingURL=ParsingExpression.d.ts.map