From e9ed9fe9aae2c0ac913cf1d175166e983e0a1b30 Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Sat, 19 Oct 2024 01:05:10 -0600 Subject: 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. --- src/Language/Fiddle/Compiler/Backend/Internal.hs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 src/Language/Fiddle/Compiler/Backend/Internal.hs (limited to 'src/Language/Fiddle/Compiler/Backend/Internal.hs') 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) ..] -- cgit