Bidir.Parse
Extracts Lang.Common.parseable
parsers from fields defined by Types.bidir
programs.
module P = Lang.Common
val pp_pvalue :
Ppx_deriving_runtime.Format.formatter ->
pvalue ->
Ppx_deriving_runtime.unit
val show_pvalue : pvalue -> Ppx_deriving_runtime.string
type pstate = pvalue Lang.Common.StringMap.t
val pp_pstate :
Ppx_deriving_runtime.Format.formatter ->
pstate ->
Ppx_deriving_runtime.unit
val show_pstate : pstate -> Ppx_deriving_runtime.string
val parser_of_val : Types.value -> pvalue
val parser_of_pvalue : pvalue -> P.parseable
val parsers_of_intrinsics :
Intrinsics.intrinsic ->
dir:Intrinsics.dir ->
pvalue ->
pvalue
val parsers_of_bidir :
?state:pvalue Lang.Common.StringMap.t ->
Intrinsics.intrinsic Types.bidir ->
pvalue Lang.Common.StringMap.t
Executes the given bidirectional program in the forwards direction to obtain parsers for each output variable.
val strings_of_bindings :
Lang.Common.output list Lang.Common.StringMap.t ->
string Lang.Common.StringMap.t
val values_of_strings :
fields:Lang.Common.StringMap.key list ->
?value:(string -> Types.value) ->
string Lang.Common.StringMap.t ->
Types.value Lang.Common.StringMap.t