All Projects → felko → bfpy

felko / bfpy

Licence: MIT license
Python to Brainfuck transpiler

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to bfpy

BrainF.Net
A .NET brainfuck code parsing and execution library
Stars: ✭ 23 (-41.03%)
Mutual labels:  brainfuck
smpl
A superset of brainfuck with dynamic memory management.
Stars: ✭ 22 (-43.59%)
Mutual labels:  brainfuck
brainfuck-game-engine
A brainfuck game engine -- because life wasn't hard enough before
Stars: ✭ 22 (-43.59%)
Mutual labels:  brainfuck
AshBF
Over-engineered Brainfuck optimizing compiler and interpreter
Stars: ✭ 14 (-64.1%)
Mutual labels:  brainfuck
brainsuck
A simple optimizing Brainfuck compiler (used as the demo for my QCon Beijing 2015 talk)
Stars: ✭ 55 (+41.03%)
Mutual labels:  brainfuck
asmbf
The only true brainfuck-targetting assembler.
Stars: ✭ 81 (+107.69%)
Mutual labels:  brainfuck
ojisan f-ck
おじさん風文章を解釈して動く Brainfuck interpreter
Stars: ✭ 20 (-48.72%)
Mutual labels:  brainfuck
brainfuck
Brainfuck interpreter companion to the brain programming language
Stars: ✭ 32 (-17.95%)
Mutual labels:  brainfuck
bfpile
Optimizing Brainfuck compiler, transpiler and interpreter
Stars: ✭ 19 (-51.28%)
Mutual labels:  brainfuck
yams
YAMS: Awesome MIPS Server
Stars: ✭ 17 (-56.41%)
Mutual labels:  brainfuck
FasterBrainfuckProgramming
This project is to make brainfuck language programming easier, faster and more powerful .. everything is made out of functions making it very easy to port to other languages
Stars: ✭ 19 (-51.28%)
Mutual labels:  brainfuck
harbor
A language that ports⚓: examining the limits of compilation⚙️.
Stars: ✭ 81 (+107.69%)
Mutual labels:  brainfuck
uwuscript
World's first uwu-oriented language.
Stars: ✭ 75 (+92.31%)
Mutual labels:  brainfuck
bf256
Brainfuck compiler under 256 bytes in size.
Stars: ✭ 21 (-46.15%)
Mutual labels:  brainfuck
bfloader
🧠 Brainfuck IDE and interpreter in 512 bytes. (boot sector)
Stars: ✭ 41 (+5.13%)
Mutual labels:  brainfuck
Klipse
Klipse is a JavaScript plugin for embedding interactive code snippets in tech blogs.
Stars: ✭ 2,841 (+7184.62%)
Mutual labels:  brainfuck
BF-it
A C-like language to Brainfuck compiler, written in Python
Stars: ✭ 101 (+158.97%)
Mutual labels:  brainfuck
rathilang
A small gift for someone who did big things (Python Package)
Stars: ✭ 14 (-64.1%)
Mutual labels:  brainfuck
emuStudio
Universal emulation platform and framework.
Stars: ✭ 28 (-28.21%)
Mutual labels:  brainfuck
flufflepuff
Fluffle Puff Programming Language
Stars: ✭ 23 (-41.03%)
Mutual labels:  brainfuck

bfpy

Python to Brainfuck transpiler

What is BFPY

BFPY is an alternative Python runtime that uses Brainfuck as a bytecode.

How does BFPY works ?

BFPY uses the standard dis module to disassemble a given Python function, and translates one by one each bytecode instruction. It uses the Brainfuck memory as a stack like a virtual machine would.

Why BFPY ?

Boredom.

What is currently implemented ?

For instance, BFPY can only translate arithmetic operations (addition, subtraction, multiplication, floor division and power). There is still a lot of features to implement for it to be a proper Python runtime alternative

What remains to be implemented ?

I still have to translate more bytecode instruction to Brainfuck, but most can't be translated as long as I don't allow Brainfuck to deal with more types (not just bytes, but also characters, integers, lists, and maybe dictionaries).

I plan on implementing those types by loading the memory with a bytearray given by a serialization of the said object, using marshal, but I don't know yet how to expand a single stack element size to support multiple bytes.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].