js-slang
Version:
Javascript-based implementations of Source, written in Typescript
24 lines (23 loc) • 737 B
TypeScript
import es from 'estree';
import type { Context } from '../types';
import OpCodes from './opcodes';
export type Offset = number;
export type Address = [
number,
number?
];
export type Instruction = [OpCodes, Argument?, Argument?];
export type Argument = number | boolean | string | Offset | Address;
export type SVMFunction = [
number,
number,
number,
Instruction[]
];
export type Program = [
number,
SVMFunction[]
];
export declare function compileForConcurrent(program: es.Program, context: Context): Program;
export declare function compilePreludeToIns(program: es.Program): Program;
export declare function compileToIns(program: es.Program, prelude?: Program, vmInternalFunctions?: string[]): Program;