UNPKG

@mojir/lits

Version:

Lits is a Lisp dialect implemented in TypeScript

13 lines (12 loc) 1.54 kB
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>];