IECCheckerCore.Cfgmodule S = SyntaxControl Flow Graph for Intraprocedural Analysis.
module TI = Tok_infotype bb = {id : int;mutable ty : bb_ty;mutable preds : int list;Ids of predecessor nodes
*)mutable succs : int list;Ids of successor nodes
*)mutable stmts : S.statement list;Statements that makes up this BB
*)}Basic block
val mk : S.iec_library_element -> tmk Create a new CFG instance for a given iec_library_element.
val get_pou_id : t -> intget_pou_id Get the id of the POU that this CFG belongs to.
get_bb_by_id_exn id cfg Return basic block stored in cfg by given ID. Raise Not_found if there are no such block
val get_all_ids : t -> int listget_all_ids cfg Return a list with ids of all basic blocks represented in cfg.
val get_reachable_ids : t -> int listget_reachable_ids cfg Return a list with ids of basic blocks that are reachable from cfg entry point.
val get_number_of_edges : t -> intget_number_of_edges cfg Return number of edges in cfg.
val create_cfgs : S.iec_library_element list -> t listcreate_cfgs Create list of CFGs for a given iec_library_element objects.
val to_string : t -> stringval to_yojson : t -> Yojson.Safe.t