Module type Scheduler.S

module CFG : ProcCfg.S
type t
val schedule_succs : t -> CFG.Node.t -> t

schedule the successors of node

val pop : t -> (CFG.Node.t * CFG.Node.id list * t) option

remove and return the node with the highest priority, the ids of its visited predecessors, and the new schedule

val empty : CFG.t -> t