diff options
author | thing1 <thing1@seacrossedlovers.xyz> | 2024-08-07 18:14:59 +0100 |
---|---|---|
committer | thing1 <thing1@seacrossedlovers.xyz> | 2024-08-07 18:14:59 +0100 |
commit | d4c7c945be76efd7bcc25d1a84455be465876bba (patch) | |
tree | 738522dfa962a3e15f34e2ed56833dcfa3a96f3b /comp/lucas-standen-NEA/code | |
parent | fec2f4d9d1989feb0290dfcff416385ec4b97586 (diff) |
added too much stuff, my head hurts@
Diffstat (limited to 'comp/lucas-standen-NEA/code')
-rwxr-xr-x | comp/lucas-standen-NEA/code/proto/parser/test | bin | 29656 -> 29728 bytes | |||
-rw-r--r-- | comp/lucas-standen-NEA/code/tokenizer/parser.c | 15 | ||||
-rw-r--r-- | comp/lucas-standen-NEA/code/tokenizer/parser.h | 2 | ||||
-rw-r--r-- | comp/lucas-standen-NEA/code/zpy/Makefile | 2 | ||||
-rwxr-xr-x | comp/lucas-standen-NEA/code/zpy/zpy | bin | 30248 -> 30432 bytes | |||
-rw-r--r-- | comp/lucas-standen-NEA/code/zpy/zpy.c | 7 |
6 files changed, 17 insertions, 9 deletions
diff --git a/comp/lucas-standen-NEA/code/proto/parser/test b/comp/lucas-standen-NEA/code/proto/parser/test Binary files differindex 260bab6..6989562 100755 --- a/comp/lucas-standen-NEA/code/proto/parser/test +++ b/comp/lucas-standen-NEA/code/proto/parser/test diff --git a/comp/lucas-standen-NEA/code/tokenizer/parser.c b/comp/lucas-standen-NEA/code/tokenizer/parser.c index d4fec18..81ddde1 100644 --- a/comp/lucas-standen-NEA/code/tokenizer/parser.c +++ b/comp/lucas-standen-NEA/code/tokenizer/parser.c @@ -57,11 +57,13 @@ FILE *preProcess(char *contents){ } char **getExpressions(char *file){ + char **code = CheckedMalloc((strlen(file)/2)*sizeof(char *)); + int counter = 0; int depth = 0; char *str = CheckedMalloc(strlen(file)+1); int pos = 0; for (int i = 0; i < strlen(file); i++){ - str[pos] = str[i]; + str[pos] = file[i]; pos++; if (file[i] == '(') depth++; @@ -71,14 +73,16 @@ char **getExpressions(char *file){ if (depth == 0) { str[pos] = '\0'; printf("%s\n", str); + code[counter] = str; + counter++; pos = 0; } } - - return NULL; + return code; + } -char *parser(char *fileName){ +char **parser(char *fileName){ FILE *tmp = preProcess(readFile(fileName)); fseek(tmp, 0, SEEK_END); int len = ftell(tmp); @@ -86,6 +90,5 @@ char *parser(char *fileName){ char *buf = CheckedMalloc(len); fgets(buf, len, tmp); fclose(tmp); - getExpressions(buf); - return buf; + return getExpressions(buf); } diff --git a/comp/lucas-standen-NEA/code/tokenizer/parser.h b/comp/lucas-standen-NEA/code/tokenizer/parser.h index 496bdbc..09375d3 100644 --- a/comp/lucas-standen-NEA/code/tokenizer/parser.h +++ b/comp/lucas-standen-NEA/code/tokenizer/parser.h @@ -1 +1 @@ -char *parser(char *fileName); // general parser function +char **parser(char *fileName); // general parser function diff --git a/comp/lucas-standen-NEA/code/zpy/Makefile b/comp/lucas-standen-NEA/code/zpy/Makefile index 3bd6ea1..4bfe92a 100644 --- a/comp/lucas-standen-NEA/code/zpy/Makefile +++ b/comp/lucas-standen-NEA/code/zpy/Makefile @@ -1,2 +1,2 @@ -zpy: +zpy: zpy.c cc zpy.c ../global/util.o ../tokenizer/parser.o -o zpy -ggdb diff --git a/comp/lucas-standen-NEA/code/zpy/zpy b/comp/lucas-standen-NEA/code/zpy/zpy Binary files differindex b7479f6..f3a466f 100755 --- a/comp/lucas-standen-NEA/code/zpy/zpy +++ b/comp/lucas-standen-NEA/code/zpy/zpy diff --git a/comp/lucas-standen-NEA/code/zpy/zpy.c b/comp/lucas-standen-NEA/code/zpy/zpy.c index 70d2757..411a824 100644 --- a/comp/lucas-standen-NEA/code/zpy/zpy.c +++ b/comp/lucas-standen-NEA/code/zpy/zpy.c @@ -2,6 +2,7 @@ #include "../tokenizer/parser.h" #include "../global/types.h" +#include "../tokenizer/tokenizer.h" #include "../global/util.h" int main(int argc, char **argv){ @@ -9,6 +10,10 @@ int main(int argc, char **argv){ printf("repl not yet implemented\n"); Die(); } - parser(argv[1]); + char **file = parser(argv[1]); + + for (int i = 0; i < 10; i++){ + printf("%s\n", file[i]); + } return 0; } |