Java compiler from BrainFuck code to text
- Go to
BrainFuckCompilerOOP/src/main/
directory. - Open CMD
- Run command
brainfuck "%COMMAND%"
where%COMMAND%
is your command
C:\BrainFuckCompilerOOP\src\main>brainfuck "++++++++++++++++++++++++++++++++++++++."
&
Write a Java program that runs a program written in the language Brainfuck
Input: Brainfuck line of instructions
++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.
Output: a string containing the output of a executed program
Hello World!
The implementation of the program should consist of 2 stages:
- Compilation. An input line is used to construct a data model using the principles OOP and design patterns.
- Execution. To execute the program according to the constructed model, without access to the original line.
The input command ,
does not need to be supported
Write the necessary Unіt and functional tests.
Java 8, Gradle, Github.
> increment the data pointer (to point to the next cell to the right).
< decrement the data pointer (to point to the next cell to the left).
+ increment (increase by one) the byte at the data pointer.
- decrement (decrease by one) the byte at the data pointer.
. output the byte at the data pointer.
, accept one byte of input, storing its value in the byte at the data pointer.
[ if the byte at the data pointer is zero, then instead of moving the instruction pointer forward to the next command, jump it forward to the command after the matching ] command.
] if the byte at the data pointer is nonzero, then instead of moving the instruction pointer forward to the next command, jump it back to the command after the matching [ command.