diff options
Diffstat (limited to 'frontend/transform.dcl')
-rw-r--r-- | frontend/transform.dcl | 14 |
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 |