From a010bac56a8ba4e171aa6c3d2fd35317e14e566d Mon Sep 17 00:00:00 2001 From: Mart Lubbers Date: Wed, 16 May 2018 14:00:12 +0200 Subject: [PATCH] Support multiargument lambda's --- lambda.y | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lambda.y b/lambda.y index e65a644..830fa99 100644 --- a/lambda.y +++ b/lambda.y @@ -101,10 +101,15 @@ appterm $$ = make_ident($1->data.identifier); lambda_free($1); } - | LAMBDA IDENT DOT term + | LAMBDA abstraction + { $$ = $2; } + | OBRACE term CBRACE + { $$ = $2; } +abstraction + : IDENT abstraction { - $$ = make_abstraction($2->data.identifier, $4); - lambda_free($2); + $$ = make_abstraction($1->data.identifier, $2); + lambda_free($1); } - | OBRACE term CBRACE + | DOT term { $$ = $2; } -- 2.20.1