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
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
MacroChildren -> ShowS
MacroChild -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: MacroChildren -> ShowS
$cshowList :: MacroChildren -> ShowS
show :: MacroChild -> String
$cshow :: MacroChild -> String
showsPrec :: Int -> MacroChild -> ShowS
$cshowsPrec :: Int -> MacroChild -> ShowS
Show)
type MacroChildren = [MacroChild]
type MaybeMacro = Maybe (Macro)