Skip to content
/ ssbi Public

ssbi is a Simple Scala Brainfuck Interpreter, a simple educational project to learn Scala.

License

Notifications You must be signed in to change notification settings

mighe/ssbi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSBI

ssbi is a Simple Scala Brainfuck Interpreter, a simple educational project to learn Scala.

Architecture

ssbi parses Brainfuck code and generates a list of executable Instructions. The Instructions are passed to a code optimizer that reduces their number, then the ProgramExecutor executes them.

At the moment ssbi does not rely on compiler theory, even if it could be very useful: consider this as a precise architectural choice, maybe one day the project will switch to more formal algorithms. For example, Optimizer uses a two pass algorithm: the first time it optimizes linear sequences, the second time it optimizes loops. Using a real parser this can be done in one single pass.

Contribute

I want to improve my Scala proficiency, so feel free to open an issue also to provide style suggestions.

If you want to add features:

  • fork this repository
  • add specs
  • add code
  • open a pull request

Credits

Sample programs from https://github.com/gokselgoktas/brainfuck/tree/master/examples

Useful links

License

All ssbi code is under MIT license

About

ssbi is a Simple Scala Brainfuck Interpreter, a simple educational project to learn Scala.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages