pegisland
Version:
General PEG-based parser supporting island grammars with lake symbols
81 lines • 4.98 kB
TypeScript
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