module Macro where
{-# LINE 4 "src-ag/Macro.ag" #-}
import CommonTypes
{-# LINE 9 "src-generated/Macro.hs" #-}
data Macro = Macro (ConstructorIdent) (MacroChildren)
| None
deriving ( Int -> Macro -> ShowS
[Macro] -> ShowS
Macro -> String
(Int -> Macro -> ShowS)
-> (Macro -> String) -> ([Macro] -> ShowS) -> Show Macro
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Macro] -> ShowS
$cshowList :: [Macro] -> ShowS
show :: Macro -> String
$cshow :: Macro -> String
showsPrec :: Int -> Macro -> ShowS
$cshowsPrec :: Int -> Macro -> ShowS
Show)
data MacroChild = RuleChild (Identifier) (Macro)
| ChildChild (Identifier) (Identifier)
| ValueChild (Identifier) (String)
deriving ( Int -> MacroChild -> ShowS
[MacroChild] -> ShowS
MacroChild -> String
(Int -> MacroChild -> ShowS)
-> (MacroChild -> String)
-> ([MacroChild] -> ShowS)
-> Show MacroChild
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [MacroChild] -> ShowS
$cshowList :: [MacroChild] -> ShowS
show :: MacroChild -> String
$cshow :: MacroChild -> String
showsPrec :: Int -> MacroChild -> ShowS
$cshowsPrec :: Int -> MacroChild -> ShowS
Show)
type MacroChildren = [MacroChild]
type MaybeMacro = Maybe (Macro)