From f8d9068012d089f6f2ca40775ccb73883456e30d Mon Sep 17 00:00:00 2001 From: Nicolas PENELOUX Date: Tue, 24 Oct 2023 20:01:38 +0200 Subject: [PATCH] fix Pattern Tuple issue, add to much ( and ) --- flap/src/hopix/hopixParser.mly | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/flap/src/hopix/hopixParser.mly b/flap/src/hopix/hopixParser.mly index cd1cec1..80e38e5 100644 --- a/flap/src/hopix/hopixParser.mly +++ b/flap/src/hopix/hopixParser.mly @@ -167,9 +167,14 @@ simple_pattern: PWildcard } /* N-uplets ou parenthésage */ -| LPAREN p=optionlist(separated_nonempty_list(COMMA, located(pattern))) RPAREN { - PTuple(p) - } +| LPAREN RPAREN { + PTuple([]) +} +| l=pattern_list { + match l with | [alone] -> Position.value alone | _ -> PTuple(l) +} + + /* Annotation de type */ | p=located(simple_pattern) COLON ty=located(ty) { PTypeAnnotation(p, ty) @@ -341,7 +346,7 @@ expression: Define(vd, e) } /* Fonction anonyme */ -| BACKSLASH p=located(pattern) ARROW e=located(expression) { +| BACKSLASH p=located(pattern) ARROW e=located(expression){ Fun(FunctionDefinition(p, e)) } /* Application */