Skip to content

slince/hello-vm

Repository files navigation

hello-vm

一个只支持三个指令的超级mini的虚拟机

用法

package org.slince.hellovm;

import java.util.List;

public class Main {

    public static void main(String[] args) {
        VirtualMachine vm = new VirtualMachine();
        List<VirtualMachine.Instruction> instructions = List.of(
                new VirtualMachine.Instruction("push", 1), // 常量入栈
                new VirtualMachine.Instruction("push", 2), // 常量入栈
                new VirtualMachine.Instruction("add", null), // 栈上加法
                new VirtualMachine.Instruction("push", 5), // 入栈
                new VirtualMachine.Instruction("sub", null) // 栈上减法
        );
        // 以上指令相当于 1 + 2 - 5 ; 输出-2
        System.out.println(vm.execute(instructions));
    }
}

这很酷!

About

一个超级mini的栈式虚拟机

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages