summaryrefslogtreecommitdiffstats
path: root/parsing/parser.mly
diff options
context:
space:
mode:
authorJacques Garrigue <garrigue at math.nagoya-u.ac.jp>2014-01-10 07:53:33 +0000
committerJacques Garrigue <garrigue at math.nagoya-u.ac.jp>2014-01-10 07:53:33 +0000
commit3b4d7cf63b889b86c33efcbbe79f9937b663b9f6 (patch)
treebefe14b04b00480f16f1b79de58f38eba00936f4 /parsing/parser.mly
parent4a25508fc253019e936460396328b22554f83050 (diff)
parentd90b126bd428999d767ef4db4c5d3b05eb27c345 (diff)
Merge module-alias branch (cf. PR#6063)
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@14394 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'parsing/parser.mly')
-rw-r--r--parsing/parser.mly9
1 files changed, 8 insertions, 1 deletions
diff --git a/parsing/parser.mly b/parsing/parser.mly
index 7f23730f3..19d1fd6db 100644
--- a/parsing/parser.mly
+++ b/parsing/parser.mly
@@ -676,6 +676,8 @@ module_type:
{ mkmty(Pmty_with($1, List.rev $3)) }
| MODULE TYPE OF module_expr %prec below_LBRACKETAT
{ mkmty(Pmty_typeof $4) }
+ | LPAREN MODULE mod_longident RPAREN
+ { mkmty (Pmty_alias (mkrhs $3 3)) }
| LPAREN module_type RPAREN
{ $2 }
| LPAREN module_type error
@@ -701,7 +703,8 @@ signature_item:
VAL val_ident COLON core_type post_item_attributes
{ mksig(Psig_value
(Val.mk (mkrhs $2 2) $4 ~attrs:$5 ~loc:(symbol_rloc()))) }
- | EXTERNAL val_ident COLON core_type EQUAL primitive_declaration post_item_attributes
+ | EXTERNAL val_ident COLON core_type EQUAL primitive_declaration
+ post_item_attributes
{ mksig(Psig_value
(Val.mk (mkrhs $2 2) $4 ~prim:$6 ~attrs:$7
~loc:(symbol_rloc()))) }
@@ -711,6 +714,10 @@ signature_item:
{ mksig(Psig_exception $2) }
| MODULE UIDENT module_declaration post_item_attributes
{ mksig(Psig_module (Md.mk (mkrhs $2 2) $3 ~attrs:$4)) }
+ | MODULE UIDENT EQUAL mod_longident post_item_attributes
+ { mksig(Psig_module (Md.mk (mkrhs $2 2)
+ (Mty.alias ~loc:(rhs_loc 4) (mkrhs $4 4))
+ ~attrs:$5)) }
| MODULE REC module_rec_declarations
{ mksig(Psig_recmodule (List.rev $3)) }
| MODULE TYPE ident post_item_attributes