From b3d6306759e450a5d004b6581e0bf3b891b93fa5 Mon Sep 17 00:00:00 2001 From: qunyanm Date: Fri, 26 Feb 2016 12:37:46 -0800 Subject: Fix issue 138. Allow parenthese with the nullary constructor in "case" of a match statement and match expression. --- Source/Dafny/Parser.cs | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'Source/Dafny/Parser.cs') diff --git a/Source/Dafny/Parser.cs b/Source/Dafny/Parser.cs index 8a1da161..f64ba7fa 100644 --- a/Source/Dafny/Parser.cs +++ b/Source/Dafny/Parser.cs @@ -3244,12 +3244,14 @@ List/*!*/ decreases, ref Attributes decAttrs, ref Attributes mo name = id.val; if (la.kind == 50) { Get(); - CasePattern(out pat); - arguments.Add(pat); - while (la.kind == 22) { - Get(); + if (la.kind == 1 || la.kind == 50) { CasePattern(out pat); arguments.Add(pat); + while (la.kind == 22) { + Get(); + CasePattern(out pat); + arguments.Add(pat); + } } Expect(51); } @@ -4562,12 +4564,14 @@ List/*!*/ decreases, ref Attributes decAttrs, ref Attributes mo name = id.val; if (la.kind == 50) { Get(); - CasePattern(out pat); - arguments.Add(pat); - while (la.kind == 22) { - Get(); + if (la.kind == 1 || la.kind == 50) { CasePattern(out pat); arguments.Add(pat); + while (la.kind == 22) { + Get(); + CasePattern(out pat); + arguments.Add(pat); + } } Expect(51); } -- cgit v1.2.3