(* Parsing the command-line options of the LIGO preprocessor *) (* The type [options] gathers the command-line options. *) module SSet : Set.S with type elt = string and type t = Set.Make(String).t type line_comment = string (* Opening of a line comment *) type block_comment = val mk_block : opening:string -> closing:string -> block_comment type options = < input : string option; libs : string list; verbose : SSet.t; offsets : bool; block : block_comment option; line : line_comment option; ext : string > val make : input:string option -> libs:string list -> ?block:block_comment -> ?line:line_comment -> offsets:bool -> verbose:SSet.t -> ext:string -> options (* Parsing the command-line options on stdin. The first parameter is the name of the concrete syntax. This is needed to correctly handle comments. *) type extension = string val read : ?block:block_comment -> ?line:line_comment -> extension -> options