module Copilot.Compile.C99.Name
( argNames
, argTempNames
, exCpyName
, generatorName
, generatorOutputArgName
, guardName
, indexName
, streamAccessorName
, streamName
)
where
import Copilot.Core (Id)
streamName :: Id -> String
streamName :: Int -> String
streamName Int
sId = String
"s" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
sId
indexName :: Id -> String
indexName :: Int -> String
indexName Int
sId = Int -> String
streamName Int
sId String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"_idx"
streamAccessorName :: Id -> String
streamAccessorName :: Int -> String
streamAccessorName Int
sId = Int -> String
streamName Int
sId String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"_get"
exCpyName :: String -> String
exCpyName :: String -> String
exCpyName String
name = String
name String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"_cpy"
generatorName :: Id -> String
generatorName :: Int -> String
generatorName Int
sId = Int -> String
streamName Int
sId String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"_gen"
generatorOutputArgName :: Id -> String
generatorOutputArgName :: Int -> String
generatorOutputArgName Int
sId = Int -> String
streamName Int
sId String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"_output"
guardName :: String -> String
guardName :: String -> String
guardName String
name = String
name String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"_guard"
argName :: String -> Int -> String
argName :: String -> Int -> String
argName String
name Int
n = String
name String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"_arg" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
n
argTempName :: String -> Int -> String
argTempName :: String -> Int -> String
argTempName String
name Int
n = String
name String -> String -> String
forall a. [a] -> [a] -> [a]
++ String
"_arg_temp" String -> String -> String
forall a. [a] -> [a] -> [a]
++ Int -> String
forall a. Show a => a -> String
show Int
n
argNames :: String -> [String]
argNames :: String -> [String]
argNames String
base = (Int -> String) -> [Int] -> [String]
forall a b. (a -> b) -> [a] -> [b]
map (String -> Int -> String
argName String
base) [Int
0..]
argTempNames :: String -> [String]
argTempNames :: String -> [String]
argTempNames String
base = (Int -> String) -> [Int] -> [String]
forall a b. (a -> b) -> [a] -> [b]
map (String -> Int -> String
argTempName String
base) [Int
0..]