packages feed

cpsa-3.6.2: src/ocaml/main.mli

(** A main routine for processing S-expressions *)

(** Build a program that processes S-expressions.  The program

{[    let () = main f]}

reads an input file containing a sequence of S-expressions, and opens
an output file.  It then invokes function [f] with the output channel
and the list of S-expressions read.

If the name of the program is [prog], the input file and the output
file is specified on the command line as

{[    $ prog -o OUTPUT INPUT]}

where standard input is used when [INPUT] is omitted, and standard
output is used when [-o OUTPUT] is omitted.

Function [f] is invoked in a context that catches {!exception:Failure}
exceptions, prints the failure message to standard error, and then
exits with error code 1.  Function {!val:Reader.failwith_msg} raises
{!exception:Failure} exceptions after adding position information to
an error message. *)
val main : (out_channel -> Lexing.position Sexpr.sexpr list -> unit) -> unit