Skip to content
/ jbf Public

A Brainf*ck implementation on top of the JVM, utilizing GraalVM and Truffel framework

License

Notifications You must be signed in to change notification settings

this/jbf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jBF - Brainf*ck on JVM

A Brainf*ck implementation on top of the JVM, utilizing GraalVM and Truffel framework.

Build Bot

Brainf*ck is a turing complete esoteric programming language that is famous for its extreme minimalism. This project implements Brainf*ck language using Truffel framework for the GraalVM

Getting started

Prerequisites

Installation

This project works with GraalVM v20.0.0 version (or higher v20.x.x) which can be downloaded from here. Follow these instructions to install it. Make sure that $JAVA_HOME environment variable point to the Graal installation and $JAVA_HOME/bin in the $PATH.

Building the project

Execute mvn clean package to build the project.

Running a Brainf*ck program

$ sh ./bf path/to/program.bf

Building a native binary

Native binary generation is done with the native-image utility, which is not bundled by default with the Graal distribution. Follow these instructions to install it.

After installing, execute mvn clean package -P native which will create the binary in the ./modules/launcher/target directory.

Project structure

  • language module - contains the Brainf*ck language implementation
  • launcher module - contains the command line launcher

Resources

Following resources was very helpful for this project.