An interpreter and compiler Brainfuck under Java VM. It is written entirely in Java, Brainfuck source code can be interpreted in its VM or compiled into bytecode JVM, which optimizes and accelerates through JIT. If you are familiar with the projects JRuby, Jython, etc., then JBrainfuck is the same, only for Brainfuck.
- Interpretation
- Compiling under JVM, execution and saved in "class file".
- JIT (acceleration to 8x)
- Optimization (minimize multiple operations and replacement typical)
- Translation Brainfuck code to Java and C++
- Other options (replacement for the standard I/O and memory size)
//Hello World!
String code =
"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.++++++" +
"+..+++.>++.<<+++++++++++++++. >.+++.------.--------.>+.>.";
Compiler compiler = new Compiler(code, true);
VirtualMachine vm = compiler.compile();
vm.run();
- Java Compiler - class to compile BrainFuck on the JVM
- BF Compiler - class to compile BrainFuck under its own VM
- VirtualMachine - class execution results compilation Java Compiler or BF Compiler
- Settings - stores in itself global setting the memory size and I/O variables
- Translator - translator BrainFuck to Java and C++
Это интерпретатор и компилятор языка Brainfuck под Java VM. Он полностью работает на Java, исходный код Brainfuck может быть проинтерпретирован в своей VM или же скомпилирован в байткод JVM, который подвергается оптимизациям и JIT. Если вы знакомы с проектами JRuby, Jython и т.д., то JBrainfuck это тоже самое, только для Brainfuck.
- Интерпретация
- Компиляция под JVM, выполнение и сохрание в class файл.
- JIT (до 8 раз быстрее обычной интерпретации)
- Оптимизации (сворачивание множественных операций и замена типичных)
- Трансляция кода Brainfuck на языки Java и C++
- Другие опции (замена стандартного ввода/вывода и размер памяти)
//Hello World!
String code =
"++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.++++++" +
"+..+++.>++.<<+++++++++++++++. >.+++.------.--------.>+.>.";
Compiler compiler = new Compiler(code, true);
VirtualMachine vm = compiler.compile();
vm.run();
- Java Compiler - класс для компиляции BrainFuck под JVM
- BF Compiler - класс для компиляции BrainFuck под обычную VM
- VirtualMachine - класс для запуска результата компиляции Java Compiler или BF Compiler
- Settings - хранит в себе глобальные настройки размера памяти и переменные ввода/вывода
- Translator - транслятор BrainFuck на языки Java и С++