All Projects → b9org → b9

b9org / b9

Licence: Apache-2.0 License
An educational JS virtual machine based on Eclipse OMR

Programming Languages

C++
36643 projects - #6 most used programming language
javascript
184084 projects - #8 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to b9

Openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,802 (+6905%)
Mutual labels:  virtual-machine, jit, gc
openj9
Eclipse OpenJ9: A Java Virtual Machine for OpenJDK that's optimized for small footprint, fast start-up, and high throughput. Builds on Eclipse OMR (https://github.com/eclipse/omr) and combines with the Extensions for OpenJDK for OpenJ9 repo.
Stars: ✭ 2,973 (+7332.5%)
Mutual labels:  virtual-machine, jit, gc
LLVM-JVM
[W.I.P] A Just-In-Time Java Virtual Machine written in Haskell
Stars: ✭ 22 (-45%)
Mutual labels:  virtual-machine, educational
kcs
Scripting in C with JIT(x64)/VM.
Stars: ✭ 25 (-37.5%)
Mutual labels:  virtual-machine, jit
libjit
Unofficial libjit mirror.
Stars: ✭ 46 (+15%)
Mutual labels:  virtual-machine, jit
RSqueak
A Squeak/Smalltalk VM written in RPython.
Stars: ✭ 78 (+95%)
Mutual labels:  virtual-machine, jit
vein
🔮⚡️Vein is an open source high-level strictly-typed programming language with a standalone OS, arm and quantum computing support.
Stars: ✭ 31 (-22.5%)
Mutual labels:  virtual-machine, jit
qscript
A Simple Scripting Language
Stars: ✭ 34 (-15%)
Mutual labels:  virtual-machine
RoadToTop50-Methodology
Methodology notes for web and infrastructure (Windows/Linux) testing.
Stars: ✭ 32 (-20%)
Mutual labels:  educational
khufu
A template language for incremental-dom or DSL for javascript views
Stars: ✭ 19 (-52.5%)
Mutual labels:  virtual-machine
Zen
Zen is a general purpose programming language designed to build simple, reliable and efficient programs.
Stars: ✭ 24 (-40%)
Mutual labels:  virtual-machine
cabasa
Haxe Framework for WebAssembly
Stars: ✭ 30 (-25%)
Mutual labels:  virtual-machine
Corium
Corium is a modern scripting language which combines simple, safe and efficient programming.
Stars: ✭ 18 (-55%)
Mutual labels:  virtual-machine
imongo
A MongoDB kernel for Jupyter
Stars: ✭ 51 (+27.5%)
Mutual labels:  educational
warpy
WebAssembly interpreter in RPython
Stars: ✭ 54 (+35%)
Mutual labels:  jit
Futureye JIT
FuturEye_JIT is a Java Finite Element Method (FEM) library for solving PDE based forward/inverse problems as efficient as hand written FORTRAN code.
Stars: ✭ 25 (-37.5%)
Mutual labels:  jit
jitm
JITM is an automated tool to bypass the JIT Hooking protection on a .NET sample.
Stars: ✭ 27 (-32.5%)
Mutual labels:  jit
SelfPortal
One for all virtualization abstraction layer.
Stars: ✭ 22 (-45%)
Mutual labels:  virtual-machine
EEGEdu
Interactive Brain Playground - Browser based tutorials on EEG with webbluetooth and muse
Stars: ✭ 91 (+127.5%)
Mutual labels:  educational
assembler
A modern UI framework
Stars: ✭ 171 (+327.5%)
Mutual labels:  jit

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].