Module Topllib.ToplAst
- val compare_property_name : property_name -> property_name -> int
- val hash_fold_property_name : Ppx_hash_lib.Std.Hash.state -> property_name -> Ppx_hash_lib.Std.Hash.state
- val hash_property_name : property_name -> Ppx_hash_lib.Std.Hash.hash_value
- val property_name_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> property_name
- val sexp_of_property_name : property_name -> Ppx_sexp_conv_lib.Sexp.t
- val compare_register_name : register_name -> register_name -> int
- type variable_name- = string
- type constant- =- |- LiteralInt of int
- type value- =- |- Constant of constant- |- Register of register_name- |- Binding of variable_name
- type binop- =- |- OpEq- |- OpNe- |- OpGe- |- OpGt- |- OpLe- |- OpLt
- type predicate- =- |- Binop of binop * value * value- |- Value of value
- type condition- = predicate list
- type assignment- = register_name * variable_name
- type procedure_name_pattern- = string
- a regular expression 
- type label_pattern- =- |- ArrayWritePattern- |- ProcedureNamePattern of procedure_name_pattern
- type label- =- {- arguments : variable_name list option;- condition : condition;- action : assignment list;- pattern : label_pattern;- }
- type vertex- = string
- val compare_vertex : vertex -> vertex -> int
- val hash_fold_vertex : Ppx_hash_lib.Std.Hash.state -> vertex -> Ppx_hash_lib.Std.Hash.state
- val hash_vertex : vertex -> Ppx_hash_lib.Std.Hash.hash_value
- val vertex_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> vertex
- val sexp_of_vertex : vertex -> Ppx_sexp_conv_lib.Sexp.t
- type transition- =- {- source : vertex;- target : vertex;- label : label option;- }
- type t- =- {- name : property_name;- message : string option;- prefixes : string list;- transitions : transition list;- }