From 60d0b86575890a4d3c8ade626fba17e7e0883e15 Mon Sep 17 00:00:00 2001 From: letouzey Date: Mon, 5 Jul 2010 10:09:22 +0000 Subject: 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 --- plugins/extraction/common.mli | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'plugins/extraction/common.mli') 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 -- cgit v1.2.3