diff options
author | standenboy <standenboy@seacrossedlovers.xyz> | 2024-05-16 18:39:21 +0100 |
---|---|---|
committer | standenboy <standenboy@seacrossedlovers.xyz> | 2024-05-16 18:39:21 +0100 |
commit | dc28082a9ba55dac68883cb7b26514f921aa8edd (patch) | |
tree | 563c3b1c3f177f79e7e301b079b1d56f5904c384 /comp/lucas-standen-NEA/code/tokenizer/parser.c | |
parent | 14b5defaa1a106afd51e3c64f6791e1ed081feea (diff) |
added a load of files
Diffstat (limited to 'comp/lucas-standen-NEA/code/tokenizer/parser.c')
-rw-r--r-- | comp/lucas-standen-NEA/code/tokenizer/parser.c | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/comp/lucas-standen-NEA/code/tokenizer/parser.c b/comp/lucas-standen-NEA/code/tokenizer/parser.c new file mode 100644 index 0000000..9ac9fde --- /dev/null +++ b/comp/lucas-standen-NEA/code/tokenizer/parser.c @@ -0,0 +1,37 @@ +#include <stdio.h> +#include <stdlib.h> + +#include "util.h" + +char *Parse(char *fileName); // general parser function + +char *ReadFile(char *fileName); // reads the file into a single var + +char *ReadFile(char *filename){ + FILE *f = fopen(filename, "r"); + if (f == NULL) + Die(); + + fseek(f, 0, SEEK_END); + size_t len = ftell(f); + rewind(f); + + char *out = malloc(len+1); + + char c; + for (int i = 0; i < len; i++){ + c = fgetc(f); + if (c == '\n' || c == '\t') + out[i] = ' '; + else + out[i] = c; + } + out[len+1] = '\0'; + + fclose(f); + return out; +} + +char *Parser(char *fileName){ + return ReadFile(fileName); +} |