aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormartinw2000-03-30 11:27:23 +0000
committermartinw2000-03-30 11:27:23 +0000
commitd4e53e9549541f60ee5ca18bf5b6f6a83f90ad0b (patch)
treeefbfb24b452fa40efb3bd7cd2a49ed9a4f90976c
parentcomparision of redundant macro definitions (diff)
removing record field "lei_strict" that became superflous due to the last revision
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@124 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-rw-r--r--frontend/convertcases.icl18
-rw-r--r--frontend/syntax.dcl3
-rw-r--r--frontend/syntax.icl1
3 files changed, 6 insertions, 16 deletions
diff --git a/frontend/convertcases.icl b/frontend/convertcases.icl
index 9d56ee7..9004bc3 100644
--- a/frontend/convertcases.icl
+++ b/frontend/convertcases.icl
@@ -1236,12 +1236,8 @@ where
| lei.lei_count == 1
// ==> (var_name, var_info_ptr, lei.lei_count, (lei.lei_expression, lei.lei_depth, depth))
# (lei_updated_expr, dl_info) = distributeLets depth lei.lei_expression dl_info
- | lei.lei_strict
- -> (Var { var & var_info_ptr = lei.lei_var.fv_info_ptr }, { dl_info & di_lets = [ var_info_ptr : dl_info.di_lets ],
- di_var_heap = dl_info.di_var_heap <:= (var_info_ptr, VI_LetExpression
- { lei & lei_status = LES_Updated lei_updated_expr }) })
- -> (lei_updated_expr, { dl_info & di_var_heap = dl_info.di_var_heap <:=
- (var_info_ptr, VI_LetExpression { lei & lei_status = LES_Updated lei_updated_expr }) })
+ -> (lei_updated_expr, { dl_info & di_var_heap = dl_info.di_var_heap <:=
+ (var_info_ptr, VI_LetExpression { lei & lei_status = LES_Updated lei_updated_expr }) })
| lei.lei_depth == depth
# dl_info = distributeLetsInLetExpression depth var_info_ptr lei dl_info
-> (Var { var & var_info_ptr = lei.lei_var.fv_info_ptr }, dl_info)
@@ -1303,8 +1299,8 @@ where
where
set_let_expression_info depth [(let_strict, {bind_src,bind_dst}):binds][ref_count:ref_counts][type:types] var_heap
# (new_info_ptr, var_heap) = newPtr VI_Empty var_heap
- lei = { lei_count = ref_count, lei_depth = depth, lei_strict = let_strict, /* lei_moved = False, */
- lei_var = { bind_dst & fv_info_ptr = new_info_ptr }, lei_expression = bind_src, lei_type = type, lei_status = LES_Untouched }
+ lei = { lei_count = ref_count, lei_depth = depth, lei_var = { bind_dst & fv_info_ptr = new_info_ptr },
+ lei_expression = bind_src, lei_type = type, lei_status = LES_Untouched }
= set_let_expression_info depth binds ref_counts types (var_heap <:= (bind_dst.fv_info_ptr, VI_LetExpression lei))
set_let_expression_info depth [] _ _ var_heap
= var_heap
@@ -1456,14 +1452,12 @@ where
-> (!Env Expression FreeVar, ![AType], !*VarHeap)
build_bind info_ptr (lazy_binds, lazy_binds_types, var_heap)
# (let_info, var_heap) = readPtr info_ptr var_heap
- # (VI_LetExpression lei=:{lei_strict,lei_var,lei_expression,lei_status,lei_type}) = let_info
+ # (VI_LetExpression lei=:{lei_var,lei_expression,lei_status,lei_type}) = let_info
(LES_Updated updated_expr) = lei_status
(new_info_ptr, var_heap) = newPtr VI_Empty var_heap
var_heap = var_heap <:= (info_ptr, VI_LetExpression { lei & lei_status = LES_Untouched, lei_var = { lei_var & fv_info_ptr = new_info_ptr }})
// ==> (lei_var.fv_name, info_ptr, new_info_ptr)
- | lei_strict
- = abort "assertion 1 failed in module convercases"
- = ([{ bind_src = updated_expr, bind_dst = lei_var } : lazy_binds], [lei_type : lazy_binds_types ], var_heap)
+ = ([{ bind_src = updated_expr, bind_dst = lei_var } : lazy_binds], [lei_type : lazy_binds_types ], var_heap)
instance distributeLets Selection
where
diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl
index f48ef89..a908829 100644
--- a/frontend/syntax.dcl
+++ b/frontend/syntax.dcl
@@ -488,11 +488,8 @@ cIsALocalVar :== False
:: LetExpressionInfo =
{ lei_count :: !Int
, lei_depth :: !Int
- , lei_strict :: !Bool // MW this field seems to be superfluos
, lei_var :: !FreeVar
, lei_expression :: !Expression
-// , lei_moved :: !Bool
-// , lei_updated_expr :: !Optional Expression
, lei_status :: !LetExpressionStatus
, lei_type :: !AType
}
diff --git a/frontend/syntax.icl b/frontend/syntax.icl
index 51d1fab..a9303c1 100644
--- a/frontend/syntax.icl
+++ b/frontend/syntax.icl
@@ -465,7 +465,6 @@ cIsALocalVar :== False
:: LetExpressionInfo =
{ lei_count :: !Int
, lei_depth :: !Int
- , lei_strict :: !Bool
, lei_var :: !FreeVar
, lei_expression :: !Expression
, lei_status :: !LetExpressionStatus