X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_disambiguation%2Ftest_parser.ml;h=a3bba5a5a9b4bf74207a562ab288fdbd976c56bf;hb=7b922ad1f9832c1edb3acea8f0c910fa2c0c20e5;hp=41634cbb351f098aba07b45b35945796339bb546;hpb=0148419c577eab74538b8e2564a64e399d8bdd65;p=helm.git diff --git a/helm/ocaml/cic_disambiguation/test_parser.ml b/helm/ocaml/cic_disambiguation/test_parser.ml index 41634cbb3..a3bba5a5a 100644 --- a/helm/ocaml/cic_disambiguation/test_parser.ml +++ b/helm/ocaml/cic_disambiguation/test_parser.ml @@ -1,13 +1,55 @@ -try - let ic = open_in Sys.argv.(1) in - let term = Parser.parse_term (Stream.of_channel ic) in - close_in ic; - print_endline (Pp.pp_term term) -with Stdpp.Exc_located ((p_start, p_end), exn) -> - prerr_endline (Printf.sprintf "Exception at character %d-%d: %s" - p_start p_end (Printexc.to_string exn)) - -(* print_endline (Macro.expand "def") *) - -(* Printf.printf "'%s'\n" (Macro.expand Sys.argv.(1)) *) +(* Copyright (C) 2004, 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://helm.cs.unibo.it/ + *) + +let mode = ref `Term + +let _ = + try + match Sys.argv.(1) with + | "alias" -> mode := `Alias + | "term" -> mode := `Term + | _ -> () + with Invalid_argument _ -> () + +let _ = + try + let ic = stdin in + (match !mode with + | `Term -> + let term = CicTextualParser2.parse_term (Stream.of_channel ic) in + close_in ic; + print_endline (CicTextualParser2Pp.pp_term term) + | `Alias -> + while true do + let line = input_line ic in + let env = CicTextualParser2.EnvironmentP3.of_string line in + print_endline (CicTextualParser2.EnvironmentP3.to_string env) + done) + with + | End_of_file -> () + | Stdpp.Exc_located ((p_start, p_end), exn) -> + prerr_endline (Printf.sprintf "Exception at character %d-%d: %s" + p_start p_end (Printexc.to_string exn))