Module ProcnameDispatcher.ProcName

include Common
type ('context, 'f, 'arg_payload) matcher
type ('context, 'f, 'arg_payload) dispatcher
val make_dispatcher : ('context'f'arg_payload) matcher list -> ('context'f'arg_payload) dispatcher

Combines matchers to create a dispatcher

val any_typ : ('f'faccept_more) template_arg

Eats a type

val capt_typ : (IR.Typ.t -> 'f'faccept_more) template_arg

Captures a type

val capt_int : (IStdlib.IStd.Int64.t -> 'f'faccept_more) template_arg

Captures an int

val capt_all : (IR.Typ.template_arg list -> 'f'fend_of_list) template_arg

Captures all template args

val (~-) : string -> ('context'f'f'arg_payload) name_matcher

Starts a path with a name

val (~+) : ('context -> string -> bool) -> ('context'f'f'arg_payload) name_matcher

Starts a path with a matching name that satisfies the given function

val startsWith : string -> 'context -> string -> bool
val endsWith : string -> 'context -> string -> bool
val (&+) : ('context'f_in'f_intermaccept_more'arg_payload) templ_matcher -> ('f_interm'f_out'lc) template_arg -> ('context'f_in'f_out'lc'arg_payload) templ_matcher

Separate template arguments

val (<) : ('context'f_in'f_interm'arg_payload) name_matcher -> ('f_interm'f_out'lc) template_arg -> ('context'f_in'f_out'lc'arg_payload) templ_matcher

Starts template arguments after a name

val (>::) : ('context'f_in'f_out_'arg_payload) templ_matcher -> string -> ('context'f_in'f_out'arg_payload) name_matcher

Ends template arguments and starts a name

val (>::+) : ('context'f_in'f_out'lc'arg_payload) templ_matcher -> ('context -> string -> bool) -> ('context'f_in'f_out'arg_payload) name_matcher
val (&+...>::) : ('context'f_in'f_outaccept_more'arg_payload) templ_matcher -> string -> ('context'f_in'f_out'arg_payload) name_matcher

Ends template arguments with eats-ALL and starts a name

val (&::) : ('context'f_in'f_out'arg_payload) name_matcher -> string -> ('context'f_in'f_out'arg_payload) name_matcher

Separates names (accepts ALL template arguments on the left one)

val (&::+) : ('context'f_in'f_out'arg_payload) name_matcher -> ('context -> string -> bool) -> ('context'f_in'f_out'arg_payload) name_matcher

Separates names that satisfies the given function (accepts ALL template arguments on the left one)

val (<>::) : ('context'f_in'f_out'arg_payload) name_matcher -> string -> ('context'f_in'f_out'arg_payload) name_matcher

Separates names (accepts NO template arguments on the left one)

val (>-->) : ('context'f_in'f_out_'arg_payload) templ_matcher -> 'f_in -> ('context'f_out'arg_payload) matcher
val (<>-->) : ('context'f_in'f_out'arg_payload) name_matcher -> 'f_in -> ('context'f_out'arg_payload) matcher
val (&-->) : ('context'f_in'f_out'arg_payload) name_matcher -> 'f_in -> ('context'f_out'arg_payload) matcher
val (&::.*-->) : ('context'f_in'f_out'arg_payload) name_matcher -> 'f_in -> ('context'f_out'arg_payload) matcher

After a name, accepts ALL template arguments, accepts ALL path tails (names, templates), accepts ALL function arguments, binds the function