diff options
author | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2009-12-07 15:24:13 +0000 |
---|---|---|
committer | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2009-12-07 15:24:13 +0000 |
commit | 35159e8aa9bf33b4882bc7f17c2e363f769624c7 (patch) | |
tree | b4791a8db7bcc1369025b1d261dc6d2a6301278c /parsing/g_vernac.ml4 | |
parent | 78ad7ad114f3872c3e1c48e8427bee1351c25962 (diff) |
No more specific syntax "Include Self" for inclusion of partially-applied functors
For Module F(X:SIG), making now a Include F will try to find the X fields in
the current context, just as was doing earlier Include Self F. This specific
syntax is removed, freeing the keyword "Self". Anyway, with the use of the
syntax "<+" there was already hardly any need for syntax "Include Self".
Idem for Include Type.
Beware that a typo such as "Include F" instead of "Include F G" will
produce a different message now, about a missing field instead of
a not-enough-applied functor.
By the way, some code clean-up and factorisation of inner recursive
functions in declaremods.ml.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12566 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing/g_vernac.ml4')
-rw-r--r-- | parsing/g_vernac.ml4 | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/parsing/g_vernac.ml4 b/parsing/g_vernac.ml4 index 54cf671cc..89d06d2dd 100644 --- a/parsing/g_vernac.ml4 +++ b/parsing/g_vernac.ml4 @@ -396,13 +396,9 @@ GEXTEND Gram | IDENT "Import"; qidl = LIST1 global -> VernacImport (false,qidl) | IDENT "Export"; qidl = LIST1 global -> VernacImport (true,qidl) | IDENT "Include"; e = module_expr; l = LIST0 ext_module_expr -> - VernacInclude(false,CIME(e,l)) + VernacInclude(CIME(e::l)) | IDENT "Include"; "Type"; e = module_type; l = LIST0 ext_module_type -> - VernacInclude(false,CIMTE(e,l)) - | IDENT "Include"; "Self"; e = module_expr -> - VernacInclude(true,CIME(e,[])) - | IDENT "Include"; "Self"; "Type"; e = module_type -> - VernacInclude(true,CIMTE(e,[])) ] ] + VernacInclude(CIMTE(e::l)) ] ] ; export_token: [ [ IDENT "Import" -> Some false |