language-glsl-0.3.0: GLSL abstract syntax tree, parser, and pretty-printer
Safe HaskellSafe-Inferred
LanguageHaskell98

Language.GLSL.Syntax

Documentation

data TranslationUnit Source #

Instances

Instances details
Show TranslationUnit Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> TranslationUnit -> ShowS

show :: TranslationUnit -> String

showList :: [TranslationUnit] -> ShowS

Eq TranslationUnit Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty TranslationUnit 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> TranslationUnit -> Doc

pPrint :: TranslationUnit -> Doc

pPrintList :: PrettyLevel -> [TranslationUnit] -> Doc

data ExternalDeclaration Source #

Instances

Instances details
Show ExternalDeclaration Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> ExternalDeclaration -> ShowS

show :: ExternalDeclaration -> String

showList :: [ExternalDeclaration] -> ShowS

Eq ExternalDeclaration Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty ExternalDeclaration 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> ExternalDeclaration -> Doc

pPrint :: ExternalDeclaration -> Doc

pPrintList :: PrettyLevel -> [ExternalDeclaration] -> Doc

data Declaration Source #

Instances

Instances details
Show Declaration Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> Declaration -> ShowS

show :: Declaration -> String

showList :: [Declaration] -> ShowS

Eq Declaration Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

(==) :: Declaration -> Declaration -> Bool

(/=) :: Declaration -> Declaration -> Bool

Pretty Declaration 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> Declaration -> Doc

pPrint :: Declaration -> Doc

pPrintList :: PrettyLevel -> [Declaration] -> Doc

data InitDeclarator Source #

Constructors

InitDecl String (Maybe (Maybe Expr)) (Maybe Expr) 

Instances

Instances details
Show InitDeclarator Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> InitDeclarator -> ShowS

show :: InitDeclarator -> String

showList :: [InitDeclarator] -> ShowS

Eq InitDeclarator Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty InitDeclarator 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> InitDeclarator -> Doc

pPrint :: InitDeclarator -> Doc

pPrintList :: PrettyLevel -> [InitDeclarator] -> Doc

data InvariantOrType Source #

Instances

Instances details
Show InvariantOrType Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> InvariantOrType -> ShowS

show :: InvariantOrType -> String

showList :: [InvariantOrType] -> ShowS

Eq InvariantOrType Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty InvariantOrType 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> InvariantOrType -> Doc

pPrint :: InvariantOrType -> Doc

pPrintList :: PrettyLevel -> [InvariantOrType] -> Doc

data FunctionPrototype Source #

Constructors

FuncProt FullType String [ParameterDeclaration] 

Instances

Instances details
Show FunctionPrototype Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> FunctionPrototype -> ShowS

show :: FunctionPrototype -> String

showList :: [FunctionPrototype] -> ShowS

Eq FunctionPrototype Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty FunctionPrototype 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> FunctionPrototype -> Doc

pPrint :: FunctionPrototype -> Doc

pPrintList :: PrettyLevel -> [FunctionPrototype] -> Doc

data ParameterDeclaration Source #

Constructors

ParameterDeclaration (Maybe ParameterTypeQualifier) (Maybe ParameterQualifier) TypeSpecifier (Maybe (String, Maybe Expr)) 

Instances

Instances details
Show ParameterDeclaration Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> ParameterDeclaration -> ShowS

show :: ParameterDeclaration -> String

showList :: [ParameterDeclaration] -> ShowS

Eq ParameterDeclaration Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty ParameterDeclaration 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> ParameterDeclaration -> Doc

pPrint :: ParameterDeclaration -> Doc

pPrintList :: PrettyLevel -> [ParameterDeclaration] -> Doc

data FullType Source #

Constructors

FullType (Maybe TypeQualifier) TypeSpecifier 

Instances

Instances details
Show FullType Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> FullType -> ShowS

show :: FullType -> String

showList :: [FullType] -> ShowS

Eq FullType Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

(==) :: FullType -> FullType -> Bool

(/=) :: FullType -> FullType -> Bool

Pretty FullType 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> FullType -> Doc

pPrint :: FullType -> Doc

pPrintList :: PrettyLevel -> [FullType] -> Doc

data TypeQualifier Source #

Instances

Instances details
Show TypeQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> TypeQualifier -> ShowS

show :: TypeQualifier -> String

showList :: [TypeQualifier] -> ShowS

Eq TypeQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty TypeQualifier 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> TypeQualifier -> Doc

pPrint :: TypeQualifier -> Doc

pPrintList :: PrettyLevel -> [TypeQualifier] -> Doc

data TypeSpecifier Source #

Instances

Instances details
Show TypeSpecifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> TypeSpecifier -> ShowS

show :: TypeSpecifier -> String

showList :: [TypeSpecifier] -> ShowS

Eq TypeSpecifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty TypeSpecifier 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> TypeSpecifier -> Doc

pPrint :: TypeSpecifier -> Doc

pPrintList :: PrettyLevel -> [TypeSpecifier] -> Doc

data InvariantQualifier Source #

Constructors

Invariant 

Instances

Instances details
Show InvariantQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> InvariantQualifier -> ShowS

show :: InvariantQualifier -> String

showList :: [InvariantQualifier] -> ShowS

Eq InvariantQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty InvariantQualifier 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> InvariantQualifier -> Doc

pPrint :: InvariantQualifier -> Doc

pPrintList :: PrettyLevel -> [InvariantQualifier] -> Doc

data InterpolationQualifier Source #

Constructors

Smooth 
Flat 
NoPerspective 

Instances

Instances details
Show InterpolationQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Eq InterpolationQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty InterpolationQualifier 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> InterpolationQualifier -> Doc

pPrint :: InterpolationQualifier -> Doc

pPrintList :: PrettyLevel -> [InterpolationQualifier] -> Doc

data LayoutQualifier Source #

Constructors

Layout [LayoutQualifierId] 

Instances

Instances details
Show LayoutQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> LayoutQualifier -> ShowS

show :: LayoutQualifier -> String

showList :: [LayoutQualifier] -> ShowS

Eq LayoutQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty LayoutQualifier 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> LayoutQualifier -> Doc

pPrint :: LayoutQualifier -> Doc

pPrintList :: PrettyLevel -> [LayoutQualifier] -> Doc

data LayoutQualifierId Source #

Constructors

LayoutQualId String (Maybe Expr) 

Instances

Instances details
Show LayoutQualifierId Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> LayoutQualifierId -> ShowS

show :: LayoutQualifierId -> String

showList :: [LayoutQualifierId] -> ShowS

Eq LayoutQualifierId Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty LayoutQualifierId 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> LayoutQualifierId -> Doc

pPrint :: LayoutQualifierId -> Doc

pPrintList :: PrettyLevel -> [LayoutQualifierId] -> Doc

data Statement Source #

Instances

Instances details
Show Statement Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> Statement -> ShowS

show :: Statement -> String

showList :: [Statement] -> ShowS

Eq Statement Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

(==) :: Statement -> Statement -> Bool

(/=) :: Statement -> Statement -> Bool

Pretty Statement 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> Statement -> Doc

pPrint :: Statement -> Doc

pPrintList :: PrettyLevel -> [Statement] -> Doc

data Compound Source #

Constructors

Compound [Statement] 

Instances

Instances details
Show Compound Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> Compound -> ShowS

show :: Compound -> String

showList :: [Compound] -> ShowS

Eq Compound Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

(==) :: Compound -> Compound -> Bool

(/=) :: Compound -> Compound -> Bool

Pretty Compound 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> Compound -> Doc

pPrint :: Compound -> Doc

pPrintList :: PrettyLevel -> [Compound] -> Doc

data Condition Source #

Instances

Instances details
Show Condition Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> Condition -> ShowS

show :: Condition -> String

showList :: [Condition] -> ShowS

Eq Condition Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

(==) :: Condition -> Condition -> Bool

(/=) :: Condition -> Condition -> Bool

Pretty Condition 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> Condition -> Doc

pPrint :: Condition -> Doc

pPrintList :: PrettyLevel -> [Condition] -> Doc

data CaseLabel Source #

Constructors

Case Expr 
Default 

Instances

Instances details
Show CaseLabel Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> CaseLabel -> ShowS

show :: CaseLabel -> String

showList :: [CaseLabel] -> ShowS

Eq CaseLabel Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

(==) :: CaseLabel -> CaseLabel -> Bool

(/=) :: CaseLabel -> CaseLabel -> Bool

Pretty CaseLabel 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> CaseLabel -> Doc

pPrint :: CaseLabel -> Doc

pPrintList :: PrettyLevel -> [CaseLabel] -> Doc

data StorageQualifier Source #

Instances

Instances details
Show StorageQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> StorageQualifier -> ShowS

show :: StorageQualifier -> String

showList :: [StorageQualifier] -> ShowS

Eq StorageQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty StorageQualifier 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> StorageQualifier -> Doc

pPrint :: StorageQualifier -> Doc

pPrintList :: PrettyLevel -> [StorageQualifier] -> Doc

data TypeSpecifierNoPrecision Source #

Constructors

TypeSpecNoPrecision TypeSpecifierNonArray (Maybe (Maybe Expr)) 

Instances

Instances details
Show TypeSpecifierNoPrecision Source # 
Instance details

Defined in Language.GLSL.Syntax

Eq TypeSpecifierNoPrecision Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty TypeSpecifierNoPrecision 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> TypeSpecifierNoPrecision -> Doc

pPrint :: TypeSpecifierNoPrecision -> Doc

pPrintList :: PrettyLevel -> [TypeSpecifierNoPrecision] -> Doc

data TypeSpecifierNonArray Source #

Instances

Instances details
Show TypeSpecifierNonArray Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> TypeSpecifierNonArray -> ShowS

show :: TypeSpecifierNonArray -> String

showList :: [TypeSpecifierNonArray] -> ShowS

Eq TypeSpecifierNonArray Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty TypeSpecifierNonArray 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> TypeSpecifierNonArray -> Doc

pPrint :: TypeSpecifierNonArray -> Doc

pPrintList :: PrettyLevel -> [TypeSpecifierNonArray] -> Doc

data PrecisionQualifier Source #

Constructors

HighP 
MediumP 
LowP 

Instances

Instances details
Show PrecisionQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> PrecisionQualifier -> ShowS

show :: PrecisionQualifier -> String

showList :: [PrecisionQualifier] -> ShowS

Eq PrecisionQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty PrecisionQualifier 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> PrecisionQualifier -> Doc

pPrint :: PrecisionQualifier -> Doc

pPrintList :: PrettyLevel -> [PrecisionQualifier] -> Doc

data Field Source #

Instances

Instances details
Show Field Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> Field -> ShowS

show :: Field -> String

showList :: [Field] -> ShowS

Eq Field Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

(==) :: Field -> Field -> Bool

(/=) :: Field -> Field -> Bool

Pretty Field 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> Field -> Doc

pPrint :: Field -> Doc

pPrintList :: PrettyLevel -> [Field] -> Doc

data StructDeclarator Source #

Constructors

StructDeclarator String (Maybe (Maybe Expr)) 

Instances

Instances details
Show StructDeclarator Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> StructDeclarator -> ShowS

show :: StructDeclarator -> String

showList :: [StructDeclarator] -> ShowS

Eq StructDeclarator Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty StructDeclarator 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> StructDeclarator -> Doc

pPrint :: StructDeclarator -> Doc

pPrintList :: PrettyLevel -> [StructDeclarator] -> Doc

data IntConstantKind Source #

Constructors

Hexadecimal 
Octal 
Decimal 

Instances

Instances details
Show IntConstantKind Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> IntConstantKind -> ShowS

show :: IntConstantKind -> String

showList :: [IntConstantKind] -> ShowS

Eq IntConstantKind Source # 
Instance details

Defined in Language.GLSL.Syntax

data Parameters Source #

Constructors

ParamVoid 
Params [Expr] 

Instances

Instances details
Show Parameters Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> Parameters -> ShowS

show :: Parameters -> String

showList :: [Parameters] -> ShowS

Eq Parameters Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

(==) :: Parameters -> Parameters -> Bool

(/=) :: Parameters -> Parameters -> Bool

Pretty Parameters 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> Parameters -> Doc

pPrint :: Parameters -> Doc

pPrintList :: PrettyLevel -> [Parameters] -> Doc

data ParameterQualifier Source #

Instances

Instances details
Show ParameterQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> ParameterQualifier -> ShowS

show :: ParameterQualifier -> String

showList :: [ParameterQualifier] -> ShowS

Eq ParameterQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty ParameterQualifier 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> ParameterQualifier -> Doc

pPrint :: ParameterQualifier -> Doc

pPrintList :: PrettyLevel -> [ParameterQualifier] -> Doc

data ParameterTypeQualifier Source #

Constructors

ConstParameter 

Instances

Instances details
Show ParameterTypeQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Eq ParameterTypeQualifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty ParameterTypeQualifier 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> ParameterTypeQualifier -> Doc

pPrint :: ParameterTypeQualifier -> Doc

pPrintList :: PrettyLevel -> [ParameterTypeQualifier] -> Doc

data FunctionIdentifier Source #

Constructors

FuncIdTypeSpec TypeSpecifier 
FuncId String 

Instances

Instances details
Show FunctionIdentifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Methods

showsPrec :: Int -> FunctionIdentifier -> ShowS

show :: FunctionIdentifier -> String

showList :: [FunctionIdentifier] -> ShowS

Eq FunctionIdentifier Source # 
Instance details

Defined in Language.GLSL.Syntax

Pretty FunctionIdentifier 
Instance details

Defined in Language.GLSL.Pretty

Methods

pPrintPrec :: PrettyLevel -> Rational -> FunctionIdentifier -> Doc

pPrint :: FunctionIdentifier -> Doc

pPrintList :: PrettyLevel -> [FunctionIdentifier] -> Doc