(* Parsing the command-line options of the LIGO preprocessor *) (* The type [options] gathers the command-line options. *) type language = [`PascaLIGO | `CameLIGO | `ReasonLIGO] val lang_to_string : language -> string module SSet : Set.S with type elt = string and type t = Set.Make(String).t type options = < input : string option; libs : string list; verbose : SSet.t; offsets : bool; lang : language; ext : string (* ".ligo", ".mligo", ".religo" *) > val make : input:string option -> libs:string list -> lang:language -> 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. *) val read : lang:language -> ext:string -> options