aboutsummaryrefslogtreecommitdiff
path: root/frontend/transform.dcl
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/transform.dcl')
-rw-r--r--frontend/transform.dcl14
1 files changed, 13 insertions, 1 deletions
diff --git a/frontend/transform.dcl b/frontend/transform.dcl
index d8845ed..26cd02a 100644
--- a/frontend/transform.dcl
+++ b/frontend/transform.dcl
@@ -14,6 +14,19 @@ partitionateMacros :: !IndexRange !Index !PredefinedSymbol !*{# FunDef} !*{# Dcl
:: CopiedLocalFunctions
+// AA..
+
+:: CollectState =
+ { cos_var_heap :: !.VarHeap
+ , cos_symbol_heap :: !.ExpressionHeap
+ , cos_error :: !.ErrorAdmin
+ , cos_alias_dummy :: !PredefinedSymbol
+ }
+
+determineVariablesAndRefCounts :: ![FreeVar] !Expression !*CollectState -> (!Expression , ![FreeVar], ![FreeVar], !*CollectState)
+
+// ..AA
+
:: UnfoldState =
{ us_var_heap :: !.VarHeap
, us_symbol_heap :: !.ExpressionHeap
@@ -31,5 +44,4 @@ partitionateMacros :: !IndexRange !Index !PredefinedSymbol !*{# FunDef} !*{# Dcl
:: AciFreeVarHandleMode = LeaveThem | RemoveThem | SubstituteThem
class unfold a :: !a !UnfoldInfo !*UnfoldState -> (!a, !*UnfoldState)
-
instance unfold Expression, CasePatterns