- Vue 3 + TypeScript + Element Plus 前端界面 - Pinia 状态管理 - Vue Router 4 路由管理 - Axios HTTP 客户端 - MSW (Mock Service Worker) 开发环境模拟 - 账户管理界面 (列表、详情、三科目余额展示) - 交易管理界面 (列表、详情) - 对账管理界面 (三账校验) - 完善的 API 客户端封装 - Docker 容器化配置 - Nginx 配置用于生产环境
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
import { Token } from './ast';
|
|
import type { LexerInterface } from './lexer';
|
|
import type { Source } from './source';
|
|
/**
|
|
* Given a Source schema coordinate, creates a Lexer for that source.
|
|
* A SchemaCoordinateLexer is a stateful stream generator in that every time
|
|
* it is advanced, it returns the next token in the Source. Assuming the
|
|
* source lexes, the final Token emitted by the lexer will be of kind
|
|
* EOF, after which the lexer will repeatedly return the same EOF token
|
|
* whenever called.
|
|
*/
|
|
export declare class SchemaCoordinateLexer implements LexerInterface {
|
|
source: Source;
|
|
/**
|
|
* The previously focused non-ignored token.
|
|
*/
|
|
lastToken: Token;
|
|
/**
|
|
* The currently focused non-ignored token.
|
|
*/
|
|
token: Token;
|
|
/**
|
|
* The (1-indexed) line containing the current token.
|
|
* Since a schema coordinate may not contain newline, this value is always 1.
|
|
*/
|
|
line: 1;
|
|
/**
|
|
* The character offset at which the current line begins.
|
|
* Since a schema coordinate may not contain newline, this value is always 0.
|
|
*/
|
|
lineStart: 0;
|
|
constructor(source: Source);
|
|
get [Symbol.toStringTag](): string;
|
|
/**
|
|
* Advances the token stream to the next non-ignored token.
|
|
*/
|
|
advance(): Token;
|
|
/**
|
|
* Looks ahead and returns the next non-ignored token, but does not change
|
|
* the current Lexer token.
|
|
*/
|
|
lookahead(): Token;
|
|
}
|