main.c (706B)
#include <stdio.h>
#include <stdbool.h>
#include "utils.h"
#include "types.h"
#include "lexer.h"
#include "parser.h"
int
main(int argc, char **argv) {
const char *filename;
file_t file;
struct lexer lexer;
struct parser parser;
if (argc < 2) {
const char *cmp = argv[0];
printf("usage: %s <filename.mty>\n", cmp);
return 0;
}
filename = argv[1];
file = read_file(filename);
printf("%s\n", file.contents);
lexer = (struct lexer){
.file = filename,
.src = file.contents,
.src_len = file.len,
};
lexer_lex(&lexer);
parser = (struct parser){
.lexer = &lexer,
};
parser_parse(&parser);
}