-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.c
30 lines (26 loc) · 880 Bytes
/
main.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include "lexer.h"
#include "parser.h"
#include "types.h"
int main(int argc, char **argv) {
if (argc == 0) {
printf("error: no source file provided");
printf("usage: ./compile source");
exit(0);
}
// lexical analysis
source = fopen(argv[1], "r");
printf("***********************\nLexical Analysis Start!\n***********************\n");
next_symbol();
fclose(source);
printf("\n############\nSymbol Table\n############\n\n");
print_symbols();
printf("\n########\nID Table\n########\n\n");
print_ids();
init_parse_table();
printf("\n****************************\nLexical Analysis Successful!\n****************************\n\n");
printf("**********************\nSyntax Analysis Start!\n**********************\n\n");
parse();
printf("***************************\nSyntax Analysis Successful!\n***************************\n\n");
return 0;
}