Skip to content

ashton314/brainfreeze

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Brainfreeze

Brainf*** interpreters and compilers

Synopsis

Interpreters:

racket interp_basic.rkt bench/benches/mandel.b
racket interp_threaded.rkt bench/benches/mandel.b
racket runner.rkt bench/benches/mandel.b

Compilers:

racket native.rkt bench/benches/mandel.b > mandel.s && clang mandel.s -o mandel && ./mandel

Description

This project contains a set of interpreters and compilers for the BF language.

Interpreters

interp_basic.rkt
Basic BF interpreter; nothing fancy here.
interp_threaded.rkt
Uses a threaded interpreter for a big speed boost.
interp_threaded_opt.rkt
A threaded interpreter that does further optimizations. Forms the basic for the native code compiler. Use the file runner.rkt to invoke this interpreter.

Compilers

comp_c.rkt
Lowers optimized code (from interp_threaded_opt.rkt) to C.
native.rkt
Emits ARM assembly (from interp_threaded_opt.rkt)

Author

Ashton Wiersdorf https://lambdaland.org

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published