diff options
author | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2010-07-05 10:09:22 +0000 |
---|---|---|
committer | letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7> | 2010-07-05 10:09:22 +0000 |
commit | 60d0b86575890a4d3c8ade626fba17e7e0883e15 (patch) | |
tree | 9aa350689797efda6f8f1f25a537415fc151994c /plugins/extraction/common.mli | |
parent | 2f68b37beb32addaabe7b72dede2edf48055cdb3 (diff) |
Extraction: (yet another) rework of the renaming code
- Add module parameters in the structure of visible_layer,
in order for module params to be part of name clash detection,
avoiding this way a source of potentially wrong code.
- In case of clash, module params are alpha-renamed to something
unique (Foo__XXX where XXX is the number contained in the mbid).
This solves some situations that were unsupported by extraction.
for instance the "Module F (X:T). Module X:=X. ... End F."
- We now check in Coq identifiers the presence of the
extraction-reserved string __. If it is found, we issue a warning
(which might become an error someday).
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13240 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'plugins/extraction/common.mli')
-rw-r--r-- | plugins/extraction/common.mli | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/plugins/extraction/common.mli b/plugins/extraction/common.mli index 33c14e33a..b992f0557 100644 --- a/plugins/extraction/common.mli +++ b/plugins/extraction/common.mli @@ -43,7 +43,9 @@ val pp_global : kind -> global_reference -> string val pp_module : module_path -> string val top_visible_mp : unit -> module_path -val push_visible : module_path -> unit +(* In [push_visible], the [module_path list] corresponds to + module parameters, the innermost one coming first in the list *) +val push_visible : module_path -> module_path list -> unit val pop_visible : unit -> unit val check_duplicate : module_path -> label -> string |