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 Source #

Constructors

TranslationUnit [ExternalDeclaration] |

#### Instances

Instances details

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

data ExternalDeclaration Source #

Constructors

FunctionDeclaration FunctionPrototype |
FunctionDefinition FunctionPrototype Compound |
Declaration Declaration |

#### Instances

Instances details

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

data Declaration Source #

Constructors

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

#### Instances

Instances details

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

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 Source # show :: InitDeclarator -> String Source # showList :: [InitDeclarator] -> ShowS Source #
Eq InitDeclarator Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: InitDeclarator -> InitDeclarator -> Bool Source # (/=) :: InitDeclarator -> InitDeclarator -> Bool Source #
Pretty InitDeclarator Source # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> InitDeclarator -> Doc Source # pPrint :: InitDeclarator -> Doc Source # pPrintList :: PrettyLevel -> [InitDeclarator] -> Doc Source #

data InvariantOrType Source #

Constructors

InvariantDeclarator |
TypeDeclarator FullType |

#### Instances

Instances details

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

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 Source # show :: FunctionPrototype -> String Source # showList :: [FunctionPrototype] -> ShowS Source #
Eq FunctionPrototype Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: FunctionPrototype -> FunctionPrototype -> Bool Source # (/=) :: FunctionPrototype -> FunctionPrototype -> Bool Source #
Pretty FunctionPrototype Source # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> FunctionPrototype -> Doc Source # pPrint :: FunctionPrototype -> Doc Source # pPrintList :: PrettyLevel -> [FunctionPrototype] -> Doc Source #

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 Source # show :: ParameterDeclaration -> String Source # showList :: [ParameterDeclaration] -> ShowS Source #
Eq ParameterDeclaration Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: ParameterDeclaration -> ParameterDeclaration -> Bool Source # (/=) :: ParameterDeclaration -> ParameterDeclaration -> Bool Source #
Pretty ParameterDeclaration Source # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> ParameterDeclaration -> Doc Source # pPrint :: ParameterDeclaration -> Doc Source # pPrintList :: PrettyLevel -> [ParameterDeclaration] -> Doc Source #

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 Source # show :: FullType -> String Source # showList :: [FullType] -> ShowS Source #
Eq FullType Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: FullType -> FullType -> Bool Source # (/=) :: FullType -> FullType -> Bool Source #
Pretty FullType Source # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> FullType -> Doc Source # pPrint :: FullType -> Doc Source # pPrintList :: PrettyLevel -> [FullType] -> Doc Source #

data TypeQualifier Source #

Constructors

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

#### Instances

Instances details

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

data TypeSpecifier Source #

Constructors

TypeSpec (Maybe PrecisionQualifier) TypeSpecifierNoPrecision |

#### Instances

Instances details

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

data InvariantQualifier Source #

Constructors

Invariant |

#### Instances

Instances details

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

data InterpolationQualifier Source #

Constructors

Smooth |
Flat |
NoPerspective |

#### Instances

Instances details

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

data LayoutQualifier Source #

Constructors

Layout [LayoutQualifierId] |

#### Instances

Instances details

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

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 Source # show :: LayoutQualifierId -> String Source # showList :: [LayoutQualifierId] -> ShowS Source #
Eq LayoutQualifierId Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: LayoutQualifierId -> LayoutQualifierId -> Bool Source # (/=) :: LayoutQualifierId -> LayoutQualifierId -> Bool Source #
Pretty LayoutQualifierId Source # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> LayoutQualifierId -> Doc Source # pPrint :: LayoutQualifierId -> Doc Source # pPrintList :: PrettyLevel -> [LayoutQualifierId] -> Doc Source #

data Statement Source #

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 Source # |
Instance details Defined in Language.GLSL.Syntax Methods showsPrec :: Int -> Statement -> ShowS Source # show :: Statement -> String Source # showList :: [Statement] -> ShowS Source #
Eq Statement Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: Statement -> Statement -> Bool Source # (/=) :: Statement -> Statement -> Bool Source #
Pretty Statement Source # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> Statement -> Doc Source # pPrint :: Statement -> Doc Source # pPrintList :: PrettyLevel -> [Statement] -> Doc Source #

data Compound Source #

Constructors

Compound [Statement] |

#### Instances

Instances details

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

data Condition Source #

Constructors

Condition Expr |
InitializedCondition FullType String Expr |

#### Instances

Instances details

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

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 Source # show :: CaseLabel -> String Source # showList :: [CaseLabel] -> ShowS Source #
Eq CaseLabel Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: CaseLabel -> CaseLabel -> Bool Source # (/=) :: CaseLabel -> CaseLabel -> Bool Source #
Pretty CaseLabel Source # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> CaseLabel -> Doc Source # pPrint :: CaseLabel -> Doc Source # pPrintList :: PrettyLevel -> [CaseLabel] -> Doc Source #

data StorageQualifier Source #

Constructors

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

#### Instances

Instances details

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

data TypeSpecifierNoPrecision Source #

Constructors

TypeSpecNoPrecision TypeSpecifierNonArray (Maybe (Maybe Expr)) |

#### Instances

Instances details

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

data TypeSpecifierNonArray Source #

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

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 Source # show :: PrecisionQualifier -> String Source # showList :: [PrecisionQualifier] -> ShowS Source #
Eq PrecisionQualifier Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: PrecisionQualifier -> PrecisionQualifier -> Bool Source # (/=) :: PrecisionQualifier -> PrecisionQualifier -> Bool Source #
Pretty PrecisionQualifier Source # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> PrecisionQualifier -> Doc Source # pPrint :: PrecisionQualifier -> Doc Source # pPrintList :: PrettyLevel -> [PrecisionQualifier] -> Doc Source #

data Field Source #

Constructors

Field (Maybe TypeQualifier) TypeSpecifier [StructDeclarator] |

#### Instances

Instances details

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

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 Source # show :: StructDeclarator -> String Source # showList :: [StructDeclarator] -> ShowS Source #
Eq StructDeclarator Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: StructDeclarator -> StructDeclarator -> Bool Source # (/=) :: StructDeclarator -> StructDeclarator -> Bool Source #
Pretty StructDeclarator Source # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> StructDeclarator -> Doc Source # pPrint :: StructDeclarator -> Doc Source # pPrintList :: PrettyLevel -> [StructDeclarator] -> Doc Source #

data Expr Source #

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

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 Source # show :: IntConstantKind -> String Source # showList :: [IntConstantKind] -> ShowS Source #
Eq IntConstantKind Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: IntConstantKind -> IntConstantKind -> Bool Source # (/=) :: IntConstantKind -> IntConstantKind -> Bool Source #

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 Source # show :: Parameters -> String Source # showList :: [Parameters] -> ShowS Source #
Eq Parameters Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: Parameters -> Parameters -> Bool Source # (/=) :: Parameters -> Parameters -> Bool Source #
Pretty Parameters Source # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> Parameters -> Doc Source # pPrint :: Parameters -> Doc Source # pPrintList :: PrettyLevel -> [Parameters] -> Doc Source #

data ParameterQualifier Source #

Constructors

InParameter |
OutParameter |
InOutParameter |

#### Instances

Instances details

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

data ParameterTypeQualifier Source #

Constructors

ConstParameter |

#### Instances

Instances details

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

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 Source # show :: FunctionIdentifier -> String Source # showList :: [FunctionIdentifier] -> ShowS Source #
Eq FunctionIdentifier Source # |
Instance details Defined in Language.GLSL.Syntax Methods (==) :: FunctionIdentifier -> FunctionIdentifier -> Bool Source # (/=) :: FunctionIdentifier -> FunctionIdentifier -> Bool Source #
Pretty FunctionIdentifier Source # |
Instance details Defined in Language.GLSL.Pretty Methods pPrintPrec :: PrettyLevel -> Rational -> FunctionIdentifier -> Doc Source # pPrint :: FunctionIdentifier -> Doc Source # pPrintList :: PrettyLevel -> [FunctionIdentifier] -> Doc Source #