calcium-lang
Version:
Calcium language interpreter
51 lines (50 loc) • 1.29 kB
TypeScript
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;
};
};