fortran-src-0.16.2: src/Language/Fortran/AST/Literal.hs
module Language.Fortran.AST.Literal where
import Language.Fortran.AST.Common ( Name )
import Language.Fortran.Util.Position ( SrcSpan, Spanned )
import Language.Fortran.Util.FirstParameter ( FirstParameter )
import Language.Fortran.Util.SecondParameter ( SecondParameter )
import Language.Fortran.AST.Annotated ( Annotated )
import GHC.Generics ( Generic )
import Data.Data ( Data, Typeable )
import Control.DeepSeq ( NFData )
import Text.PrettyPrint.GenericPretty ( Out )
data KindParam a
= KindParamInt a SrcSpan String -- ^ @[0-9]+@
| KindParamVar a SrcSpan Name -- ^ @[a-z][a-z0-9]+@ (case insensitive)
deriving stock (Eq, Ord, Show, Data, Typeable, Generic, Functor)
deriving anyclass (NFData, Out)
instance FirstParameter (KindParam a) a
instance Annotated KindParam
instance SecondParameter (KindParam a) SrcSpan
instance Spanned (KindParam a)