Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zeroplayerrodent/bf-cavycode
The classic esolang rewritten in CavyCode!
https://github.com/zeroplayerrodent/bf-cavycode
brainfuck brainfuck-interpreter esolang esolangs
Last synced: about 2 months ago
JSON representation
The classic esolang rewritten in CavyCode!
- Host: GitHub
- URL: https://github.com/zeroplayerrodent/bf-cavycode
- Owner: ZeroPlayerRodent
- Created: 2024-04-19T16:59:01.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-04-22T21:25:14.000Z (9 months ago)
- Last Synced: 2024-04-22T22:37:08.820Z (9 months ago)
- Topics: brainfuck, brainfuck-interpreter, esolang, esolangs
- Language: Common Lisp
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# BF-CavyCode
Is a classic 8-bit [Brainfuck](https://en.wikipedia.org/wiki/Brainfuck) interpreter implemented in [CavyCode](https://github.com/ZeroPlayerRodent/cavycode).Included as a bonus is a bare-bones Brainfuck to CavyCode translator written in Python: [bf-to-cavycode.py](https://github.com/ZeroPlayerRodent/BF-CavyCode/blob/main/bf-to-cavycode.py)
## How to use
You can compile or run [bf-interpreter.cavy](https://github.com/ZeroPlayerRodent/BF-CavyCode/blob/main/bf-interpreter.cavy) from source, or you can run the pre-compiled [bf-interpreter.lisp](https://github.com/ZeroPlayerRodent/BF-CavyCode/blob/main/bf-interpreter.lisp).(Note that this interpreter is only confirmed to work on [CLISP](https://clisp.sourceforge.io/))
After starting the interpreter, input a Brainfuck program with an exclamation point (!) marking the end of the program and press enter.
You can also load a Brainfuck program from a file by typing `cat filename.bf | clisp bf-interpreter.lisp` in the terminal. When doing this you must include your input in the same file as the program, just after the exclamation point.
## Why you shouldn't use
This implementation was only created for fun, and should not be used as a practical interpreter if you just want to run Brainfuck programs.This implementation is not ideal to use because it is VERY slow and does not support dynamic memory. As of right now it only uses the traditional 30 kilobytes of memory and wraps around when it reaches the end of the memory tape. I may implement dynamic memory in the future, though.