add runtime + arch

This commit is contained in:
SimonFJ20 2024-11-01 13:06:28 +01:00
parent be71bab97e
commit 2960f1c830
2 changed files with 36 additions and 0 deletions

31
src/arch.ts Normal file
View File

@ -0,0 +1,31 @@
export type Ins = Ops | number;
export type Program = Ins[];
export const Ops = {
Nop: 0,
PushNull: 1,
PushInt: 2,
PushString: 3,
PushArray: 4,
PushStruct: 5,
PushPtr: 6,
Pop: 7,
LoadLocal: 8,
StoreLocal: 9,
Call: 10,
Return: 11,
Jump: 12,
JumpIfNotZero: 13,
Add: 14,
Subtract: 15,
Multiply: 16,
Divide: 17,
Remainder: 18,
Equal: 19,
LessThan: 20,
And: 21,
Or: 22,
Xor: 23,
Not: 24,
} as const;
export type Ops = typeof Ops;

5
src/runtime.ts Normal file
View File

@ -0,0 +1,5 @@
import { Program } from "./arch";
export class VM {
public constructor(private program: Program) {}
}