Skip to main content

Makes Brainfucking Easier!

Project description

# BFFuck

Makes brainfucking easier

This is a work in progress

The tools is an esoteric language that compiles to brainfuck, using algorithms in [brainfuck algorithms](https://esolangs.org/wiki/Brainfuck_algorithms).

### Usage: Run this in Python: `python from bffuck import BFFuck bff=BFFuck() bf=bff.compile('Your code') `

Note that if a BFFuck object is created and used, its status will change and therefore cannot compile another program. ### Syntax BFFuck currently supports the following syntax:

Comment: ` # Comment ` Variable definition: `text <variable 1>=<variable 2> or <variable>=<number> `

Addition: `text add(x,<number>) or add(x,<variable>) `

Subtraction: ` sub(x,<number>) or sub(x,<variable>) `

Multiplication: ` mul(x,<number>) or mul(x,<variable>) `

While loop: `text while(<variable or number>) CODE endwhile `

I/O: `text <variable>=in # Reads <variable> as decimal integer <variable>=inc # Reads <variable> as ASCII character out(<variable or number>) # Outputs <variable> as decimal integer outc(<variable or number>) # Outputs <variable> as ASCII character `

String output shortcut: `text print(STRING) # Without quotes # For instance print(Hello World!) `

One-branch if statement: `text if(<variable or number>) CODE endif `

### Platform BFFuck is in pure Python and therefore it supports any platform.

### Constraints Programs compiled from BFFuck needs you to have 8 bit cells that wrap.

### Disadvantages BFFuck currently has these disadvantages: 1. It’s numbers are 8 bit numbers. 2. It has some bugs.

The repository contains some examples, including a Hello World program, a cat program and an A+B program.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

BFFuck-1.0.0.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

BFFuck-1.0.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file BFFuck-1.0.0.tar.gz.

File metadata

  • Download URL: BFFuck-1.0.0.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.0

File hashes

Hashes for BFFuck-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3d84bd49862beb061615ae7c0d73a62b562718887a49b79db6eaa1982dbfe7fb
MD5 5aa37597ca11e147f4927767a75216e3
BLAKE2b-256 2ee017bb4ce700c7dd00f9dcf61c9c198a4327982bbd5ca38c4b22d0ba5af5db

See more details on using hashes here.

File details

Details for the file BFFuck-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: BFFuck-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.7.0

File hashes

Hashes for BFFuck-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 902c859f0c023b21482f1bcf99ad2fbc27706ad58b90b5c798ed8aefdc34e8fd
MD5 b1174ec8d0b16e308787e369461e5771
BLAKE2b-256 9d744d0cce8b9bcc1c609b3356cfec5df3472804357275503593679f23740910

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page