module Parsley.Internal.Frontend.Analysis (
analyse, dependencyAnalysis,
module Flags
) where
import Parsley.Internal.Common.Indexed (Fix)
import Parsley.Internal.Core.CombinatorAST (Combinator)
import Parsley.Internal.Frontend.Analysis.Cut (cutAnalysis)
import Parsley.Internal.Frontend.Analysis.Dependencies (dependencyAnalysis)
import Parsley.Internal.Frontend.Analysis.Flags as Flags (emptyFlags, AnalysisFlags(letBound))
analyse :: AnalysisFlags -> Fix Combinator a -> Fix Combinator a
analyse :: AnalysisFlags -> Fix Combinator a -> Fix Combinator a
analyse AnalysisFlags
flags = Bool -> Fix Combinator a -> Fix Combinator a
forall a. Bool -> Fix Combinator a -> Fix Combinator a
cutAnalysis (AnalysisFlags -> Bool
letBound AnalysisFlags
flags)