From 2a232f8f42c0a7d5a7b648358a192c21865a55f6 Mon Sep 17 00:00:00 2001 From: Kai Stevenson Date: Sat, 10 Jun 2023 23:45:25 -0700 Subject: lexing works --- operetta.c | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 operetta.c (limited to 'operetta.c') diff --git a/operetta.c b/operetta.c new file mode 100644 index 0000000..5d71c0b --- /dev/null +++ b/operetta.c @@ -0,0 +1,37 @@ +#include +#include +#include "operetta.h" +#include "lexer.h" +#include "parse.h" +#include "proposition.h" + +int main(int argc, char** argv) { + /* read file */ + char* path = argv[1]; + char* content = read_file(path); + linkList_t* ll = lex_line(content); + linkList_t* l1 = ll; + while (1) { + token_t* t = (token_t*)l1->value; + printf("%d \n", t->type); + if (l1->next == NULL) { + break; + } + l1 = l1->next; + } + free(content); +} +char* read_file(char* path) { + FILE* file = fopen(path, "r"); + if (file == NULL) { + printf("file %s does not exist\n", path); + } + fseek(file, 0, SEEK_END); + unsigned long int length = ftell(file); + fseek(file, 0, SEEK_SET); + char* out = malloc((length + 1) * sizeof(char)); + fread(out, length, 1, file); + fclose(file); + out[length] = '\0'; + return out; +} -- cgit v1.3.1