From 657547268509ba651574ec6ab1196f2e027eada3 Mon Sep 17 00:00:00 2001 From: Mart Lubbers Date: Wed, 23 May 2018 13:34:44 +0200 Subject: [PATCH] change printing --- print.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/print.c b/print.c index 9e6280c..02fcc16 100644 --- a/print.c +++ b/print.c @@ -27,12 +27,19 @@ void term_print(struct lambda *t, struct lambda *mark) term_print(t, mark); break; case lambda_app: - putchar('('); + if(t->data.application.expr1->which == lambda_abs) + putchar('('); term_print(t->data.application.expr1, mark); if(t->data.application.expr1->which == lambda_abs) - printf(") ("); + putchar(')'); + + putchar(' '); + + if(t->data.application.expr2->which == lambda_abs) + putchar('('); term_print(t->data.application.expr2, mark); - putchar(')'); + if(t->data.application.expr2->which == lambda_abs) + putchar(')'); break; } if(t == mark) @@ -42,5 +49,5 @@ void term_print(struct lambda *t, struct lambda *mark) void lambda_print(struct lambda *t, struct lambda *mark) { term_print(t, mark); - printf("\n;"); + putchar('\n'); } -- 2.20.1