Name | Modified | Size | Downloads / Week |
---|---|---|---|
Makefile | 2013-02-19 | 247 Bytes | |
install.sh | 2013-02-19 | 89 Bytes | |
lex.cc | 2013-02-19 | 2.6 kB | |
main.cc | 2013-02-19 | 694 Bytes | |
brainfuckassembler.h | 2013-02-19 | 2.2 kB | |
brainfuckassembler.ih | 2013-02-19 | 793 Bytes | |
brainfuckassemblerbase.h | 2013-02-19 | 2.4 kB | |
brainfuckassembler.cc | 2013-02-19 | 6.1 kB | |
grammar | 2013-02-19 | 3.1 kB | |
parse.cc | 2013-02-19 | 28.5 kB | |
bf2c.c | 2013-02-19 | 1.3 kB | |
bfa.tar | 2013-02-19 | 61.4 kB | |
example | 2013-02-19 | 168 Bytes | |
README | 2013-02-19 | 1.4 kB | |
Totals: 14 Items | 110.9 kB | 0 |
To install, make the install.sh script executable: $ chmod u+x install.sh And run: $ ./install.sh This should generate 2 executables: - bfa - bf2c The first is the BrainFuck assembler, which can be used to translate a readable source file (it is a made-up language for which I have no name yet, you are welcome to contribute) into the BrainFuck Language. The resulting BrainFuck-source can then be translated using the second executable: bf2c. This will generate a C-source file which can be compiled with a C-compiler of your choice. The language of the input source supports the following (C-like) operators: + (addition) - (subtraction) * (multiplication) / (division) % (modulus) = (assignment) += (addition assignment) -= (subtraction assignment) *= (multiplication assignment) /= (division assignment) %= (modulus assignment) Also, I/O is implemented using the 'print' and 'scan' operators. For example, the statement 'print x' will print the value of 'x' to stdout and 'scan x' will read a value from stdin and store this in the variable 'x'. The variables do not have to be declared before usage. On first use, a variable is automatically allocated and initialized to 0. I have not implemented a deallocation function yet. An example source-file is included to get you started. ./bfa example example.bf ./bf2c example.bf example.c gcc example.c ./a.out Happy BrainFucking! jorenheit@gmail.com