glsl-0.0.1.0: Parser and optimizer for a small subset of GLSL
Safe HaskellSafe-Inferred
LanguageHaskell2010

Language.GLSL.PrettyPrint

Synopsis

Documentation

ppGLSL :: Annot a => GLSL a -> Builder Source #

Pretty-print GLSL

ppVersion :: Version -> Builder Source #

Pretty-print Version

ppTopDecl :: Annot a => TopDecl a -> Builder Source #

Pretty-print TopDecl

ppProcName :: ProcName -> Builder Source #

Pretty-print ProcName

ppLayoutSpec :: LayoutSpec -> Builder Source #

Pretty-print LayoutSpec

ppParamDecl :: ParamDecl -> Builder Source #

Pretty-print ParamDecl

ppParamKind :: ParamKind -> Builder Source #

Pretty-print ParamKind

ppLocalDecl :: LocalDecl -> Builder Source #

Pretty-print LocalDecl

ppGlobalDecl :: GlobalDecl -> Builder Source #

Pretty-print GlobalDecl

ppGDeclKind :: GDeclKind -> Builder Source #

Pretty-print GDeclKind

ppType :: Type -> Builder Source #

Pretty-print Type

ppNameId :: NameId -> Builder Source #

Pretty-print NameId

ppName :: Name -> Builder Source #

Pretty-print Name

ppNamespace :: Namespace -> Builder Source #

Pretty-print Namespace

ppFunName :: FunName -> Builder Source #

Pretty-print FunName

ppSwizzle :: Swizzle -> Builder Source #

Pretty-print Swizzle

ppVecIndex :: Swizzle -> Builder Source #

Pretty-print VecIndex (Swizzle)

ppNameExpr :: NameExpr -> Builder Source #

Pretty-print NameExpr

ppExprAtom :: ExprAtom -> Builder Source #

Pretty-print ExprAtom

ppExpr :: Expr -> Builder Source #

Pretty-print Expr

ppBinaryOp :: BinaryOp -> Builder Source #

Pretty-print BinaryOp

ppUnaryOp :: UnaryOp -> Builder Source #

Pretty-print UnaryOp

ppStmtAnnot :: Annot a => StmtAnnot a -> Builder Source #

Pretty-print StmtAnnot

ppStmt :: Annot a => Stmt a -> Builder Source #

Pretty-print Stmt

ppEmit :: Emit -> Builder Source #

Pretty-print Emit

ppInt :: Int -> Builder Source #

Pretty-printing utility

ppL :: (a -> Builder) -> [a] -> Builder Source #

ppS :: Builder -> (a -> Builder) -> [a] -> Builder Source #

pp :: (a -> Builder) -> a -> String Source #

ppl :: (a -> Builder) -> [a] -> String Source #

pps :: Builder -> (a -> Builder) -> [a] -> String Source #