Giter VIP home page Giter VIP logo

bf_compiler's Introduction



Choisauce's BF Compiler

This project by Austin Choi is a (horribly written) 2 stage compiler for the esoteric language brainfuck created by Urban Müller. This compiler will first translate the source code to C++ then use the g++ compiler to compile it down to machine code.

This project was done just as a way to see if I could make a compiler based on what I read up on it. Now I'm properly working on learning compilers with the Stanford EdX course, but I still wanted to try this project out since I've made several bf interpretors in the past.

Usage

Debian/Ubuntu

To compile a bf program do

./bfCompile bfFileName

To run the executable do

./bf.out

Windows

Haven't worked this out yet so hopefully will get it done soon lol

As for now you can run this in the Debian or Ubuntu WSL and as long as you have the correct dependencies then you'll be fine

Instalation

Debian/Ubuntu

To make the compiler first ensure you have all the dependencies

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install g++
sudo apt-get install make

After all the required packages are installed, then run

make

Now you will have a bfCompile executable in the directory. This is the compiler that you can use as mentioned in the Usage section

Windows

As mentioned above in the Usage section, I haven't worked on how to get this running on Windows, but you can do this with the Debian or Ubuntu WSL and run it using the Debian/Ubuntu instructions

bf_compiler's People

Contributors

choice404 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.