Revision 365d1b07
Added by Pierre-Loïc Garoche almost 6 years ago
src/causality.ml | ||
---|---|---|
28 | 28 |
exception Error of error |
29 | 29 |
|
30 | 30 |
|
31 |
module IdentDepGraph = Graph.Imperative.Digraph.ConcreteBidirectional (IdentModule) |
|
32 |
module TopologicalDepGraph = Topological.Make(IdentDepGraph) |
|
33 |
|
|
34 |
(*module DotGraph = Graphviz.Dot (IdentDepGraph)*) |
|
35 |
module Bfs = Traverse.Bfs (IdentDepGraph) |
|
36 | 31 |
|
37 | 32 |
(* Dependency of mem variables on mem variables is cut off |
38 | 33 |
by duplication of some mem vars into local node vars. |
src/sortProg.ml | ||
---|---|---|
11 | 11 |
|
12 | 12 |
open Lustre_types |
13 | 13 |
open Corelang |
14 |
|
|
14 |
open Utils |
|
15 |
|
|
15 | 16 |
let get_node nid prog = |
16 | 17 |
List.find (fun t -> match t.top_decl_desc with Node n -> n.node_id = nid | _ -> false) prog |
17 | 18 |
|
... | ... | |
27 | 28 |
Causality.CycleDetection.check_cycles g; |
28 | 29 |
|
29 | 30 |
( |
30 |
Causality.TopologicalDepGraph.fold
|
|
31 |
TopologicalDepGraph.fold |
|
31 | 32 |
(fun x accu -> |
32 | 33 |
try |
33 | 34 |
(get_node x nodes)::accu |
src/utils.ml | ||
---|---|---|
35 | 35 |
module IMap = Map.Make(IdentModule) |
36 | 36 |
|
37 | 37 |
module ISet = Set.Make(IdentModule) |
38 |
module IdentDepGraph = Graph.Imperative.Digraph.ConcreteBidirectional (IdentModule) |
|
39 |
module TopologicalDepGraph = Topological.Make(IdentDepGraph) |
|
38 | 40 |
|
41 |
(*module DotGraph = Graphviz.Dot (IdentDepGraph)*) |
|
42 |
module Bfs = Traverse.Bfs (IdentDepGraph) |
|
43 |
|
|
44 |
|
|
39 | 45 |
exception DeSome |
40 | 46 |
let desome x = match x with Some x -> x | None -> raise DeSome |
41 | 47 |
|
Also available in: Unified diff
Moved definition of graph modules from Causality to Utils to avoid cyclic deps