@mojir/lits
Version:
Lits is a Lisp dialect implemented in TypeScript
13 lines (12 loc) • 1.54 kB
TypeScript
import type { BasePrefixedNumberToken, LBraceToken, LBracketToken, LParenToken, MultiLineCommentToken, NumberToken, OperatorToken, RBraceToken, RBracketToken, RParenToken, RegexpShorthandToken, ReservedSymbolToken, SingleLineCommentToken, StringToken, SymbolToken, Token, TokenDescriptor, WhitespaceToken } from './token';
export type Tokenizer<T extends Token> = (input: string, position: number) => TokenDescriptor<T>;
export declare const NO_MATCH: TokenDescriptor<never>;
export declare const tokenizeWhitespace: Tokenizer<WhitespaceToken>;
export declare const tokenizeNumber: Tokenizer<NumberToken>;
export declare const tokenizeBasePrefixedNumber: Tokenizer<BasePrefixedNumberToken>;
export declare const tokenizeSymbol: Tokenizer<SymbolToken>;
export declare const tokenizeReservedSymbolToken: Tokenizer<ReservedSymbolToken>;
export declare const tokenizeOperator: Tokenizer<OperatorToken>;
export declare const tokenizeMultiLineComment: Tokenizer<MultiLineCommentToken>;
export declare const tokenizeSingleLineComment: Tokenizer<SingleLineCommentToken>;
export declare const tokenizers: [Tokenizer<WhitespaceToken>, Tokenizer<MultiLineCommentToken>, Tokenizer<SingleLineCommentToken>, Tokenizer<ReservedSymbolToken>, Tokenizer<LParenToken>, Tokenizer<RParenToken>, Tokenizer<LBracketToken>, Tokenizer<RBracketToken>, Tokenizer<LBraceToken>, Tokenizer<RBraceToken>, Tokenizer<StringToken>, Tokenizer<RegexpShorthandToken>, Tokenizer<BasePrefixedNumberToken>, Tokenizer<NumberToken>, Tokenizer<OperatorToken>, Tokenizer<SymbolToken>];