summaryrefslogtreecommitdiff
path: root/src/Language/Fiddle/Compiler/Backend/Internal.hs
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2024-10-19 01:05:10 -0600
committerJosh Rahm <joshuarahm@gmail.com>2024-10-19 01:05:10 -0600
commite9ed9fe9aae2c0ac913cf1d175166e983e0a1b30 (patch)
tree77ef1aaccd3527c06edff1c3120147150829bf3f /src/Language/Fiddle/Compiler/Backend/Internal.hs
parente753d874458dce4ad480caba97fde8b73d703821 (diff)
downloadfiddle-e9ed9fe9aae2c0ac913cf1d175166e983e0a1b30.tar.gz
fiddle-e9ed9fe9aae2c0ac913cf1d175166e983e0a1b30.tar.bz2
fiddle-e9ed9fe9aae2c0ac913cf1d175166e983e0a1b30.zip
Provide more data during qualification about how a path is qualified.
Now it includes information about the package a symobl is in. The object its in and the register its in. This allows better code generation in the backend that's somewhat more organized.
Diffstat (limited to 'src/Language/Fiddle/Compiler/Backend/Internal.hs')
-rw-r--r--src/Language/Fiddle/Compiler/Backend/Internal.hs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/Language/Fiddle/Compiler/Backend/Internal.hs b/src/Language/Fiddle/Compiler/Backend/Internal.hs
new file mode 100644
index 0000000..4e513f1
--- /dev/null
+++ b/src/Language/Fiddle/Compiler/Backend/Internal.hs
@@ -0,0 +1,18 @@
+{-# LANGUAGE OverloadedStrings #-}
+
+module Language.Fiddle.Compiler.Backend.Internal where
+
+import qualified Data.Text
+
+-- | An infinite list of common setter argument names to use.
+setterArgumentNames :: [Data.Text.Text]
+setterArgumentNames =
+ ["value", "i", "j", "k"]
+ ++ map (("i" <>) . Data.Text.pack . show) [(0 :: Int) ..]
+
+-- | An infinite list of common getter argument names to use. A getter will have
+-- an argument for each index into an array for bit arrays.
+getterArgumentNames :: [Data.Text.Text]
+getterArgumentNames =
+ ["i", "j", "k"]
+ ++ map (("i" <>) . Data.Text.pack . show) [(0 :: Int) ..]