@mojir/lits
Version:
Lits is a pure functional programming language implemented in TypeScript
21 lines (20 loc) • 713 B
TypeScript
import type { SourceCodeInfo, Token } from '../tokenizer/token';
import type { TokenStream } from '../tokenizer/tokenize';
import type { AstNode } from './types';
export declare class ParserContext {
private readonly tokens;
private position;
private storedPosition;
parseExpression: (precedence?: number) => AstNode;
constructor(tokenStream: TokenStream);
advance(): void;
tryPeek(): Token | undefined;
peek(): Token;
isAtEnd(): boolean;
peekSourceCodeInfo(): SourceCodeInfo | undefined;
storePosition(): number;
restorePosition(): void;
peekAhead(count: number): Token | undefined;
getPosition(): number;
getTokenAt(pos: number): Token | undefined;
}