open Printf open Types open Stringify open Parse let main () = let argc = Array.length Sys.argv in let usage status = printf "usage: %s command [args]\n" Sys.argv.(0); printf "command:\n"; printf " help\n"; printf " echo PROGRAM\n"; status in if argc = 1 then begin usage 1 end else match Sys.argv.(1) with | "help" -> usage 0 | "echo" when argc > 2 -> printf "%s\n" (string_of_program (parse_string Sys.argv.(2))); 0 | _ -> usage 1 let () = exit (main ())