UNPKG

@grammar/son

Version:

SON grammar.

103 lines 3.28 kB
import $ from './spellu-engine'; declare namespace grammar$son { } declare namespace grammar$son { const enum Syntax { Array = "son.Array", Object = "son.Object", String = "son.String", Number = "son.Number", Boolean = "son.Boolean", Null = "son.Null", Comment = "son.Comment" } const enum Syntax { OpenBracketToken = "son.token.bracket-[", CloseBracketToken = "son.token.bracket-]", OpenBraceToken = "son.token.brace-{", CloseBraceToken = "son.token.brace-}", CommaToken = "son.token.comma", ColonToken = "son.token.colon", SingleQuote = "son.token.single-quote", DoubleQuote = "son.token.double-quote", IdentifierToken = "son.token.identifier", NumberToken = "son.token.number", BooleanToken = "son.token.boolean", NullToken = "son.token.null", TextToken = "son.token.text", EscapedUnicodeCharacterToken = "son.token.escaped-unicode-character", EscapedSignCharacterToken = "son.token.escaped-sign-character", ErrorToken = "son.token.error" } type WholeNodes = Array | Object | String | Number | Boolean | Null | Comment | Token; type Token = $.Token; type SyntaxScope = $.SyntaxScope; type Value = Array | Object | String | Number | Boolean | Null; interface Array extends $.Node { syntax: Syntax.Array; items: Value[]; } interface Object extends $.Node { syntax: Syntax.Object; items: [Token, Value][]; } interface String extends $.Node { syntax: Syntax.String; value: string; tokens: Token[]; } interface Number extends $.Node { syntax: Syntax.Number; value: number; token: Token; } interface Boolean extends $.Node { syntax: Syntax.Boolean; value: boolean; token: Token; } interface Null extends $.Node { syntax: Syntax.Null; value: null; token: Token; } interface Comment extends $.Node { syntax: Syntax.Null; text: string; token: Token; } } declare namespace grammar$son { const recipe: $.Recipe; } declare namespace grammar$son { const processors: $.Dictionary<$.Processor>; } declare namespace grammar$son { } declare namespace grammar$son { } declare namespace grammar$son { } declare namespace grammar$son { } declare namespace grammar$son { enum ProcessorSuite { CST = "cst", AST = "ast", Syntax = "syntax", Value = "value" } function selectProcessorSuite(suite: ProcessorSuite): $.Processor[]; function scan<V>(source: string | $.SourceDescriptor, suite?: ProcessorSuite, rule?: string, options?: Partial<$.ScanOptions>): V; function tokenize(source: string | $.SourceDescriptor, options?: Partial<$.ScanOptions>): $.SyntaxToken[]; function parse<V>(source: string | $.SourceDescriptor, options?: Partial<$.ScanOptions>): V; } declare namespace grammar$son { type PrintOptions = { pretty?: boolean; }; export function print(value: Value, options?: PrintOptions): string; export {}; } export default grammar$son; //# sourceMappingURL=grammar-son.d.ts.map