From cac651cd88f8da1e5957b0cc13fa25d79e1887fc Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Tue, 23 Aug 2016 20:58:50 +0200 Subject: Many things - two-letter AST union members - AST_QUOTED - AST_LAMBDA - an interpreter that works - function registering in the interpreter - some builtins --- main.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'main.c') diff --git a/main.c b/main.c index 239e938..fefeafc 100644 --- a/main.c +++ b/main.c @@ -3,6 +3,7 @@ #include #include +#include "interpreter.h" #include "parser.h" #include "util.h" @@ -82,5 +83,20 @@ int main(int argc,char **argv){ char *s=ast_stringify(pr.ast); printf("%s\n",s); free(s); + + InterState *is=inter_make(); + inter_register_prelude(is); + InterRet ir=inter_runcode(is,pr.ast); + if(ir.errstr){ + fprintf(stderr,"\x1B[1;31m%s\x1B[0m\n",ir.errstr); + free(ir.errstr); + return 1; + } + s=ast_stringify(ir.ast); + printf("%s\n",s); + free(s); + ast_free(ir.ast); + inter_destroy(is); + ast_free(pr.ast); } -- cgit v1.2.3-54-g00ecf