uuagc

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)

type IntraVisit = [Vertex]

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