67 lines
1.5 KiB
Markdown
67 lines
1.5 KiB
Markdown
# dopey — Another Brainf\*ck Interpreter
|
|
|
|
Dopey is a Brainf\*ck interpreter written in Python. It fully supports the Brainf\*ck language as defined in the [Wikipedia specification](https://en.wikipedia.org/wiki/Brainfuck#Language_design).
|
|
|
|
<p align="center">
|
|
<img src="logo.png" alt="Dopey Logo" width="300" height="300">
|
|
</p>
|
|
|
|
## Features
|
|
|
|
* Full Brainf\*ck command support: `+ - > < [ ] , .`
|
|
* 30,000-cell memory tape initialized to zero
|
|
* Bounded pointer with runtime safety checks
|
|
* Importable Python module for embedding in scripts
|
|
* Simple CLI interface to execute `.bf` files
|
|
|
|
## Limitations
|
|
|
|
* The memory buffer is fixed at **30,000** byte cells.
|
|
* Pointer underflow or overflow raises a `MemoryException`.
|
|
* Printing values outside the ASCII range may raise encoding errors depending on your terminal.
|
|
|
|
## Requirements
|
|
|
|
Python 3 is required. You can install it from [python.org](https://www.python.org/downloads/).
|
|
|
|
To verify installation:
|
|
|
|
```bash
|
|
python --version
|
|
# or
|
|
python3 --version
|
|
```
|
|
|
|
## Installation
|
|
|
|
Install Dopey using pip:
|
|
|
|
```bash
|
|
pip install dopey
|
|
```
|
|
|
|
To run a Brainf\*ck file:
|
|
|
|
```bash
|
|
python -m dopey path/to/program.bf
|
|
```
|
|
|
|
## Using in Your Python Code
|
|
|
|
You can also use Dopey as a module:
|
|
|
|
```python
|
|
from dopey import Interpreter
|
|
|
|
interpreter = Interpreter()
|
|
interpreter.execute("++[>++<-]>.")
|
|
```
|
|
|
|
## Contributing
|
|
|
|
Pull requests are welcome. For major changes, please open an issue first to discuss what you'd like to change.
|
|
|
|
## License
|
|
|
|
[MIT](https://choosealicense.com/licenses/mit/)
|