import { LexerInterface } from '../types/interfaces'; /** * 词法解析器,主要根据设计的规则对message进行处理成Token */ declare class Lexer implements LexerInterface { readonly startState: string; readonly unionReg: Record; private buffer; private stack; private index; private line; private col; private queuedText; private state; private groups; private error; private regexp; private fast; private queuedGroup; private value; constructor(unionReg: Record, startState: string); /** * 根据新的消息重置解析器 * @param data 消息数据 */ reset(data?: string): this; private setState; private popState; private pushState; private getGroup; private tokenToString; /** * 迭代获取下一个 token */ next(): { type: any; value: any; text: string; toString: () => string; offset: number; lineBreaks: number; line: number; col: number; } | undefined; /** * 获取Token * @param group 解析模板后获得的属性值 * @param text 文本属性的信息 * @param offset 偏移量 * @private */ private getToken; [Symbol.iterator](): { next: () => IteratorResult; }; } export default Lexer;