X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=helm%2Finterface%2Fexperiment.ml;fp=helm%2Finterface%2Fexperiment.ml;h=0000000000000000000000000000000000000000;hp=7d06b4d2398cc5b3ab9b443495e5709fee398365;hb=3ef089a4c58fbe429dd539af6215991ecbe11ee2;hpb=1c7fb836e2af4f2f3d18afd0396701f2094265ff diff --git a/helm/interface/experiment.ml b/helm/interface/experiment.ml deleted file mode 100644 index 7d06b4d23..000000000 --- a/helm/interface/experiment.ml +++ /dev/null @@ -1,109 +0,0 @@ -(* Copyright (C) 2000, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -(******************************************************************************) -(* *) -(* PROJECT HELM *) -(* *) -(* Claudio Sacerdoti Coen *) -(* 24/01/2000 *) -(* *) -(* This is a textual interface to the Coq-like pretty printer cicPp for cic *) -(* terms exported in xml. It uses directly the modules cicPp and cache and *) -(* indirectly all the other modules (cicParser, cicParser2, cicParser3, *) -(* getter). The syntax is "experiment[.opt] filename1 ... filenamen" where *) -(* filenamei is the path-name of an xml file describing a cic term. On stdout *) -(* are pretty-printed all the n terms *) -(* *) -(******************************************************************************) - -let pretty_print = ref true;; -let read_from_stdin = ref false;; -let uris_in_input = ref false;; - -let parse uri = - if !pretty_print then - begin - print_endline ("^^^" ^ uri ^ "^^^") ; - print_string (CicPp.ppobj (CicCache.get_obj (UriManager.uri_of_string uri))); - print_endline ("\n$$$" ^ uri ^ "$$$\n") - end - else - begin - print_string uri ; - let _ = CicCache.get_obj (UriManager.uri_of_string uri) in - print_endline " OK!" ; - flush stdout - end -;; - -let uri_of_filename fn = - if !uris_in_input then fn - else - let uri = - Str.replace_first (Str.regexp (Str.quote Configuration.helm_dir)) "cic:" fn - in - let uri' = Str.replace_first (Str.regexp "\.xml$") "" uri in - uri' -;; - -let read_filenames_from_stdin () = - let files = ref [] in - try - while true do - let l = Str.split (Str.regexp " ") (read_line ()) in - List.iter (fun x -> files := (uri_of_filename x) :: !files) l - done - with - End_of_file -> - files := List.rev !files ; - List.iter parse !files -;; - -(* filenames are read from command line and converted to uris via *) -(* uri_of_filenames; then the cic terms are load in cache via *) -(* CicCache.get_obj and then pretty printed via CicPp.ppobj *) - -let main() = - let files = ref [] in - Arg.parse - ["-nopp", Arg.Clear pretty_print, "Do not pretty print, parse only" ; - "-stdin", Arg.Set read_from_stdin, "Read from stdin" ; - "-uris", Arg.Set uris_in_input, "Read uris, not filenames" ; - "-update", Arg.Unit Getter.update, "Update the getter view of the world"] - (fun x -> files := (uri_of_filename x) :: !files) - " -usage: experiment file ... - -List of options:"; - if !read_from_stdin then read_filenames_from_stdin () - else - begin - files := List.rev !files; - List.iter parse !files - end -;; - -main();;