cm-tarnation
Version:
An alternative parser for CodeMirror 6
33 lines (32 loc) • 1.06 kB
TypeScript
import { BufferCursor, Tree } from "@lezer/common";
import type { TarnationLanguage } from "../language";
import { ChunkBuffer } from "./buffer";
import { CompileStack } from "./stack";
export declare class Compiler {
language: TarnationLanguage;
stack: CompileStack;
buffer: ChunkBuffer;
compiled: Int32Array;
size: number;
reused: Tree[];
index: number;
constructor(language: TarnationLanguage, buffer?: ChunkBuffer);
get done(): boolean;
private emit;
private parse;
step(force?: boolean): boolean;
advanceFully(force?: boolean): void;
compile(start: number, length: number): Tree;
}
/** Cursor that the `Tree.buildData` function uses to read a buffer. */
export declare class ArrayBufferCursor implements BufferCursor {
readonly buffer: Int32Array;
pos: number;
constructor(buffer: Int32Array, pos?: number);
get id(): number;
get start(): number;
get end(): number;
get size(): number;
next(): void;
fork(): ArrayBufferCursor;
}