Desugared.DependencySourceScope dependencies computations using OCamlgraph
Vertices: scope variables or subscopes.
The vertices of the scope dependency graph are either :
Indeed, during interpretation, subscopes are executed atomically.
On the edges, the label is the position of the expression responsible for the use of the variable. In the graph, x -> y if x is used in the definition of y.
Module of the graph, provided by OCamlGraph
Returns an ordering of the scope variables and subscope compatible with the dependencies of the computation
Returns an ordering of the scope variables and subscope compatible with the dependencies of the computation
Outputs an error in case of cycles.
Builds the dependency graph of a particular scope
module ExceptionsDependencies :
Graph.Sig.P with type V.t = Ast.RuleSet.t and type E.label = EdgeExceptions.tval build_exceptions_graph :
Ast.rule Ast.RuleMap.t ->
Ast.ScopeDef.t ->
ExceptionsDependencies.t