2020-03-23 22:43:06 +04:00
|
|
|
(* Parsing the command-line options of the LIGO preprocessor *)
|
|
|
|
|
|
|
|
(* The type [options] gathers the command-line options. *)
|
|
|
|
|
2020-04-03 21:06:35 +04:00
|
|
|
type language = [`PascaLIGO | `CameLIGO | `ReasonLIGO]
|
|
|
|
|
2020-03-31 21:44:10 +04:00
|
|
|
val lang_to_string : language -> string
|
2020-03-23 22:43:06 +04:00
|
|
|
|
2020-04-03 21:06:35 +04:00
|
|
|
module SSet : Set.S with type elt = string and type t = Set.Make(String).t
|
2020-03-26 19:51:08 +04:00
|
|
|
|
2020-03-23 22:43:06 +04:00
|
|
|
type options = <
|
2020-03-31 21:44:10 +04:00
|
|
|
input : string option;
|
2020-03-23 22:43:06 +04:00
|
|
|
libs : string list;
|
2020-03-31 21:44:10 +04:00
|
|
|
verbose : SSet.t;
|
2020-03-26 19:51:08 +04:00
|
|
|
offsets : bool;
|
2020-03-31 21:44:10 +04:00
|
|
|
lang : language;
|
|
|
|
ext : string (* ".ligo", ".mligo", ".religo" *)
|
2020-03-23 22:43:06 +04:00
|
|
|
>
|
|
|
|
|
|
|
|
val make :
|
2020-03-31 21:44:10 +04:00
|
|
|
input:string option ->
|
2020-03-23 22:43:06 +04:00
|
|
|
libs:string list ->
|
|
|
|
lang:language ->
|
|
|
|
offsets:bool ->
|
2020-03-26 19:51:08 +04:00
|
|
|
verbose:SSet.t ->
|
2020-03-31 21:44:10 +04:00
|
|
|
ext:string ->
|
2020-03-23 22:43:06 +04:00
|
|
|
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. *)
|
|
|
|
|
2020-03-31 21:44:10 +04:00
|
|
|
val read : lang:language -> ext:string -> options
|