Skip to content
/ b9 Public
forked from b9org/b9

An educational JS virtual machine based on Eclipse OMR

License

Notifications You must be signed in to change notification settings

a7ehuo/b9

 
 

Repository files navigation

Welcome to base9!

Build Status Coverage Status

Base9 is an educational language runtime and programming language! We’re using it to show people how to use Eclipse OMR to build their own language runtime with a Just in Time (JIT) Compiler! The base9 front-end language is a simple subset of JavaScript. For more information, visit the base9 website.

Build your own Language Runtime

If you'd like to build your own language runtime, visit our guide on Building a Language Runtime!

Getting started

This page contains some basic instructions to get you started. For more detailed instructions, go to:

1. Requirements

To get started with base9 using the Ninja build system, you'll need the following:

  • git
  • build-essential
  • nodejs (Minimum version 4.5.0)
  • npm
  • esprima
  • cmake (Minimum version 3.2.0)
  • ninja

2. Clone the repository and get the submodules

git clone --recursive https://github.com/b9org/b9.git

3. Install Esprima

cd b9 \
&& npm install esprima

4. Build base9

mkdir build \
&& cd build \
&& cmake -GNinja -DCMAKE_BUILD_TYPE=Debug .. \
&& ninja

5. Run Hello World!

In the build directory, run:

./b9run/b9run ./test/hello.b9mod

6. Test base9

You can run the full base9 test suite with:

ninja test

About

An educational JS virtual machine based on Eclipse OMR

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 74.7%
  • JavaScript 20.1%
  • CMake 4.4%
  • Other 0.8%