{-# OPTIONS_GHC -fno-warn-orphans #-}
module Futhark.CodeGen.Backends.GenericC.Pretty
( expText,
definitionsText,
typeText,
idText,
funcsText,
)
where
import Data.Text qualified as T
import Language.C.Pretty ()
import Language.C.Syntax qualified as C
import Text.PrettyPrint.Mainland qualified as MPP
import Text.PrettyPrint.Mainland.Class qualified as MPP
expText :: C.Exp -> T.Text
expText :: Exp -> Text
expText = String -> Text
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Doc -> String
MPP.pretty Int
8000 forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Pretty a => a -> Doc
MPP.ppr
definitionsText :: [C.Definition] -> T.Text
definitionsText :: [Definition] -> Text
definitionsText = [Text] -> Text
T.unlines forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. (a -> b) -> [a] -> [b]
map (String -> Text
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Doc -> String
MPP.pretty Int
8000 forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Pretty a => a -> Doc
MPP.ppr)
typeText :: C.Type -> T.Text
typeText :: Type -> Text
typeText = String -> Text
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Doc -> String
MPP.pretty Int
8000 forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Pretty a => a -> Doc
MPP.ppr
idText :: C.Id -> T.Text
idText :: Id -> Text
idText = String -> Text
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Doc -> String
MPP.pretty Int
8000 forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Pretty a => a -> Doc
MPP.ppr
funcsText :: [C.Func] -> T.Text
funcsText :: [Func] -> Text
funcsText = [Text] -> Text
T.unlines forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a b. (a -> b) -> [a] -> [b]
map (String -> Text
T.pack forall b c a. (b -> c) -> (a -> b) -> a -> c
. Int -> Doc -> String
MPP.pretty Int
8000 forall b c a. (b -> c) -> (a -> b) -> a -> c
. forall a. Pretty a => a -> Doc
MPP.ppr)