onelang
Version:
OneLang transpiler framework core
33 lines (32 loc) • 997 B
TypeScript
export declare type TokenKind = "number" | "identifier" | "operator" | "string";
export declare class Token {
kind: TokenKind;
value: string;
constructor(kind: TokenKind, value: string);
}
export declare class ExprLangLexerException {
tokenizer: ExprLangLexer;
message: string;
errorOffset: number;
get context(): string;
constructor(tokenizer: ExprLangLexer, message: string);
toString(): string;
}
export declare class ExprLangLexer {
expression: string;
operators: string[];
offset: number;
tokens: Token[];
constructor(expression: string, operators: string[]);
hasMoreToken(): boolean;
addIf(kind: TokenKind, value: string): boolean;
tryToMatch(pattern: string): string;
tryToReadOperator(): boolean;
tryToReadNumber(): boolean;
tryToReadIdentifier(): boolean;
tryToReadString(): boolean;
get eof(): boolean;
skipWhitespace(): void;
tryToReadLiteral(): boolean;
fail(message: string): void;
}