pip-services3-expressions-nodex
Version:
Tokenizers, parsers and expression calculators for Pip.Services in Node.js / ES2017
48 lines (47 loc) • 1.73 kB
TypeScript
/** @module tokenizers */
import { ITokenizer } from './ITokenizer';
import { ITokenizerState } from './ITokenizerState';
import { ICommentState } from './ICommentState';
import { INumberState } from './INumberState';
import { IQuoteState } from './IQuoteState';
import { ISymbolState } from './ISymbolState';
import { IWhitespaceState } from './IWhitespaceState';
import { IWordState } from './IWordState';
import { Token } from './Token';
import { TokenType } from './TokenType';
import { IScanner } from '../io/IScanner';
/**
* Implements an abstract tokenizer class.
*/
export declare abstract class AbstractTokenizer implements ITokenizer {
private _map;
skipUnknown: boolean;
skipWhitespaces: boolean;
skipComments: boolean;
skipEof: boolean;
mergeWhitespaces: boolean;
unifyNumbers: boolean;
decodeStrings: boolean;
commentState: ICommentState;
numberState: INumberState;
quoteState: IQuoteState;
symbolState: ISymbolState;
whitespaceState: IWhitespaceState;
wordState: IWordState;
protected _scanner: IScanner;
protected _nextToken: Token;
protected _lastTokenType: TokenType;
protected constructor();
getCharacterState(symbol: number): ITokenizerState;
setCharacterState(fromSymbol: number, toSymbol: number, state: ITokenizerState): void;
clearCharacterStates(): void;
get scanner(): IScanner;
set scanner(value: IScanner);
hasNextToken(): boolean;
nextToken(): Token;
protected readNextToken(): Token;
tokenizeStream(scanner: IScanner): Token[];
tokenizeBuffer(buffer: string): Token[];
tokenizeStreamToStrings(scanner: IScanner): string[];
tokenizeBufferToStrings(buffer: string): string[];
}