diff options
| author | herbelin | 2000-11-30 14:41:00 +0000 |
|---|---|---|
| committer | herbelin | 2000-11-30 14:41:00 +0000 |
| commit | f35a9a60f882304ebf49c87ced23a0a0959f44ab (patch) | |
| tree | ef2d99a21ebdf877f6d1b0bb4a99bde4ac28ee96 /toplevel | |
| parent | 0fffe8d30f909612d73b5e927608d881f21423b2 (diff) | |
Changement de la syntaxe des options -I et -R
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1038 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'toplevel')
| -rw-r--r-- | toplevel/coqtop.ml | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/toplevel/coqtop.ml b/toplevel/coqtop.ml index cff15a0034..402e732c1f 100644 --- a/toplevel/coqtop.ml +++ b/toplevel/coqtop.ml @@ -29,6 +29,21 @@ let outputstate = ref "" let set_outputstate s = outputstate:=s let outputstate () = if !outputstate <> "" then extern_state !outputstate +let coqpath d = + let alias = Filename.basename d in + let alias = + if alias = "." then + Filename.basename (Unix.getcwd ()) + else if alias = ".." then + Filename.basename (Filename.dirname (Unix.getcwd ())) + else alias in + if not (Names.is_ident alias) then + error ("Cannot find a name to which "^d^" may map in Coq library"); + alias +let set_include d p = push_include (d,Names.dirpath_of_string p) +let set_rec_include d p = push_rec_include (d,Names.dirpath_of_string p) + + let load_vernacular_list = ref ([] : string list) let add_load_vernacular s = load_vernacular_list := (make_suffix s ".v") :: !load_vernacular_list @@ -77,33 +92,18 @@ let usage () = flush stderr ; exit 1 -let parse_include d = - try - let pos = String.index d '=' in - (String.sub d 0 pos, - Names.dirpath_of_string (String.sub d (pos+1) (String.length d - pos -1))) - with Not_found -> - let alias = Filename.basename d in - let alias = - if alias = "." then - Filename.basename (Unix.getcwd ()) - else if alias = ".." then - Filename.basename (Filename.dirname (Unix.getcwd ())) - else alias in - if not (Names.is_ident alias) then - error ("Cannot find a name to which "^d^" may map in Coq library"); - (d, [alias]) - let warning s = wARNING [< 'sTR s >] let parse_args () = let rec parse = function | [] -> () - | ("-I"|"-include") :: d :: rem -> push_include (parse_include d);parse rem + | ("-I"|"-include") :: d :: "-as" :: p :: rem -> set_include d p; parse rem + | ("-I"|"-include") :: d :: rem -> set_include d (coqpath d); parse rem | ("-I"|"-include") :: [] -> usage () - | "-R" :: d :: rem -> push_rec_include (parse_include d); parse rem + | "-R" :: d :: "-as" :: p :: rem -> set_rec_include d p; parse rem + | "-R" :: d :: rem -> set_rec_include d (coqpath d); parse rem | "-R" :: [] -> usage () | "-q" :: rem -> no_load_rc (); parse rem |
