diff options
Diffstat (limited to 'operetta.c')
| -rw-r--r-- | operetta.c | 37 |
1 files changed, 37 insertions, 0 deletions
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 <stdlib.h> +#include <stdio.h> +#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; +} |
