Language.GLSL.Syntax

language-glsl-0.3.0: GLSL abstract syntax tree, parser, and pretty-printer

Safe Haskell | Safe-Inferred
Language | Haskell98

Language.GLSL.Syntax

# Documentation

data TranslationUnit #

Constructors

TranslationUnit [ExternalDeclaration] |

#### Instances

Instances details

Show TranslationUnit # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> TranslationUnit -> ShowS # show :: TranslationUnit -> String # showList :: [TranslationUnit] -> ShowS #
Eq TranslationUnit # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: TranslationUnit -> TranslationUnit -> Bool # (/=) :: TranslationUnit -> TranslationUnit -> Bool #
Pretty TranslationUnit # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> TranslationUnit -> Doc # pPrint :: TranslationUnit -> Doc # pPrintList :: PrettyLevel -> [TranslationUnit] -> Doc #

data ExternalDeclaration #

Constructors

FunctionDeclaration FunctionPrototype |
FunctionDefinition FunctionPrototype Compound |
Declaration Declaration |

#### Instances

Instances details

Show ExternalDeclaration # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> ExternalDeclaration -> ShowS # show :: ExternalDeclaration -> String # showList :: [ExternalDeclaration] -> ShowS #
Eq ExternalDeclaration # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: ExternalDeclaration -> ExternalDeclaration -> Bool # (/=) :: ExternalDeclaration -> ExternalDeclaration -> Bool #
Pretty ExternalDeclaration # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> ExternalDeclaration -> Doc # pPrint :: ExternalDeclaration -> Doc # pPrintList :: PrettyLevel -> [ExternalDeclaration] -> Doc #

data Declaration #

Constructors

InitDeclaration InvariantOrType [InitDeclarator] |
Precision PrecisionQualifier TypeSpecifierNoPrecision |
Block TypeQualifier String [Field] (Maybe (String, Maybe (Maybe Expr))) |
TQ TypeQualifier |

#### Instances

Instances details

Show Declaration # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> Declaration -> ShowS # show :: Declaration -> String # showList :: [Declaration] -> ShowS #
Eq Declaration # |
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 #

Constructors

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

#### Instances

Instances details

Show InitDeclarator # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> InitDeclarator -> ShowS # show :: InitDeclarator -> String # showList :: [InitDeclarator] -> ShowS #
Eq InitDeclarator # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: InitDeclarator -> InitDeclarator -> Bool # (/=) :: InitDeclarator -> InitDeclarator -> Bool #
Pretty InitDeclarator # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> InitDeclarator -> Doc # pPrint :: InitDeclarator -> Doc # pPrintList :: PrettyLevel -> [InitDeclarator] -> Doc #

data InvariantOrType #

Constructors

InvariantDeclarator |
TypeDeclarator FullType |

#### Instances

Instances details

Show InvariantOrType # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> InvariantOrType -> ShowS # show :: InvariantOrType -> String # showList :: [InvariantOrType] -> ShowS #
Eq InvariantOrType # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: InvariantOrType -> InvariantOrType -> Bool # (/=) :: InvariantOrType -> InvariantOrType -> Bool #
Pretty InvariantOrType # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> InvariantOrType -> Doc # pPrint :: InvariantOrType -> Doc # pPrintList :: PrettyLevel -> [InvariantOrType] -> Doc #

data FunctionPrototype #

Constructors

FuncProt FullType String [ParameterDeclaration] |

#### Instances

Instances details

Show FunctionPrototype # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> FunctionPrototype -> ShowS # show :: FunctionPrototype -> String # showList :: [FunctionPrototype] -> ShowS #
Eq FunctionPrototype # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: FunctionPrototype -> FunctionPrototype -> Bool # (/=) :: FunctionPrototype -> FunctionPrototype -> Bool #
Pretty FunctionPrototype # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> FunctionPrototype -> Doc # pPrint :: FunctionPrototype -> Doc # pPrintList :: PrettyLevel -> [FunctionPrototype] -> Doc #

data ParameterDeclaration #

Constructors

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

#### Instances

Instances details

Show ParameterDeclaration # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> ParameterDeclaration -> ShowS # show :: ParameterDeclaration -> String # showList :: [ParameterDeclaration] -> ShowS #
Eq ParameterDeclaration # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: ParameterDeclaration -> ParameterDeclaration -> Bool # (/=) :: ParameterDeclaration -> ParameterDeclaration -> Bool #
Pretty ParameterDeclaration # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> ParameterDeclaration -> Doc # pPrint :: ParameterDeclaration -> Doc # pPrintList :: PrettyLevel -> [ParameterDeclaration] -> Doc #

data FullType #

Constructors

FullType (Maybe TypeQualifier) TypeSpecifier |

#### Instances

Instances details

Show FullType # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> FullType -> ShowS # show :: FullType -> String # showList :: [FullType] -> ShowS #
Eq FullType # |
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 #

Constructors

TypeQualSto StorageQualifier |
TypeQualLay LayoutQualifier (Maybe StorageQualifier) |
TypeQualInt InterpolationQualifier (Maybe StorageQualifier) |
TypeQualInv InvariantQualifier (Maybe StorageQualifier) |
TypeQualInv3 InvariantQualifier InterpolationQualifier StorageQualifier |

#### Instances

Instances details

Show TypeQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> TypeQualifier -> ShowS # show :: TypeQualifier -> String # showList :: [TypeQualifier] -> ShowS #
Eq TypeQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: TypeQualifier -> TypeQualifier -> Bool # (/=) :: TypeQualifier -> TypeQualifier -> Bool #
Pretty TypeQualifier # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> TypeQualifier -> Doc # pPrint :: TypeQualifier -> Doc # pPrintList :: PrettyLevel -> [TypeQualifier] -> Doc #

data TypeSpecifier #

Constructors

TypeSpec (Maybe PrecisionQualifier) TypeSpecifierNoPrecision |

#### Instances

Instances details

Show TypeSpecifier # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> TypeSpecifier -> ShowS # show :: TypeSpecifier -> String # showList :: [TypeSpecifier] -> ShowS #
Eq TypeSpecifier # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: TypeSpecifier -> TypeSpecifier -> Bool # (/=) :: TypeSpecifier -> TypeSpecifier -> Bool #
Pretty TypeSpecifier # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> TypeSpecifier -> Doc # pPrint :: TypeSpecifier -> Doc # pPrintList :: PrettyLevel -> [TypeSpecifier] -> Doc #

data InvariantQualifier #

Constructors

Invariant |

#### Instances

Instances details

Show InvariantQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> InvariantQualifier -> ShowS # show :: InvariantQualifier -> String # showList :: [InvariantQualifier] -> ShowS #
Eq InvariantQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: InvariantQualifier -> InvariantQualifier -> Bool # (/=) :: InvariantQualifier -> InvariantQualifier -> Bool #
Pretty InvariantQualifier # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> InvariantQualifier -> Doc # pPrint :: InvariantQualifier -> Doc # pPrintList :: PrettyLevel -> [InvariantQualifier] -> Doc #

data InterpolationQualifier #

Constructors

Smooth |
Flat |
NoPerspective |

#### Instances

Instances details

Show InterpolationQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> InterpolationQualifier -> ShowS # show :: InterpolationQualifier -> String # showList :: [InterpolationQualifier] -> ShowS #
Eq InterpolationQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: InterpolationQualifier -> InterpolationQualifier -> Bool # (/=) :: InterpolationQualifier -> InterpolationQualifier -> Bool #
Pretty InterpolationQualifier # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> InterpolationQualifier -> Doc # pPrint :: InterpolationQualifier -> Doc # pPrintList :: PrettyLevel -> [InterpolationQualifier] -> Doc #

data LayoutQualifier #

Constructors

Layout [LayoutQualifierId] |

#### Instances

Instances details

Show LayoutQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> LayoutQualifier -> ShowS # show :: LayoutQualifier -> String # showList :: [LayoutQualifier] -> ShowS #
Eq LayoutQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: LayoutQualifier -> LayoutQualifier -> Bool # (/=) :: LayoutQualifier -> LayoutQualifier -> Bool #
Pretty LayoutQualifier # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> LayoutQualifier -> Doc # pPrint :: LayoutQualifier -> Doc # pPrintList :: PrettyLevel -> [LayoutQualifier] -> Doc #

data LayoutQualifierId #

Constructors

LayoutQualId String (Maybe Expr) |

#### Instances

Instances details

Show LayoutQualifierId # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> LayoutQualifierId -> ShowS # show :: LayoutQualifierId -> String # showList :: [LayoutQualifierId] -> ShowS #
Eq LayoutQualifierId # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: LayoutQualifierId -> LayoutQualifierId -> Bool # (/=) :: LayoutQualifierId -> LayoutQualifierId -> Bool #
Pretty LayoutQualifierId # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> LayoutQualifierId -> Doc # pPrint :: LayoutQualifierId -> Doc # pPrintList :: PrettyLevel -> [LayoutQualifierId] -> Doc #

data Statement #

Constructors

DeclarationStatement Declaration |
Continue |
Break |
Return (Maybe Expr) |
Discard |
CompoundStatement Compound |
ExpressionStatement (Maybe Expr) |
SelectionStatement Expr Statement (Maybe Statement) |
SwitchStatement Expr [Statement] |
CaseLabel CaseLabel |
While Condition Statement |
DoWhile Statement Expr |
For (Either (Maybe Expr) Declaration) (Maybe Condition) (Maybe Expr) Statement |

#### Instances

Instances details

Show Statement # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> Statement -> ShowS # show :: Statement -> String # showList :: [Statement] -> ShowS #
Eq Statement # |
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 #

Constructors

Compound [Statement] |

#### Instances

Instances details

Show Compound # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> Compound -> ShowS # show :: Compound -> String # showList :: [Compound] -> ShowS #
Eq Compound # |
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 #

Constructors

Condition Expr |
InitializedCondition FullType String Expr |

#### Instances

Instances details

Show Condition # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> Condition -> ShowS # show :: Condition -> String # showList :: [Condition] -> ShowS #
Eq Condition # |
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 #

Constructors

Case Expr |
Default |

#### Instances

Instances details

Show CaseLabel # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> CaseLabel -> ShowS # show :: CaseLabel -> String # showList :: [CaseLabel] -> ShowS #
Eq CaseLabel # |
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 #

Constructors

Const |
Attribute |
Varying |
CentroidVarying |
In |
Out |
CentroidIn |
CentroidOut |
Uniform |

#### Instances

Instances details

Show StorageQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> StorageQualifier -> ShowS # show :: StorageQualifier -> String # showList :: [StorageQualifier] -> ShowS #
Eq StorageQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: StorageQualifier -> StorageQualifier -> Bool # (/=) :: StorageQualifier -> StorageQualifier -> Bool #
Pretty StorageQualifier # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> StorageQualifier -> Doc # pPrint :: StorageQualifier -> Doc # pPrintList :: PrettyLevel -> [StorageQualifier] -> Doc #

data TypeSpecifierNoPrecision #

Constructors

TypeSpecNoPrecision TypeSpecifierNonArray (Maybe (Maybe Expr)) |

#### Instances

Instances details

Show TypeSpecifierNoPrecision # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> TypeSpecifierNoPrecision -> ShowS # show :: TypeSpecifierNoPrecision -> String # showList :: [TypeSpecifierNoPrecision] -> ShowS #
Eq TypeSpecifierNoPrecision # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: TypeSpecifierNoPrecision -> TypeSpecifierNoPrecision -> Bool # (/=) :: TypeSpecifierNoPrecision -> TypeSpecifierNoPrecision -> Bool #
Pretty TypeSpecifierNoPrecision # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> TypeSpecifierNoPrecision -> Doc # pPrint :: TypeSpecifierNoPrecision -> Doc # pPrintList :: PrettyLevel -> [TypeSpecifierNoPrecision] -> Doc #

data TypeSpecifierNonArray #

Constructors

Void |
Float |
Int |
UInt |
Bool |
Vec2 |
Vec3 |
Vec4 |
BVec2 |
BVec3 |
BVec4 |
IVec2 |
IVec3 |
IVec4 |
UVec2 |
UVec3 |
UVec4 |
Mat2 |
Mat3 |
Mat4 |
Mat2x2 |
Mat2x3 |
Mat2x4 |
Mat3x2 |
Mat3x3 |
Mat3x4 |
Mat4x2 |
Mat4x3 |
Mat4x4 |
Sampler1D |
Sampler2D |
Sampler3D |
SamplerCube |
Sampler1DShadow |
Sampler2DShadow |
SamplerCubeShadow |
Sampler1DArray |
Sampler2DArray |
Sampler1DArrayShadow |
Sampler2DArrayShadow |
ISampler1D |
ISampler2D |
ISampler3D |
ISamplerCube |
ISampler1DArray |
ISampler2DArray |
USampler1D |
USampler2D |
USampler3D |
USamplerCube |
USampler1DArray |
USampler2DArray |
Sampler2DRect |
Sampler2DRectShadow |
ISampler2DRect |
USampler2DRect |
SamplerBuffer |
ISamplerBuffer |
USamplerBuffer |
Sampler2DMS |
ISampler2DMS |
USampler2DMS |
Sampler2DMSArray |
ISampler2DMSArray |
USampler2DMSArray |
StructSpecifier (Maybe String) [Field] |
TypeName String |

#### Instances

Instances details

Show TypeSpecifierNonArray # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> TypeSpecifierNonArray -> ShowS # show :: TypeSpecifierNonArray -> String # showList :: [TypeSpecifierNonArray] -> ShowS #
Eq TypeSpecifierNonArray # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: TypeSpecifierNonArray -> TypeSpecifierNonArray -> Bool # (/=) :: TypeSpecifierNonArray -> TypeSpecifierNonArray -> Bool #
Pretty TypeSpecifierNonArray # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> TypeSpecifierNonArray -> Doc # pPrint :: TypeSpecifierNonArray -> Doc # pPrintList :: PrettyLevel -> [TypeSpecifierNonArray] -> Doc #

data PrecisionQualifier #

Constructors

HighP |
MediumP |
LowP |

#### Instances

Instances details

Show PrecisionQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> PrecisionQualifier -> ShowS # show :: PrecisionQualifier -> String # showList :: [PrecisionQualifier] -> ShowS #
Eq PrecisionQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: PrecisionQualifier -> PrecisionQualifier -> Bool # (/=) :: PrecisionQualifier -> PrecisionQualifier -> Bool #
Pretty PrecisionQualifier # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> PrecisionQualifier -> Doc # pPrint :: PrecisionQualifier -> Doc # pPrintList :: PrettyLevel -> [PrecisionQualifier] -> Doc #

data Field #

Constructors

Field (Maybe TypeQualifier) TypeSpecifier [StructDeclarator] |

#### Instances

Instances details

Show Field # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> Field -> ShowS # show :: Field -> String # showList :: [Field] -> ShowS #
Eq Field # |
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 #

Constructors

StructDeclarator String (Maybe (Maybe Expr)) |

#### Instances

Instances details

Show StructDeclarator # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> StructDeclarator -> ShowS # show :: StructDeclarator -> String # showList :: [StructDeclarator] -> ShowS #
Eq StructDeclarator # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: StructDeclarator -> StructDeclarator -> Bool # (/=) :: StructDeclarator -> StructDeclarator -> Bool #
Pretty StructDeclarator # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> StructDeclarator -> Doc # pPrint :: StructDeclarator -> Doc # pPrintList :: PrettyLevel -> [StructDeclarator] -> Doc #

data Expr #

Constructors

Variable String |
IntConstant IntConstantKind Integer |
FloatConstant Float |
BoolConstant Bool |
Bracket Expr Expr |
FieldSelection Expr String |
MethodCall Expr FunctionIdentifier Parameters |
FunctionCall FunctionIdentifier Parameters |
PostInc Expr |
PostDec Expr |
PreInc Expr |
PreDec Expr |
UnaryPlus Expr |
UnaryNegate Expr |
UnaryNot Expr |
UnaryOneComplement Expr |
Mul Expr Expr |
Div Expr Expr |
Mod Expr Expr |
Add Expr Expr |
Sub Expr Expr |
LeftShift Expr Expr |
RightShift Expr Expr |
Lt Expr Expr |
Gt Expr Expr |
Lte Expr Expr |
Gte Expr Expr |
Equ Expr Expr |
Neq Expr Expr |
BitAnd Expr Expr |
BitXor Expr Expr |
BitOr Expr Expr |
And Expr Expr |
Or Expr Expr |
Selection Expr Expr Expr |
Equal Expr Expr |
MulAssign Expr Expr |
DivAssign Expr Expr |
ModAssign Expr Expr |
AddAssign Expr Expr |
SubAssign Expr Expr |
LeftAssign Expr Expr |
RightAssign Expr Expr |
AndAssign Expr Expr |
XorAssign Expr Expr |
OrAssign Expr Expr |
Sequence Expr Expr |

#### Instances

Instances details

Show Expr # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> Expr -> ShowS # show :: Expr -> String # showList :: [Expr] -> ShowS #
Eq Expr # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: Expr -> Expr -> Bool # (/=) :: Expr -> Expr -> Bool #
Pretty Expr # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> Expr -> Doc # pPrint :: Expr -> Doc # pPrintList :: PrettyLevel -> [Expr] -> Doc #

data IntConstantKind #

Constructors

Hexadecimal |
Octal |
Decimal |

#### Instances

Instances details

Show IntConstantKind # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> IntConstantKind -> ShowS # show :: IntConstantKind -> String # showList :: [IntConstantKind] -> ShowS #
Eq IntConstantKind # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: IntConstantKind -> IntConstantKind -> Bool # (/=) :: IntConstantKind -> IntConstantKind -> Bool #

data Parameters #

Constructors

ParamVoid |
Params [Expr] |

#### Instances

Instances details

Show Parameters # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> Parameters -> ShowS # show :: Parameters -> String # showList :: [Parameters] -> ShowS #
Eq Parameters # |
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 #

Constructors

InParameter |
OutParameter |
InOutParameter |

#### Instances

Instances details

Show ParameterQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> ParameterQualifier -> ShowS # show :: ParameterQualifier -> String # showList :: [ParameterQualifier] -> ShowS #
Eq ParameterQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: ParameterQualifier -> ParameterQualifier -> Bool # (/=) :: ParameterQualifier -> ParameterQualifier -> Bool #
Pretty ParameterQualifier # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> ParameterQualifier -> Doc # pPrint :: ParameterQualifier -> Doc # pPrintList :: PrettyLevel -> [ParameterQualifier] -> Doc #

data ParameterTypeQualifier #

Constructors

ConstParameter |

#### Instances

Instances details

Show ParameterTypeQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> ParameterTypeQualifier -> ShowS # show :: ParameterTypeQualifier -> String # showList :: [ParameterTypeQualifier] -> ShowS #
Eq ParameterTypeQualifier # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: ParameterTypeQualifier -> ParameterTypeQualifier -> Bool # (/=) :: ParameterTypeQualifier -> ParameterTypeQualifier -> Bool #
Pretty ParameterTypeQualifier # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> ParameterTypeQualifier -> Doc # pPrint :: ParameterTypeQualifier -> Doc # pPrintList :: PrettyLevel -> [ParameterTypeQualifier] -> Doc #

data FunctionIdentifier #

Constructors

FuncIdTypeSpec TypeSpecifier |
FuncId String |

#### Instances

Instances details

Show FunctionIdentifier # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> FunctionIdentifier -> ShowS # show :: FunctionIdentifier -> String # showList :: [FunctionIdentifier] -> ShowS #
Eq FunctionIdentifier # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: FunctionIdentifier -> FunctionIdentifier -> Bool # (/=) :: FunctionIdentifier -> FunctionIdentifier -> Bool #
Pretty FunctionIdentifier # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> FunctionIdentifier -> Doc # pPrint :: FunctionIdentifier -> Doc # pPrintList :: PrettyLevel -> [FunctionIdentifier] -> Doc #