tlex-core-0.1.0.0: src/Language/Lexer/Tlex/Data/Graph.hs
module Language.Lexer.Tlex.Data.Graph (
transClosure,
) where
import qualified Data.Array as Array
import Data.Foldable
import qualified Data.Graph as Graph
transClosure :: Graph.Graph -> Graph.Graph
transClosure gr = Array.listArray r [ goDfs v | v <- Graph.vertices gr ] where
r = Array.bounds gr
goDfs v = foldMap (\t -> toList t) do Graph.dfs gr [v]