xast
Version:
AST parsing library
21 lines (20 loc) • 612 B
TypeScript
import { Token } from './Token';
import { Source } from './Source';
export interface Tokenizer {
(lexer: Lexer, position: number, code: number): Token | undefined;
}
export declare class Lexer {
source: Source;
lastToken: Token;
token: Token;
line: number;
lineStart: number;
private _tokenizers;
constructor(source: Source | string);
get [Symbol.toStringTag](): string;
add(code: number, tokenizer: Tokenizer): void;
tokenize(position: number, code: number): Token | undefined;
advance(): Token;
lookahead(): Token;
readNextToken(start: number): Token;
}