From fafd290ed990aa2bef34b44fe373175eb6133093 Mon Sep 17 00:00:00 2001 From: Tyler Murphy Date: Thu, 13 Apr 2023 17:04:05 -0400 Subject: brainfucked --- src/main.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main.c (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..ac5e0f7 --- /dev/null +++ b/src/main.c @@ -0,0 +1,39 @@ +#include "program.h" +#include "interpreter.h" + +#include +#include +#include +#include +#include +#include + +/// < Move pointer left +/// > Move pointer right +/// + Increment cell by one +/// - Decrement cell by one +/// [ Jump past the matching ] if the cell at the pointer is 0 +/// ] Jump back to the matching [ if the cell at the pointer is nonzero +/// . Output ascii at current cell +/// , Input ascii into current cell +/// * Allocate new tape size of current cell and replace with pointer +/// ! Free allocated pointer in current cell +/// ( Go to tape at pointer in current cell +/// ) Leave tape last entered +/// ` Output null terminated string at current cell +/// ~ Input string into current cells with max length in current cell +/// % Clear screen + +int main(int argc, char** argv) { + if (argc != 2) { + printf("usage: brainfucked infile\n"); + return EXIT_FAILURE; + } + + Program program; + program_init(argv[1], &program); + run_program(&program); + program_free(&program); + + return EXIT_SUCCESS; +} -- cgit v1.2.3-freya