summaryrefslogtreecommitdiff
path: root/Source/Dafny/Parser.cs
diff options
context:
space:
mode:
authorGravatar qunyanm <unknown>2016-02-26 12:37:46 -0800
committerGravatar qunyanm <unknown>2016-02-26 12:37:46 -0800
commitb3d6306759e450a5d004b6581e0bf3b891b93fa5 (patch)
tree8b076b9d8c54ca6e0827dc1874403724b1633f06 /Source/Dafny/Parser.cs
parent62f42e257fd72498e692c7ce8aaee339ad5322e6 (diff)
Fix issue 138. Allow parenthese with the nullary constructor in
"case" of a match statement and match expression.
Diffstat (limited to 'Source/Dafny/Parser.cs')
-rw-r--r--Source/Dafny/Parser.cs20
1 files changed, 12 insertions, 8 deletions
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<Expression/*!*/>/*!*/ 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<Expression/*!*/>/*!*/ 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);
}