UNPKG

ima-parse

Version:

Easy Simple Parser, that only requires a Grammar JSON to output an AST.

24 lines (23 loc) 707 B
import { DefinitionRules, GrammarRule } from "../parser/grammarTypes"; export type ResultFailed<E> = { success: false; error: E; }; export type ResultSuccess<R = {}> = R & { success: true; }; export type Result<R = {}, E = string> = ResultSuccess<R> | ResultFailed<E>; export type Cursor = { ln: number; col: number; }; export type Position = { start: Cursor; end: Cursor; }; export type PhraseKind = "chars" | "word" | "number"; /** * Assert that something will never happen. Useful in switch statements to check you've covered all cases */ export declare function assertNever(x: never): never; export declare function getRules(ruleReference: DefinitionRules): GrammarRule[];