UNPKG

rhombic

Version:

SQL parsing, lineage extraction and manipulation

67 lines 1.66 kB
import { ISerializedGast } from "chevrotain"; export declare type Node = FlatNode | RuleNode | AlternationNode | NonTerminalNode | TerminalNode | RepetitionWithSeparatorNode | OptionNode | RepetitionNode | RepetitionMandatoryWithSeparator | { type: "RepetitionMandatory"; }; interface RuleNode { type: "Rule"; name: string; orgText: string; definition: Node[]; } interface FlatNode { type: "Flat"; definition: Node[]; } interface AlternationNode { type: "Alternation"; idx: number; definition: FlatNode[]; } interface NonTerminalNode { type: "NonTerminal"; name: string; idx: number; } interface TerminalNode { type: "Terminal"; name: string; label: string; idx: number; pattern: string; } interface RepetitionWithSeparatorNode { type: "RepetitionWithSeparator"; idx: number; separator: TerminalNode; definition: Node[]; } interface RepetitionMandatoryWithSeparator { type: "RepetitionMandatoryWithSeparator"; idx: number; separator: TerminalNode; definition: NonTerminalNode[]; } interface OptionNode { type: "Option"; idx: number; definition: Node[]; } interface RepetitionNode { type: "Repetition"; idx: number; definition: Node[]; } /** * Script to generate context types from the grammar. * * Result: * `src/Context.ts` */ export declare function generateContextTypes(grammar: ISerializedGast[]): void; export declare function generateDefinitionTypes(definition: Node[], options?: { indent?: number; optional?: boolean; keys?: string[]; }): string; export {}; //# sourceMappingURL=generateContextTypes.d.ts.map