diff options
author | ronny | 2002-09-20 11:10:02 +0000 |
---|---|---|
committer | ronny | 2002-09-20 11:10:02 +0000 |
commit | 1e35c2b288932771c19470338c3e1fb21ff5c14c (patch) | |
tree | 1fe68847f8594372a0f8478db6e977185a3d4c5f /frontend/convertcases.icl | |
parent | removed unnecessary exports (diff) |
moved var info definitions to the modules where they are used
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1204 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/convertcases.icl')
-rw-r--r-- | frontend/convertcases.icl | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/frontend/convertcases.icl b/frontend/convertcases.icl index 775ea55..d6482d7 100644 --- a/frontend/convertcases.icl +++ b/frontend/convertcases.icl @@ -126,6 +126,21 @@ convertCasesInBody (TransformedBody body) (Yes type) group_index common_defs cs , rcs_expr_heap :: !.ExpressionHeap } +:: LetVarInfo = + { lvi_count :: !Int + , lvi_depth :: !Int + , lvi_new :: !Bool + , lvi_var :: !Ident + , lvi_expression :: !Expression + , lvi_previous :: ![PreviousLetVarInfo] + } + +:: PreviousLetVarInfo = + { plvi_count :: !Int + , plvi_depth :: !Int + , plvi_new :: !Bool + } + checkImportedSymbol :: SymbKind VarInfoPtr ([SymbKind], *VarHeap) -> ([SymbKind], *VarHeap) checkImportedSymbol symb_kind symb_type_ptr (collected_imports, var_heap) # (type_info, var_heap) = readPtr symb_type_ptr var_heap @@ -421,6 +436,17 @@ where only if the expr is neither used in the pattern nor in a surrounding expr. */ +:: LetExpressionStatus = LES_Untouched | LES_Moved | LES_Updated !Expression + +:: LetExpressionInfo = + { lei_count :: !Int + , lei_depth :: !Int + , lei_var :: !FreeVar + , lei_expression :: !Expression + , lei_status :: !LetExpressionStatus + , lei_type :: !AType + } + :: DistributeState = { ds_lets :: ![VarInfoPtr] , ds_var_heap :: !.VarHeap |