aboutsummaryrefslogtreecommitdiffhomepage
path: root/plugins/extraction/common.mli
diff options
context:
space:
mode:
authorGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-07-05 10:09:22 +0000
committerGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-07-05 10:09:22 +0000
commit60d0b86575890a4d3c8ade626fba17e7e0883e15 (patch)
tree9aa350689797efda6f8f1f25a537415fc151994c /plugins/extraction/common.mli
parent2f68b37beb32addaabe7b72dede2edf48055cdb3 (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.mli4
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