summaryrefslogtreecommitdiff
path: root/comp/lucas-standen-NEA/code/tokenizer/parser.c
diff options
context:
space:
mode:
authorstandenboy <standenboy@seacrossedlovers.xyz>2024-05-16 18:39:21 +0100
committerstandenboy <standenboy@seacrossedlovers.xyz>2024-05-16 18:39:21 +0100
commitdc28082a9ba55dac68883cb7b26514f921aa8edd (patch)
tree563c3b1c3f177f79e7e301b079b1d56f5904c384 /comp/lucas-standen-NEA/code/tokenizer/parser.c
parent14b5defaa1a106afd51e3c64f6791e1ed081feea (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.c37
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);
+}