chore: update README and logo
This commit is contained in:
60
README.md
60
README.md
@@ -1,54 +1,66 @@
|
||||
# dopey - Another Brainf*ck Interpreter
|
||||
[](https://lgtm.com/projects/g/gio101046/dopey/alerts/)
|
||||
[](https://lgtm.com/projects/g/gio101046/dopey/context:python)
|
||||
[](https://pypi.org/project/dopey/)
|
||||
# dopey — Another Brainf\*ck Interpreter
|
||||
|
||||
Dopey is a brainf\*ck interpreter. It fully implements all the features of brainf\*ck as defined [here](https://en.wikipedia.org/wiki/Brainfuck#Language_design).
|
||||
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).
|
||||
|
||||
## Demo
|
||||

|
||||
<p align="center">
|
||||
<img src="logo.png" alt="Dopey Logo" width="300" height="300">
|
||||
</p>
|
||||
|
||||
## Implemetation Limitations
|
||||
## Features
|
||||
|
||||
Dopey is limited to a memory buffer of **30,000** byte cells all initialized to zero. Any attempts to move the pointer past the bounds of the memory buffer will result in an exception being raised. Attempting to print any cell with a value outside of the defined ASCII characters may also result in an exception.
|
||||
* 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
|
||||
|
||||
Make sure you've installed Python 3. You can download and install Python 3 at [python.org](https://www.python.org/downloads/).
|
||||
Python 3 is required. You can install it from [python.org](https://www.python.org/downloads/).
|
||||
|
||||
Verify you have Python 3 installed by running the following:
|
||||
To verify installation:
|
||||
|
||||
```bash
|
||||
python --version
|
||||
```
|
||||
or in some systems
|
||||
```bash
|
||||
# or
|
||||
python3 --version
|
||||
```
|
||||
|
||||
## Installing
|
||||
## Installation
|
||||
|
||||
You can install dopey using `pip`. From the command line:
|
||||
Install Dopey using pip:
|
||||
|
||||
```bash
|
||||
# use pip python package manager to install dopey
|
||||
$ pip install dopey
|
||||
|
||||
# run dopey using python
|
||||
$ python -m dopey my-bf-file.bf
|
||||
pip install dopey
|
||||
```
|
||||
|
||||
You can also import an interpreter class included with dopey and use it in your own python scripts.
|
||||
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("[brainf*ck code]++-->><<++--")
|
||||
interpreter.execute("++[>++<-]>.")
|
||||
```
|
||||
|
||||
## Contributing
|
||||
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
|
||||
|
||||
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/)
|
||||
|
||||
6
setup.py
6
setup.py
@@ -10,9 +10,9 @@ setup(
|
||||
description="A brainfuck interpreter made using python.",
|
||||
long_description=README,
|
||||
long_description_content_type="text/markdown",
|
||||
url="https://github.com/gio101046/dopey",
|
||||
author="Giovani Rodriguez",
|
||||
author_email="me@grodriguez.dev",
|
||||
url="https://gitea.redturtle.foo/crayonix/dopey",
|
||||
author="Giovani",
|
||||
author_email="giovani@boldquest.net",
|
||||
license="MIT",
|
||||
classifiers=[
|
||||
"License :: OSI Approved :: MIT License",
|
||||
|
||||
Reference in New Issue
Block a user