UNPKG

js-slang

Version:

Javascript-based implementations of Source, written in Typescript

24 lines (23 loc) 737 B
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;