diff options
author | tomsmeding <tom.smeding@gmail.com> | 2016-08-24 22:51:28 +0200 |
---|---|---|
committer | tomsmeding <tom.smeding@gmail.com> | 2016-08-24 22:51:28 +0200 |
commit | 0d339ae7bf88443df5968d605aeca146dd78e0c3 (patch) | |
tree | 31263fc97c77059696a7fd2470ff40120b510ed8 /ast.c | |
parent | 43d1244d4d3f5680c84ed840eb8876292c3fd49c (diff) |
Diffstat (limited to 'ast.c')
-rw-r--r-- | ast.c | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -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; |