babynf-0.1.0.2: Library for generating parsers from ABNF
Safe HaskellSafe-Inferred
LanguageGHC2021

Data.BAByNF.Core.Tree

Documentation

data Tree a where Source #

Constructors

Tree :: Ref a => [Node a] -> Tree a 

Instances

Instances details
Semigroup (Tree a) Source # 
Instance details

Defined in Data.BAByNF.Core.Tree

Methods

(<>) :: Tree a -> Tree a -> Tree a #

sconcat :: NonEmpty (Tree a) -> Tree a #

stimes :: Integral b => b -> Tree a -> Tree a #

Show a => Show (Tree a) Source # 
Instance details

Defined in Data.BAByNF.Core.Tree

Methods

showsPrec :: Int -> Tree a -> ShowS #

show :: Tree a -> String #

showList :: [Tree a] -> ShowS #

Eq a => Eq (Tree a) Source # 
Instance details

Defined in Data.BAByNF.Core.Tree

Methods

(==) :: Tree a -> Tree a -> Bool #

(/=) :: Tree a -> Tree a -> Bool #

data Node a where Source #

Constructors

StringNode :: ByteString -> Node a 
RefNode :: Ref a => a -> Tree a -> Node a 

Instances

Instances details
Show a => Show (Node a) Source # 
Instance details

Defined in Data.BAByNF.Core.Tree

Methods

showsPrec :: Int -> Node a -> ShowS #

show :: Node a -> String #

showList :: [Node a] -> ShowS #

Eq a => Eq (Node a) Source # 
Instance details

Defined in Data.BAByNF.Core.Tree

Methods

(==) :: Node a -> Node a -> Bool #

(/=) :: Node a -> Node a -> Bool #

nodes :: Ref a => Tree a -> [Node a] Source #

empty :: Ref a => Tree a Source #

singleton :: Ref a => Node a -> Tree a Source #

asSingleton :: Ref a => Tree a -> Maybe (Node a) Source #

dropRefs :: [a] -> Tree a -> Tree a Source #

getSubtreeIfRef :: Ref a => a -> Node a -> Maybe (Tree a) Source #

isRefOf :: Ref a => Node a -> a -> Bool Source #