X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_disambiguation%2Ftest_parser.ml;h=ff4ae9726e41bac09d7dad80d831d92d54e1d6bd;hb=5095f0f9e11e966d7872d38ab8ef408567c5984e;hp=911e278ecb43c49e728e25465a62994089e7dfc9;hpb=4e17b87ad4876974c41e490b5e0bc9487c82aa7e;p=helm.git diff --git a/helm/ocaml/cic_disambiguation/test_parser.ml b/helm/ocaml/cic_disambiguation/test_parser.ml index 911e278ec..ff4ae9726 100644 --- a/helm/ocaml/cic_disambiguation/test_parser.ml +++ b/helm/ocaml/cic_disambiguation/test_parser.ml @@ -23,34 +23,48 @@ * http://helm.cs.unibo.it/ *) -let mode = ref `Term +let default_mode = `Term + +let mode = ref default_mode let _ = try match Sys.argv.(1) with | "alias" -> mode := `Alias | "term" -> mode := `Term - | _ -> () + | "tactic" -> mode := `Tactic + | "tactical" -> mode := `Tactical + | _ -> + prerr_endline "What???????"; + exit 1 with Invalid_argument _ -> () let _ = + let ic = stdin in try - let ic = stdin in - (match !mode with - | `Term -> - let term = CicTextualParser2.parse_term (Stream.of_channel ic) in - close_in ic; -(* print_endline (CicAstPp.pp_term term) *) - print_endline (BoxPp.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)) + while true do + try + let line = input_line ic in + let istream = Stream.of_string line in + (match !mode with + | `Term -> + let term = CicTextualParser2.parse_term istream in + print_endline (BoxPp.pp_term term) + | `Tactic -> + let term = CicTextualParser2.parse_tactic istream in + print_endline (TacticAstPp.pp_tactic term) + | `Tactical -> + let term = CicTextualParser2.parse_tactical istream in + print_endline (TacticAstPp.pp_tactical term) + | `Alias -> + let env = CicTextualParser2.EnvironmentP3.of_string line in + print_endline (CicTextualParser2.EnvironmentP3.to_string env)); + flush stdout + 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)) + done + with End_of_file -> + close_in ic