UNPKG

calcium-lang

Version:
51 lines (50 loc) 1.29 kB
import Environment from "./environment"; import Parser from "../parser"; import Statement from "./statement"; import Status from "./status"; import * as Builtin from "../builtin"; import OutputFunction from "./outputFunction"; export default class Runtime { breakpoints: Set<number>; /** * has data required on execution. */ env: Environment; /** * a utility flag to execute on a Worker */ isPaused: boolean; /** * parses a statement in JSON arrays, then returns a command. */ parser: Parser; /** * * @param code must be a string or a JSON array of Calcium statements. */ constructor(code: string | Statement[], opt?: Options); addBreakpoint(line: number): void; pause(): void; removeBreakpoint(line: number): void; resume(): void; run(): Status; /** * * @param funcToOutput built-in function's body to output */ setOutputFunction(funcToOutput: OutputFunction): void; skipToNextLine(): void; /** * execute one line. * * @returns the result of the execution */ step(): Status; get currentStatement(): Statement; } export declare type Options = { parser?: Parser; builtins?: { [name: string]: Builtin.FuncBody; }; };