let pp_tactical = TacticAst2Box.tacticalPp
+let modes = ("term",`Term) :: ("statement",`Statement) :: []
+
let mode =
try
- match Sys.argv.(1) with
- | "alias" -> prerr_endline "Alias"; `Alias
- | "term" -> prerr_endline "Term"; `Term
- | "tactic" -> prerr_endline "Tactic"; `Tactic
- | "tactical" | "command" -> prerr_endline "Tactical"; `Tactical
- | "script" -> prerr_endline "Script"; `Script
- | _ ->
- prerr_endline "What???????";
- exit 1
- with Invalid_argument _ -> prerr_endline "Term"; `Term
+ List.assoc (Sys.argv.(1)) modes
+ with
+ | _ ->
+ prerr_endline
+ (sprintf "What? Supported modes are: %s\n"
+ (String.concat " " (List.map fst modes)));
+ exit 1
let _ =
+(*
if mode = `Script then
let ic = open_in Sys.argv.(2) in
let istream = Stream.of_channel ic in
| DisambiguateTypes.Comment (loc, s) -> print_endline s)
script
else
+*)
let ic = stdin in
try
while true do
| `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)
+ | `Statement ->
+ (match CicTextualParser2.parse_statement istream with
+ | TacticAst.Executable (_, exe)
+ | TacticAst.Comment (_,TacticAst.Code (_, exe)) ->
+ print_endline (TacticAstPp.pp_executable exe)
+ | TacticAst.Comment (_,TacticAst.Note (_, note)) ->
+ print_endline note)
+(*
| `Tactical ->
let tac = CicTextualParser2.parse_tactical istream in
print_endline (pp_tactical tac)
+*)
| `Alias ->
let env = CicTextualParser2.EnvironmentP3.of_string line in
print_endline (CicTextualParser2.EnvironmentP3.to_string env)