diff options
| author | sacerdot | 2005-01-13 14:28:56 +0000 |
|---|---|---|
| committer | sacerdot | 2005-01-13 14:28:56 +0000 |
| commit | 0224b036502016e9bd4e8b683af458248fdac4a9 (patch) | |
| tree | 6edb63dd6839906dc95c1c1c5ef29a25e1c67673 /contrib/interface | |
| parent | 204ca2560751eaa0fc00f6d5235fc81236855f1b (diff) | |
Construct "T with (Definition|Module) id := c" generalized to
"T with (Definition|Module) M1.M2....Mn.id := c" (in the ML style).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@6582 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'contrib/interface')
| -rw-r--r-- | contrib/interface/ascent.mli | 4 | ||||
| -rw-r--r-- | contrib/interface/vtp.ml | 4 | ||||
| -rw-r--r-- | contrib/interface/xlate.ml | 9 |
3 files changed, 9 insertions, 8 deletions
diff --git a/contrib/interface/ascent.mli b/contrib/interface/ascent.mli index dfe64d2274..09980413ae 100644 --- a/contrib/interface/ascent.mli +++ b/contrib/interface/ascent.mli @@ -467,8 +467,8 @@ and ct_MODULE_EXPR = | CT_module_app of ct_MODULE_EXPR * ct_MODULE_EXPR and ct_MODULE_TYPE = CT_coerce_ID_to_MODULE_TYPE of ct_ID - | CT_module_type_with_def of ct_MODULE_TYPE * ct_ID * ct_FORMULA - | CT_module_type_with_mod of ct_MODULE_TYPE * ct_ID * ct_ID + | CT_module_type_with_def of ct_MODULE_TYPE * ct_ID_LIST * ct_FORMULA + | CT_module_type_with_mod of ct_MODULE_TYPE * ct_ID_LIST * ct_ID and ct_MODULE_TYPE_CHECK = CT_coerce_MODULE_TYPE_OPT_to_MODULE_TYPE_CHECK of ct_MODULE_TYPE_OPT | CT_only_check of ct_MODULE_TYPE diff --git a/contrib/interface/vtp.ml b/contrib/interface/vtp.ml index ebad140808..ff67c14859 100644 --- a/contrib/interface/vtp.ml +++ b/contrib/interface/vtp.ml @@ -1157,12 +1157,12 @@ and fMODULE_TYPE = function | CT_coerce_ID_to_MODULE_TYPE x -> fID x | CT_module_type_with_def(x1, x2, x3) -> fMODULE_TYPE x1; - fID x2; + fID_LIST x2; fFORMULA x3; fNODE "module_type_with_def" 3 | CT_module_type_with_mod(x1, x2, x3) -> fMODULE_TYPE x1; - fID x2; + fID_LIST x2; fID x3; fNODE "module_type_with_mod" 3 and fMODULE_TYPE_CHECK = function diff --git a/contrib/interface/xlate.ml b/contrib/interface/xlate.ml index ea1484d002..3b4af8c7ea 100644 --- a/contrib/interface/xlate.ml +++ b/contrib/interface/xlate.ml @@ -1507,12 +1507,13 @@ let rec xlate_module_type = function | CMTEwith(mty, decl) -> let mty1 = xlate_module_type mty in (match decl with - CWith_Definition((_, id), c) -> + CWith_Definition((_, idl), c) -> CT_module_type_with_def(xlate_module_type mty, - xlate_ident id, xlate_formula c) - | CWith_Module((_, id), (_, qid)) -> + CT_id_list (List.map xlate_ident idl), + xlate_formula c) + | CWith_Module((_, idl), (_, qid)) -> CT_module_type_with_mod(xlate_module_type mty, - xlate_ident id, + CT_id_list (List.map xlate_ident idl), CT_ident (xlate_qualid qid)));; let xlate_module_binder_list (l:module_binder list) = |
