$$ = 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; }