projects
/
cparser
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
more work on parser
[cparser]
/
main.c
diff --git
a/main.c
b/main.c
index
799f364
..
eb0c479
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-7,6
+7,7
@@
#include "lexer_t.h"
#include "token_t.h"
#include "lexer_t.h"
#include "token_t.h"
+#include "type_hash.h"
#include "parser.h"
#if 0
#include "parser.h"
#if 0
@@
-38,8
+39,6
@@
void get_output_name(char *buf, size_t buflen, const char *inputname,
static
void compile(const char *fname)
{
static
void compile(const char *fname)
{
- token_t token;
-
FILE *in = fopen(fname, "r");
if(in == NULL) {
fprintf(stderr, "Couldn't open '%s': %s\n", fname, strerror(errno));
FILE *in = fopen(fname, "r");
if(in == NULL) {
fprintf(stderr, "Couldn't open '%s': %s\n", fname, strerror(errno));
@@
-48,11
+47,16
@@
void compile(const char *fname)
lexer_open_stream(in, fname);
lexer_open_stream(in, fname);
+#if 0
+ token_t token;
do {
lexer_next_token(&token);
print_token(stdout, &token);
puts("");
} while(token.type != T_EOF);
do {
lexer_next_token(&token);
print_token(stdout, &token);
puts("");
} while(token.type != T_EOF);
+#else
+ parse();
+#endif
fclose(in);
}
fclose(in);
}
@@
-62,6
+66,9
@@
int main(int argc, char **argv)
init_symbol_table();
init_tokens();
init_lexer();
init_symbol_table();
init_tokens();
init_lexer();
+ init_types();
+ init_typehash();
+ init_ast();
init_parser();
for(int i = 1; i < argc; ++i) {
init_parser();
for(int i = 1; i < argc; ++i) {
@@
-69,6
+76,9
@@
int main(int argc, char **argv)
}
exit_parser();
}
exit_parser();
+ exit_ast();
+ exit_typehash();
+ exit_types();
exit_lexer();
exit_tokens();
exit_symbol_table();
exit_lexer();
exit_tokens();
exit_symbol_table();