@making-sense/antlr-editor
Version:
ANTLR Typescript editor
40 lines (39 loc) • 1.33 kB
TypeScript
import { RuleToken } from "./ruleToken";
import { StatementType } from "./statementType";
import { SyntaxCollection } from "./syntaxCollection";
import { SyntaxLink } from "./syntaxLink";
export declare class GrammarStatement {
private type;
private _name;
private _label;
private _value;
private alternatives;
private unresolved;
private multiplied;
private greedy;
private readonly statements;
private readonly tokens;
private token;
syntax: SyntaxLink[];
constructor(type: StatementType, tokens: RuleToken[], name?: string);
processRule(): void;
private addRuleAlternative;
private processRuleAlternative;
private processElements;
private addAtom;
private processToken;
private addBlock;
processBlock(tokens: RuleToken[]): void;
private addAlternative;
resolveStatements(rules: Map<string, GrammarStatement>, operators: Map<string, GrammarStatement>, visited: Map<string, GrammarStatement>): void;
resolveSyntax(keywords: SyntaxCollection): void;
private constructLink;
isOptional(): boolean;
is(type: StatementType): boolean;
get name(): string | undefined;
get label(): string | undefined;
set label(label: string | undefined);
get value(): string | undefined;
private multiply;
private isToken;
}