summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>1996-04-04 15:56:46 +0000
committerXavier Leroy <xavier.leroy@inria.fr>1996-04-04 15:56:46 +0000
commitc4d10d8199213ce60075e30bc19b7b9fea0d94fd (patch)
treefd690c08251dec441aa8b39b85f20a4955c45f9c
parent4a3f111a0203c015a52187c42b78ce0ff0665a86 (diff)
Meilleur traitement du let _ = expr toplevel.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@738 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r--parsing/parser.mly8
1 files changed, 4 insertions, 4 deletions
diff --git a/parsing/parser.mly b/parsing/parser.mly
index eeac89256..6f5fae6d7 100644
--- a/parsing/parser.mly
+++ b/parsing/parser.mly
@@ -257,10 +257,10 @@ structure_tail:
| structure_item structure_tail { $1 :: $2 }
;
structure_item:
- LET UNDERSCORE EQUAL expr
- { mkstr(Pstr_eval $4) }
- | LET rec_flag let_bindings
- { mkstr(Pstr_value($2, List.rev $3)) }
+ LET rec_flag let_bindings
+ { match $3 with
+ [{ppat_desc = Ppat_any}, exp] -> mkstr(Pstr_eval exp)
+ | _ -> mkstr(Pstr_value($2, List.rev $3)) }
| EXTERNAL val_ident COLON core_type EQUAL primitive_declaration
{ mkstr(Pstr_primitive($2, {pval_type = $4; pval_prim = $6})) }
| TYPE type_declarations