Module GrbTrMoveOverOr.Tr


module Tr: sig .. end
Module for Move Over Or transformation

val new_source_edge : (GrbGraphs.connectiontype * GrbGraphs.nodetype * GrbGraphs.portname) list ->
GrbGraphs.NewName.idtype -> GrbGraphs.DG.t -> GrbGraphs.DG.t
Function that fixes new source node for all edges in a list, does not change edge id
Returns graph of DG.t type with all added edges
Parameters:
edges : (GrbGraphs.connectiontype * GrbGraphs.nodetype * GrbGraphs.portname) list
- list of edges
source : GrbGraphs.NewName.idtype
- new source id
graph : GrbGraphs.DG.t
- graph where the edges and source belong
val mkcnstlblmap : int GrbGraphs.RLMap.t -> int GrbGraphs.RLMMap.t
Function tat makes constant lable map for an edge
Returns RLMMap
Parameters:
d : int GrbGraphs.RLMap.t
- inside dimensions of node that should be kept
val overAnd : GrbGraphs.connectiontype * GrbGraphs.nodetype * 'a ->
GrbGraphs.DG.t -> (GrbGraphs.DG.t, 'b) GrbCommons.either
Part of Move Over Or transformation for cases where target node is And
Returns Left graph - positive end to transformation
Parameters:
(connection,and_node,port) : GrbGraphs.connectiontype * GrbGraphs.nodetype * 'a
port : - portname for chosen edge
and_node : - node to be moved over Or
connection : - connection desctiption for chosen edge
graph : GrbGraphs.DG.t
- graph to be transformed
val overBitstring : GrbGraphs.connectiontype * GrbGraphs.nodetype * 'a ->
GrbGraphs.DG.t -> (GrbGraphs.DG.t, 'b) GrbCommons.either
Part of Move Over Or transformation for cases where target node has bitstring output
Returns Left graph - positive end to transformation
Parameters:
(connection,n_node,port) : GrbGraphs.connectiontype * GrbGraphs.nodetype * 'a
port : - portname for chosen edge
n_node : - node to be moved over Or
connection : - connection desctiption for chosen edge
graph : GrbGraphs.DG.t
- graph to be transformed
val overLongOr : GrbGraphs.connectiontype * GrbGraphs.nodetype * GrbGraphs.portname ->
GrbGraphs.DG.t -> (GrbGraphs.DG.t, 'a) GrbCommons.either
Part of Move Over Or transformation for cases where target node is LongOr
Returns Left graph - positive end to transformation
Parameters:
(connection,longOr_node,port) : GrbGraphs.connectiontype * GrbGraphs.nodetype * GrbGraphs.portname
port : - portname for chosen edge
longOr_node : - node to be moved over Or
connection : - connection desctiption for chosen edge
graph : GrbGraphs.DG.t
- graph to be transformed
val umake : GrbGraphs.DG.t ->
('a, GrbGraphs.NewName.idtype) GrbCommons.either ->
(GrbGraphs.DG.t, string) GrbCommons.either
Main transformation function is called if the transformation is used
Returns DG.t * string either - Left graph for positive result and Right string for error messages
Parameters:
graph : GrbGraphs.DG.t
- graph
ed : ('a, GrbGraphs.NewName.idtype) GrbCommons.either
- transformation parametest Left node id list or Right edge id, this transformation uses edge information
val puttomenu : GrbUDraw.appmenutype list -> GrbUDraw.appmenutype list
Menu name and position information