diff options
author | johnvg | 2000-10-23 14:17:05 +0000 |
---|---|---|
committer | johnvg | 2000-10-23 14:17:05 +0000 |
commit | 8090f9de44e1aca344975c2acf80281e0fff1ee2 (patch) | |
tree | 317bc6589ad7f4a65a2ae1e8c586acd717ad5286 /frontend/transform.dcl | |
parent | improving filename and line number for the following error messages: (diff) |
renumber icl function and macro indices when unfolding
dcl macros in icl functions and macros
removed expanded macros from groups (s.c.components)
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@259 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/transform.dcl')
-rw-r--r-- | frontend/transform.dcl | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/frontend/transform.dcl b/frontend/transform.dcl index 299e5f2..1d290a3 100644 --- a/frontend/transform.dcl +++ b/frontend/transform.dcl @@ -15,13 +15,18 @@ partitionateMacros :: !IndexRange !Index !PredefinedSymbol !*{# FunDef} !*{# Dcl :: UnfoldState = { us_var_heap :: !.VarHeap , us_symbol_heap :: !.ExpressionHeap - , us_opt_type_heaps :: !.Optional .TypeHeaps - , us_cleanup_info :: ![ExprInfoPtr] - , us_handle_aci_free_vars :: !AciFreeVarHandleMode + , us_opt_type_heaps :: !.Optional .TypeHeaps, + us_cleanup_info :: ![ExprInfoPtr] } - + +:: UnfoldInfo = + { ui_handle_aci_free_vars :: !AciFreeVarHandleMode, + ui_convert_module_n :: !Int, // -1 if no conversion + ui_conversion_table :: !Optional ConversionTable + } + :: AciFreeVarHandleMode = LeaveThem | RemoveThem | SubstituteThem -class unfold a :: !a !*UnfoldState -> (!a, !*UnfoldState) +class unfold a :: !a !UnfoldInfo !*UnfoldState -> (!a, !*UnfoldState) instance unfold Expression, CasePatterns |