uuagc

Safe Haskell | Safe-Infered

InterfacesRules

# Documentation

sem_Interface :: Interface -> T_Interface

newtype T_Interface

Constructors

T_Interface (Info -> Vertex -> (Seq (Vertex, ChildVisit), [Vertex], Seq Edge, Vertex, T_Interface_1)) |

newtype T_Interface_1

Constructors

T_Interface_1 ([Vertex] -> Map Vertex ChildVisit -> Graph -> (CInterface, NontermIdent, T_Interface_2)) |

newtype T_Interface_2

Constructors

T_Interface_2 (CInterfaceMap -> Graph -> (Seq Edge, Map ConstructorIdent CVisits)) |

data Inh_Interface

Constructors

Inh_Interface |

Fields

allInters_Inh_Interface :: !CInterfaceMap
ddp_Inh_Interface :: !Graph
info_Inh_Interface :: !Info
prev_Inh_Interface :: ![Vertex]
v_Inh_Interface :: !Vertex
visitDescr_Inh_Interface :: !(Map Vertex ChildVisit)
vssGraph_Inh_Interface :: !Graph

data Syn_Interface

Constructors

Syn_Interface |

Fields

descr_Syn_Interface :: !(Seq (Vertex, ChildVisit))
edp_Syn_Interface :: !(Seq Edge)
firstvisitvertices_Syn_Interface :: ![Vertex]
inter_Syn_Interface :: !CInterface
newedges_Syn_Interface :: !(Seq Edge)
nt_Syn_Interface :: !NontermIdent
v_Syn_Interface :: !Vertex
visits_Syn_Interface :: !(Map ConstructorIdent CVisits)

wrap_Interface :: T_Interface -> Inh_Interface -> Syn_Interface

sem_Interface_Interface :: NontermIdent -> [ConstructorIdent] -> T_Segments -> T_Interface

sem_Interfaces :: Interfaces -> T_Interfaces

newtype T_Interfaces

Constructors

T_Interfaces (Info -> Vertex -> (Seq (Vertex, ChildVisit), [Vertex], Seq Edge, Vertex, T_Interfaces_1)) |

newtype T_Interfaces_1

Constructors

T_Interfaces_1 ([Vertex] -> Map Vertex ChildVisit -> Graph -> (CInterfaceMap, T_Interfaces_2)) |

newtype T_Interfaces_2

Constructors

T_Interfaces_2 (CInterfaceMap -> Graph -> (Seq Edge, CVisitsMap)) |

data Inh_Interfaces

Constructors

Inh_Interfaces |

Fields

allInters_Inh_Interfaces :: !CInterfaceMap
ddp_Inh_Interfaces :: !Graph
info_Inh_Interfaces :: !Info
prev_Inh_Interfaces :: ![Vertex]
v_Inh_Interfaces :: !Vertex
visitDescr_Inh_Interfaces :: !(Map Vertex ChildVisit)
vssGraph_Inh_Interfaces :: !Graph

data Syn_Interfaces

Constructors

Syn_Interfaces |

Fields

descr_Syn_Interfaces :: !(Seq (Vertex, ChildVisit))
edp_Syn_Interfaces :: !(Seq Edge)
firstvisitvertices_Syn_Interfaces :: ![Vertex]
inters_Syn_Interfaces :: !CInterfaceMap
newedges_Syn_Interfaces :: !(Seq Edge)
v_Syn_Interfaces :: !Vertex
visits_Syn_Interfaces :: !CVisitsMap

wrap_Interfaces :: T_Interfaces -> Inh_Interfaces -> Syn_Interfaces

sem_Interfaces_Cons :: T_Interface -> T_Interfaces -> T_Interfaces

sem_Interfaces_Nil :: T_Interfaces

sem_Segment :: Segment -> T_Segment

newtype T_Segment

Constructors

T_Segment (Info -> Vertex -> (Vertex, T_Segment_1)) |

newtype T_Segment_1

Constructors

T_Segment_1 (Int -> [Vertex] -> (Seq (Vertex, ChildVisit), [([Vertex], [Vertex])], Seq Edge, [Vertex], T_Segment_2)) |

newtype T_Segment_2

Constructors

T_Segment_2 ([ConstructorIdent] -> [Vertex] -> Map Vertex ChildVisit -> Graph -> ([Vertex], CSegment, T_Segment_3)) |

newtype T_Segment_3

Constructors

T_Segment_3 (CInterfaceMap -> Graph -> [Vertex] -> Bool -> [Vertex] -> [IntraVisit] -> ([CVisit], Seq Edge, [Vertex], [IntraVisit], [VisitSS])) |

data Inh_Segment

Constructors

Inh_Segment |

Fields

allInters_Inh_Segment :: !CInterfaceMap
cons_Inh_Segment :: ![ConstructorIdent]
ddp_Inh_Segment :: !Graph
fromLhs_Inh_Segment :: ![Vertex]
info_Inh_Segment :: !Info
isFirst_Inh_Segment :: !Bool
n_Inh_Segment :: !Int
nextInh_Inh_Segment :: ![Vertex]
nextIntravisits_Inh_Segment :: ![IntraVisit]
nextNewvertices_Inh_Segment :: ![Vertex]
prev_Inh_Segment :: ![Vertex]
v_Inh_Segment :: !Vertex
visitDescr_Inh_Segment :: !(Map Vertex ChildVisit)
vssGraph_Inh_Segment :: !Graph

data Syn_Segment

Constructors

Syn_Segment |

Fields

cvisits_Syn_Segment :: ![CVisit]
descr_Syn_Segment :: !(Seq (Vertex, ChildVisit))
edp_Syn_Segment :: !(Seq Edge)
groups_Syn_Segment :: ![([Vertex], [Vertex])]
inh_Syn_Segment :: ![Vertex]
intravisits_Syn_Segment :: ![IntraVisit]
newedges_Syn_Segment :: !(Seq Edge)
newvertices_Syn_Segment :: ![Vertex]
prev_Syn_Segment :: ![Vertex]
seg_Syn_Segment :: !CSegment
v_Syn_Segment :: !Vertex
visitss_Syn_Segment :: ![VisitSS]

wrap_Segment :: T_Segment -> Inh_Segment -> Syn_Segment

sem_Segment_Segment :: [Vertex] -> [Vertex] -> T_Segment

sem_Segments :: Segments -> T_Segments

newtype T_Segments

Constructors

T_Segments (Info -> Int -> Vertex -> (Seq (Vertex, ChildVisit), [([Vertex], [Vertex])], Seq Edge, [Vertex], Vertex, T_Segments_1)) |

newtype T_Segments_1

Constructors

T_Segments_1 ([ConstructorIdent] -> [Vertex] -> Map Vertex ChildVisit -> Graph -> (CSegments, T_Segments_2)) |

newtype T_Segments_2

Constructors

T_Segments_2 (CInterfaceMap -> Graph -> [Vertex] -> Bool -> ([[CVisit]], Seq Edge, [Vertex], [IntraVisit], [Vertex])) |

data Inh_Segments

Constructors

Inh_Segments |

Fields

allInters_Inh_Segments :: !CInterfaceMap
cons_Inh_Segments :: ![ConstructorIdent]
ddp_Inh_Segments :: !Graph
fromLhs_Inh_Segments :: ![Vertex]
info_Inh_Segments :: !Info
isFirst_Inh_Segments :: !Bool
n_Inh_Segments :: !Int
prev_Inh_Segments :: ![Vertex]
v_Inh_Segments :: !Vertex
visitDescr_Inh_Segments :: !(Map Vertex ChildVisit)
vssGraph_Inh_Segments :: !Graph

data Syn_Segments

Constructors

Syn_Segments |

Fields

cvisits_Syn_Segments :: ![[CVisit]]
descr_Syn_Segments :: !(Seq (Vertex, ChildVisit))
edp_Syn_Segments :: !(Seq Edge)
firstInh_Syn_Segments :: ![Vertex]
groups_Syn_Segments :: ![([Vertex], [Vertex])]
hdIntravisits_Syn_Segments :: ![IntraVisit]
newedges_Syn_Segments :: !(Seq Edge)
newvertices_Syn_Segments :: ![Vertex]
prev_Syn_Segments :: ![Vertex]
segs_Syn_Segments :: !CSegments
v_Syn_Segments :: !Vertex

wrap_Segments :: T_Segments -> Inh_Segments -> Syn_Segments

sem_Segments_Cons :: T_Segment -> T_Segments -> T_Segments

sem_Segments_Nil :: T_Segments

sem_IRoot :: IRoot -> T_IRoot

newtype T_IRoot

Constructors

T_IRoot ([Edge] -> Info -> Graph -> ([Edge], CInterfaceMap, CVisitsMap)) |

data Inh_IRoot

Constructors

Inh_IRoot |

Fields

dpr_Inh_IRoot :: ![Edge]
info_Inh_IRoot :: !Info
tdp_Inh_IRoot :: !Graph

data Syn_IRoot

Constructors

Syn_IRoot |

Fields

edp_Syn_IRoot :: ![Edge]
inters_Syn_IRoot :: !CInterfaceMap
visits_Syn_IRoot :: !CVisitsMap

wrap_IRoot :: T_IRoot -> Inh_IRoot -> Syn_IRoot

sem_IRoot_IRoot :: T_Interfaces -> T_IRoot

type VisitSS = [Vertex]

gather :: Info -> [Vertex] -> [[Vertex]]

cv :: (Vertex -> CRule) -> Int -> Vertex -> ([Vertex], [Vertex]) -> (Vertex, ChildVisit)

ed :: t -> ([t], [t]) -> [(t, t)]

postorder :: Tree a -> [a]

postorderF :: Forest a -> [a]

postOrd :: Graph -> [Vertex] -> [Vertex]

topSort' :: Graph -> [Vertex] -> [Vertex]

type IntraVisit = [Vertex]

swap :: (t1, t) -> (t, t1)

ccv :: Identifier -> NontermIdent -> Int -> CInterfaceMap -> CRule