Skip to content

tbinetruy/brainfuck-compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This is a toy project meant to teach lisp. It consists of a virtual machine supporting a dozen basic instructions along with a brainfuck compiler. Bellow is an example of how to compile a hello world brainfuck program to our virtual machine’s bytecode before interpreting it:

(load-file "./vm.el")
(load-file "./bf-compiler.el")

;; Hello world example. Code taken from:
;; https://en.wikipedia.org/wiki/Brainfuck#Hello_World!
(setq src "++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.>++.")
(vm//main (compiler//compile src t)) ; "prints Hello World!"
Hello World!
nil((eax . 10) (ebx . 10) (ecx . 6) (pc . 1246))(0 0 72 100 87 33 10 0 0 0)

About

+++>+++<[->+<].

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published