X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=helm%2Focaml%2Fcic_disambiguation%2Ftest_parser.ml;h=dde96955506853815b0f4bebe7f0a29a8f428233;hb=eb8dc961c7f9dc2e76a1eb29e2fcf94304011566;hp=4937f4ca41bded6e6d2116da541017df1341a8ee;hpb=b82fbbf4eebebe40f6e4557c191b177a696b0e2c;p=helm.git diff --git a/helm/ocaml/cic_disambiguation/test_parser.ml b/helm/ocaml/cic_disambiguation/test_parser.ml index 4937f4ca4..dde969555 100644 --- a/helm/ocaml/cic_disambiguation/test_parser.ml +++ b/helm/ocaml/cic_disambiguation/test_parser.ml @@ -27,6 +27,12 @@ let default_mode = `Term let mode = ref default_mode +(* let pp_tactical = TacticAstPp.pp_tactical *) + +let pp_tactical = TacticAst2Box.tacticalPp +let pp_command = CommandAst.pp_command +let pp_script = CommandAst.pp_script + let _ = try match Sys.argv.(1) with @@ -34,6 +40,8 @@ let _ = | "term" -> mode := `Term | "tactic" -> mode := `Tactic | "tactical" -> mode := `Tactical + | "command" -> mode := `Command + | "script" -> mode := `Script | _ -> prerr_endline "What???????"; exit 1 @@ -42,32 +50,40 @@ let _ = let _ = let ic = stdin in try - 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 - | CicTextualParser2.Parse_error msg -> prerr_endline msg -(* - | 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 + if !mode = `Script then begin + let script = CicTextualParser2.parse_script (Stream.of_channel ic) in + print_endline (pp_script script) + end else + 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 tac = CicTextualParser2.parse_tactic istream in + print_endline (TacticAstPp.pp_tactic tac) + | `Tactical -> + let tac = CicTextualParser2.parse_tactical istream in + print_endline (pp_tactical tac) + | `Command -> + let cmd = CicTextualParser2.parse_command istream in + print_endline (pp_command cmd) + | `Script -> assert false (* catched above *) + | `Alias -> + let env = CicTextualParser2.EnvironmentP3.of_string line in + print_endline (CicTextualParser2.EnvironmentP3.to_string env)); + flush stdout + with + | CicTextualParser2.Parse_error msg -> prerr_endline msg + (* + | 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