Skip to content
Stack-based micro (< 150 LOC) virtual machine written in Ruby, running its own micro bytecode format called MC.
Ruby
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore
Readme.md
add.mc
functions.mc
mc.png
microvm
stack_limit.mc

Readme.md

microvm

Sunday afternoon. One hour. Less than 150LOC (< 4kb).

MicroVM is a stack-based micro virtual machine written in Ruby, running its own micro bytecode format called MC.

MC Bytecode

Install

$ wget https://raw.github.com/txus/microvm/master/microvm
$ chmod +x microvm
$ ./microvm some_file.mc

You can try some example MC files in this very repo.

Why?

It's a learning example: it's a really simple implementation of a VM that works, so it's easy to get a general grasp about how things are structured.

Features

  • Compact bytecode format (although it could be more compact)
  • Method calls
  • Types: only String and Fixnum for now.
  • Sort of runtime type checking

Who's this

This was made by Josep M. Bach (Txus) under the MIT license. I'm @txustice on twitter (where you should probably follow me!).

Something went wrong with that request. Please try again.