harmonyc
Version:
Harmony Code - model-driven BDD for Vitest
22 lines (21 loc) • 945 B
TypeScript
import { Token, Lexer, TokenPosition } from 'typescript-parsec';
export { T } from './lexer_rules.js';
declare class TokenImpl<T> implements Token<T> {
private readonly lexer;
private readonly input;
kind: T;
text: string;
pos: TokenPosition;
keep: boolean;
private nextToken;
constructor(lexer: LexerImpl<T>, input: string, kind: T, text: string, pos: TokenPosition, keep: boolean);
get next(): Token<T> | undefined;
}
declare class LexerImpl<T> implements Lexer<T> {
rules: [boolean, RegExp, T][];
constructor(rules: [boolean, RegExp, T][]);
parse(input: string): TokenImpl<T> | undefined;
parseNext(input: string, indexStart: number, rowBegin: number, columnBegin: number): TokenImpl<T> | undefined;
parseNextAvailable(input: string, index: number, rowBegin: number, columnBegin: number): TokenImpl<T> | undefined;
}
export declare const lexer: LexerImpl<import("./lexer_rules.js").T>;