B-MJ
Project.java
Block MiniJava
Block Workspace
No run yet.

C Control

S·E Stack + Environment

S Store

K Kontinuation

Output

Model A · heap references

Call stack

Heap

Output

Model B · structures

Call stack

Output

No visualization selected.
B-MJ icon

B-MJ

Block-based MiniJava

B-MJ is a Blockly-based web IDE for constructing MiniJava programs with grammar-aware blocks.

Work performed in the workspace can be saved to a file with the .bml extension.

B-MJ extends the Thrasos renderer and named it BMJ-Thrasos renderer. BMJ-Thrasos uses distinct connector shapes to visually differentiate MiniJava non-terminals to reduce grammatical production errors.

class Main {
  public static void main(String[] args) {
    System.out.println("version 1.0");
    System.out.println("CESK machine and rewrite semantics");
    System.out.println("Call-by-Structure and Call-by-Value");
    System.out.println("No Garbage Collection yet");
    System.out.println("Block ⇄ Text");
  }
}

Save workspace

Choose a file name

Export MiniJava code

Choose a file name

Load example

This example

Your workspace already has blocks. Replace them with this example, or merge the example alongside them?