summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel de Rauglaudre <daniel.de_rauglaudre@inria.fr>1996-05-09 14:27:48 +0000
committerDaniel de Rauglaudre <daniel.de_rauglaudre@inria.fr>1996-05-09 14:27:48 +0000
commitaf1138b1c53dbf9e52e33b31435b30838c6ba7ad (patch)
tree9e914cc1f4b24851f24caf04fd37a633174927c1
parentdb7b02911b6ef4f0b41a0b6e12ffb8aa45b8da02 (diff)
Bar optionnel dans parser 1er cas
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@803 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r--parsing/parser.mly10
1 files changed, 5 insertions, 5 deletions
diff --git a/parsing/parser.mly b/parsing/parser.mly
index ac80d29f1..9456d6f15 100644
--- a/parsing/parser.mly
+++ b/parsing/parser.mly
@@ -363,16 +363,16 @@ expr:
{ mkexp(Pexp_apply($1, List.rev $2)) }
| LET rec_flag let_bindings IN expr %prec prec_let
{ mkexp(Pexp_let($2, List.rev $3, $5)) }
- | PARSER opt_pat parser_cases %prec prec_fun
- { Pstream.cparser ($2, List.rev $3) }
+ | PARSER opt_pat opt_bar parser_cases %prec prec_fun
+ { Pstream.cparser ($2, List.rev $4) }
| FUNCTION opt_bar match_cases %prec prec_fun
{ mkexp(Pexp_function(List.rev $3)) }
| FUN simple_pattern fun_def %prec prec_fun
{ mkexp(Pexp_function([$2, $3])) }
| MATCH expr WITH opt_bar match_cases %prec prec_match
{ mkexp(Pexp_match($2, List.rev $5)) }
- | MATCH expr WITH PARSER opt_pat parser_cases %prec prec_match
- { mkexp(Pexp_apply(Pstream.cparser ($5, List.rev $6), [$2])) }
+ | MATCH expr WITH PARSER opt_pat opt_bar parser_cases %prec prec_match
+ { mkexp(Pexp_apply(Pstream.cparser ($5, List.rev $7), [$2])) }
| TRY expr WITH opt_bar match_cases %prec prec_try
{ mkexp(Pexp_try($2, List.rev $5)) }
| expr_comma_list
@@ -528,7 +528,7 @@ stream_pattern_component:
;
opt_pat:
/* empty */ { None }
- | pattern { Some $1 }
+ | simple_pattern { Some $1 }
;
opt_err:
/* empty */ { None }