diff options
author | Daniel de Rauglaudre <daniel.de_rauglaudre@inria.fr> | 1996-05-09 14:27:48 +0000 |
---|---|---|
committer | Daniel de Rauglaudre <daniel.de_rauglaudre@inria.fr> | 1996-05-09 14:27:48 +0000 |
commit | af1138b1c53dbf9e52e33b31435b30838c6ba7ad (patch) | |
tree | 9e914cc1f4b24851f24caf04fd37a633174927c1 | |
parent | db7b02911b6ef4f0b41a0b6e12ffb8aa45b8da02 (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.mly | 10 |
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 } |