From 0d339ae7bf88443df5968d605aeca146dd78e0c3 Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Wed, 24 Aug 2016 22:51:28 +0200 Subject: If; logical operators --- ast.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'ast.c') diff --git a/ast.c b/ast.c index 7456ee3..07e2006 100644 --- a/ast.c +++ b/ast.c @@ -142,6 +142,27 @@ static void ast_stringify_(const AST *ast,Buffer *buf){ buf_append(buf,")",1); break; + case AST_LAMBDA: + buf_append(buf,"[[lambda ",9); + if(ast->la.cfunc)buf_append(buf,"cfunc]]",7); + else { + buf_append(buf,"body ",5); + ast_stringify_(ast->la.body,buf); + buf_append(buf,"]]",2); + } + break; + + case AST_LAMBDAARG:{ + buf_append(buf,"[[lambdaArg ",12); + char *s; + int len=asprintf(&s,"%d",ast->ar.idx); + if(!s)outofmem(); + buf_append(buf,s,len); + free(s); + buf_append(buf,"]]",2); + break; + } + case AST_WORD: buf_append(buf,ast->wo.word,strlen(ast->wo.word)); break; -- cgit v1.2.3-70-g09d2