import { CharStream } from './streams/char-stream.js'; import { TokenKind } from './token.js'; import type { ITokenStream } from './streams/token-stream.js'; import type { Token, TokenPosition } from './token.js'; /** * 入力文字列からトークンを読み取るクラス */ export declare class Scanner implements ITokenStream { private stream; private _tokens; constructor(source: string); constructor(stream: CharStream); /** * カーソル位置にあるトークンを取得します。 */ getToken(): Token; /** * カーソル位置にあるトークンの種類が指定したトークンの種類と一致するかどうかを示す値を取得します。 */ is(kind: TokenKind): boolean; /** * カーソル位置にあるトークンの種類を取得します。 */ getTokenKind(): TokenKind; /** * カーソル位置にあるトークンに含まれる値を取得します。 */ getTokenValue(): string; /** * カーソル位置にあるトークンの位置情報を取得します。 */ getPos(): TokenPosition; /** * カーソル位置を次のトークンへ進めます。 */ next(): void; /** * トークンの先読みを行います。カーソル位置は移動されません。 */ lookahead(offset: number): Token; /** * カーソル位置にあるトークンの種類が指定したトークンの種類と一致することを確認します。 * 一致しなかった場合には文法エラーを発生させます。 */ expect(kind: TokenKind): void; private readToken; private tryReadWord; private tryReadIdentifierStart; private tryReadIdentifierPart; private readUnicodeEscapeSequence; private tryReadDigits; private readStringLiteral; private readTemplate; private skipEmptyLines; private skipCommentLine; private skipCommentRange; } //# sourceMappingURL=scanner.d.ts.map