Browse Source

fix yet another left-factor parser case

Simon Krajewski 9 months ago
parent
commit
0620b1b1c7
1 changed files with 5 additions and 2 deletions
  1. 5 2
      src/syntax/grammar.mly

+ 5 - 2
src/syntax/grammar.mly

@@ -43,8 +43,11 @@ let psep sep f = parser
 	| [< >] -> []
 
 let rec psep_trailing sep f = parser
-	| [< v = f; '(sep2,_) when sep2 = sep; l = psep_trailing sep f >] -> v :: l
-	| [< v = f >] -> [v]
+	| [< v = f; s >] ->
+		begin match s with parser
+		| [< '(sep2,_) when sep2 = sep; l = psep_trailing sep f >] -> v :: l
+		| [< >] -> [v]
+		end
 	| [< >] -> []
 
 let pignore f =