Skip to content

A simple implementation of Brainf*&k built using the Truffle API.

License

Notifications You must be signed in to change notification settings

dmeibusch/graal-bf

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graal-BF

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.

Prerequisites

  • JDK 8
  • maven3

Installation

  • Clone graal-bf repository using

  • Download Graal VM Development Kit from https://www.oracle.com/technetwork/oracle-labs/program-languages/downloads

  • Unpack the downloaded graalvm_*.tar.gz into simplelanguage/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.

IGV

Debugging

  • Execute ./bf -debug tests/HelloWorld.bf.
  • Attach a Java remote debugger (like Eclipse) on port 8000.

Tested Compatibility

Simple language is compatible to:

  • Truffle-Version: 0.28
  • GraalVM-Version: 0.28

Further information

License

The Truffle framework is licensed under the GPL 2 with Classpath exception. The SimpleLanguage is licensed under the Universal Permissive License (UPL).

About

A simple implementation of Brainf*&k built using the Truffle API.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 95.9%
  • Brainfuck 2.9%
  • Shell 1.2%