@neuledge/states-parser
Version:
A parser for the Neuledge States language
39 lines • 1.86 kB
TypeScript
import { ParsingError } from '../error';
import { PunctuationToken, Token, WordToken } from './index';
import { AbstractToken } from './abstract';
export declare class TokenCursor {
readonly content: string;
index: number;
readonly tokens: Token[];
constructor(content: string, path?: string, index?: number);
get current(): Token | undefined;
get next(): Token | undefined;
get path(): string | undefined;
get start(): number;
get end(): number;
static isMatch<T extends Token['type']>(token: Token | null | undefined, type: T, test?: ((token: Token & AbstractToken<T>) => boolean) | null): token is Token & AbstractToken<T>;
pickKeyword<V extends string>(...values: V[]): (WordToken & {
value: V;
}) | null;
consumeKeyword<V extends string>(...values: V[]): WordToken & {
value: V;
};
pickPunctuation<V extends string>(...values: V[]): PunctuationToken & {
value: V;
};
consumePunctuation<V extends string>(...values: V[]): PunctuationToken & {
value: V;
};
pick<T extends Token['type']>(type: T, test?: ((token: Token & AbstractToken<T>) => boolean) | null): (Token & AbstractToken<T>) | null;
consume<T extends Token['type']>(type: T, test?: ((token: Token & AbstractToken<T>) => boolean) | null, expected?: string): Token & AbstractToken<T>;
createError(expected?: string): ParsingError;
maybeConsumeKeyword<V extends string>(value: V): (WordToken & {
value: V;
}) | undefined;
maybeConsumePunctuation<V extends string>(value: V): (PunctuationToken & {
value: V;
}) | undefined;
maybeConsume<T extends Token['type']>(type: T, test?: ((token: Token & AbstractToken<T>) => boolean) | null): (Token & AbstractToken<T>) | undefined;
transaction<T>(fn: () => T): T;
}
//# sourceMappingURL=cursor.d.ts.map