new generated file + genscript + skeleton of interpreter

This commit is contained in:
e.gavrin
2014-07-02 16:42:03 +04:00
parent 604771248f
commit eb38816fc4
10 changed files with 651 additions and 376 deletions
+20 -30
View File
@@ -18,13 +18,22 @@
#include <string.h>
#include "error.h"
#include "lexer.h"
#include "parser.h"
#include "pretty-printer.h"
#include "ctx-manager.h"
#include "mem-allocator.h"
#include "interpreter.h"
#include "generated.h"
void fake_exit ();
void
fake_exit (void)
{
for (;;);
}
int
main (int argc, char **argv)
{
@@ -58,36 +67,17 @@ main (int argc, char **argv)
file = fopen (file_name, "r");
if (file == NULL)
{
fatal (ERR_IO);
if (dump_tokens)
{
token tok;
lexer_set_file (file);
tok = lexer_next_token ();
pp_reset ();
while (tok.type != TOK_EOF)
{
pp_token (tok);
tok = lexer_next_token ();
}
}
if (dump_ast)
{
statement *st;
lexer_set_file (file);
parser_init ();
st = parser_parse_statement ();
assert (st);
while (st->type != STMT_EOF)
{
pp_statement (st);
st = parser_parse_statement ();
assert (st);
}
pp_finish ();
}
//gen_bytecode (generated_source);
gen_bytecode (file);
run_int ();
#ifdef __TARGET_MCU
fake_exit ();
#endif
return 0;
}