ima-parse
Version:
Easy Simple Parser, that only requires a Grammar JSON to output an AST.
24 lines (23 loc) • 707 B
TypeScript
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[];