summaryrefslogtreecommitdiff
path: root/lc.c
diff options
context:
space:
mode:
Diffstat (limited to 'lc.c')
-rw-r--r--lc.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/lc.c b/lc.c
index 651ed95..6518b4a 100644
--- a/lc.c
+++ b/lc.c
@@ -1,20 +1,26 @@
#include <stdio.h>
#include <stdlib.h>
#include "lexer.h"
+#include "parser.h"
int main(void)
{
- char *src = "12.3";
+ FILE *fp = fopen("examples/hello_world.ll", "r");
+ fseek(fp, 0, SEEK_END);
+ size_t length = ftell(fp);
+ fseek(fp, 0, SEEK_SET);
+
+ char *src = malloc(length + 1);
+ fread(src, 1, length, fp);
+ src[length] = '\0';
token *head = lexer_parse(src);
if (!head) {
printf("Parsing error!\n");
exit(1);
}
- while (head->next) {
- head = head->next;
- printf("%d -> %.*s\n", head->type, head->length, head->lexeme);
- free(head->prev);
- }
+
+ ir_parse(head);
+
return 0;
}