A simple implementation of Brainf&*k built using Truffle for the GraalVM.
This repository is licensed under the permissive UPL licence. Fork it to begin your own Truffle language.
- JDK 8
- maven3
-
Clone graal-bf repository using
-
Download Graal VM Development Kit from http://www.oracle.com/technetwork/oracle-labs/program-languages/downloads
-
Unpack the downloaded
graalvm_*.tar.gz
intosimplelanguage/graalvm
. -
Verify that the file
graal-bf/graalvm/bin/java
exists and is executable -
Execute
mvn package
-
Execute
./bf tests/HelloWorld.bf
to run a simple language source file. -
Execute
./bf -disassemble tests/HelloWorld.bf
to see assembly code for Truffle compiled functions.
- Download the Ideal Graph Visualizer (IGV) from https://lafo.ssw.uni-linz.ac.at/pub/idealgraphvisualizer/
- Unpack the downloaded
.zip
file - Execute
bin/idealgraphvsiualizer
to start IGV - Execute
./bf -dump tests/HelloWorld.bf
to dump graphs to IGV.
- Execute
./bf -debug tests/HelloWorld.bf
. - Attach a Java remote debugger (like Eclipse) on port 8000.
Simple language is compatible to:
- Truffle-Version: 0.28
- GraalVM-Version: 0.28
- Truffle JavaDoc
- Truffle on Github
- Graal on Github
- Truffle Tutorials and Presentations
- Truffle FAQ and Guidelines
- Graal VM on the Oracle Technology Network
- Papers on Truffle
- Papers on Graal
The Truffle framework is licensed under the GPL 2 with Classpath exception. The SimpleLanguage is licensed under the Universal Permissive License (UPL).