aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
Diffstat (limited to 'frontend')
-rw-r--r--frontend/checkFunctionBodies.icl38
1 files changed, 9 insertions, 29 deletions
diff --git a/frontend/checkFunctionBodies.icl b/frontend/checkFunctionBodies.icl
index 149842c..6f6dca3 100644
--- a/frontend/checkFunctionBodies.icl
+++ b/frontend/checkFunctionBodies.icl
@@ -264,9 +264,7 @@ where
# alg_patterns = [{ ap_symbol = cons_symbol, ap_vars = var_args, ap_expr = result_expr, ap_position = pattern_position }]
# (case_guards,expr_heap,cs) = make_case_guards cons_symbol type_symbol alg_patterns expr_heap cs
= (Case { case_expr = act_var, case_guards = case_guards, case_default = No, case_ident = No,
-// RWS ...
case_explicit = cCaseNotExplicit,
-// ... RWS
case_info_ptr = case_expr_ptr, case_default_pos = NoPos },
NoPos, var_store, expr_heap, opt_dynamics, cs)
transform_pattern_into_cases (AP_Basic basic_val opt_var) fun_arg result_expr pattern_position var_store expr_heap opt_dynamics cs
@@ -274,10 +272,8 @@ where
(act_var, result_expr, expr_heap) = transform_pattern_variable fun_arg opt_var result_expr expr_heap
case_guards = BasicPatterns basic_type [{ bp_value = basic_val, bp_expr = result_expr, bp_position = pattern_position }]
(case_expr_ptr, expr_heap) = newPtr EI_Empty expr_heap
- = (Case { case_expr = act_var, case_guards = case_guards, case_default = No, case_ident = No,
-// RWS ...
- case_explicit = cCaseNotExplicit,
-// ... RWS
+ = (Case { case_expr = act_var, case_guards = case_guards, case_default = No, case_ident = No,
+ case_explicit = cCaseNotExplicit,
case_info_ptr = case_expr_ptr, case_default_pos = NoPos },
NoPos, var_store, expr_heap, opt_dynamics, cs)
transform_pattern_into_cases (AP_Dynamic pattern type opt_var) fun_arg result_expr pattern_position var_store expr_heap opt_dynamics cs
@@ -370,9 +366,7 @@ where
basic_pattern = {bp_value = (BVB True), bp_expr = expr, bp_position = NoPos }
case_expr = Case { case_expr = guard, case_guards = BasicPatterns BT_Bool [basic_pattern],
case_default = result_expr, case_ident = Yes guard_ident,
-// RWS ...
case_explicit = cCaseNotExplicit,
-// ... RWS
case_info_ptr = case_expr_ptr, case_default_pos = NoPos }
= build_sequential_lets let_binds case_expr NoPos es_expr_heap
convert_guards_to_cases [(let_binds, guard, expr, guard_ident) : rev_guarded_exprs] result_expr es_expr_heap
@@ -380,9 +374,7 @@ where
basic_pattern = {bp_value = (BVB True), bp_expr = expr, bp_position = NoPos }
case_expr = Case { case_expr = guard, case_guards = BasicPatterns BT_Bool [basic_pattern],
case_default = result_expr, case_ident = Yes guard_ident,
-// RWS ...
case_explicit = cCaseNotExplicit,
-// ... RWS
case_info_ptr = case_expr_ptr, case_default_pos = NoPos }
(_, result_expr, es_expr_heap) = build_sequential_lets let_binds case_expr NoPos es_expr_heap
= convert_guards_to_cases rev_guarded_exprs (Yes result_expr) es_expr_heap
@@ -947,26 +939,20 @@ where
(bound_var, expr_heap) = allocate_bound_var var expr_heap
result = Case {case_expr = Var bound_var, case_guards = patterns, case_default = Yes result,
case_ident = Yes case_ident, case_info_ptr = case_expr_ptr,
-// RWS ...
- case_explicit = explicit,
-// ... RWS
+ case_explicit = explicit,
case_default_pos = NoPos }
(case_expression, expr_heap) = bind_default_variable expr var result expr_heap
-> (case_expression, expr_heap)
No
# (case_expr_ptr, expr_heap) = newPtr EI_Empty expr_heap
-> (Case {case_expr = expr, case_guards = patterns, case_default = Yes result,
-// RWS ...
- case_explicit = explicit,
-// ... RWS
- case_ident = Yes case_ident, case_info_ptr = case_expr_ptr, case_default_pos = NoPos }, expr_heap)
+ case_explicit = explicit,
+ case_ident = Yes case_ident, case_info_ptr = case_expr_ptr, case_default_pos = NoPos }, expr_heap)
build_case patterns No expr case_ident explicit expr_heap
# (case_expr_ptr, expr_heap) = newPtr EI_Empty expr_heap
= (Case {case_expr = expr, case_guards = patterns, case_default = No, case_ident = Yes case_ident,
-// RWS ...
- case_explicit = explicit,
-// ... RWS
- case_info_ptr = case_expr_ptr, case_default_pos = NoPos }, expr_heap)
+ case_explicit = explicit,
+ case_info_ptr = case_expr_ptr, case_default_pos = NoPos }, expr_heap)
bind_default_variable lb_src lb_dst result_expr expr_heap
# (let_expr_ptr, expr_heap) = newPtr EI_Empty expr_heap
@@ -1741,9 +1727,7 @@ convertSubPattern (AP_Algebraic cons_symbol type_index args opt_var) result_expr
= ({ fv_name = bind_src, fv_info_ptr = bind_dst, fv_def_level = NotALevel, fv_count = 0 },
Case { case_expr = Var { var_name = bind_src, var_info_ptr = bind_dst, var_expr_ptr = var_expr_ptr },
case_guards = case_guards, case_default = No, case_ident = No, case_info_ptr = case_expr_ptr,
-// RWS ...
case_explicit = cCaseNotExplicit,
-// ... RWS
case_default_pos = NoPos },
NoPos, var_store, expr_heap, opt_dynamics, cs)
convertSubPattern (AP_Basic basic_val opt_var) result_expr pattern_position var_store expr_heap opt_dynamics cs
@@ -1755,9 +1739,7 @@ convertSubPattern (AP_Basic basic_val opt_var) result_expr pattern_position var_
= ({ fv_name = bind_src, fv_info_ptr = bind_dst, fv_def_level = NotALevel, fv_count = 0 },
Case { case_expr = Var { var_name = bind_src, var_info_ptr = bind_dst, var_expr_ptr = var_expr_ptr },
case_guards = case_guards, case_default = No, case_ident = No, case_info_ptr = case_expr_ptr,
-// RWS ...
- case_explicit = cCaseNotExplicit,
-// ... RWS
+ case_explicit = cCaseNotExplicit,
case_default_pos = NoPos},
NoPos, var_store, expr_heap, opt_dynamics, cs)
convertSubPattern (AP_Dynamic pattern type opt_var) result_expr pattern_position var_store expr_heap opt_dynamics cs
@@ -2334,9 +2316,7 @@ typeOfBasicValue (BVS _) cs
buildTypeCase type_case_dynamic type_case_patterns type_case_default type_case_info_ptr case_explicit :==
Case { case_expr = type_case_dynamic, case_guards = DynamicPatterns type_case_patterns, case_default = type_case_default,
case_info_ptr = type_case_info_ptr, case_ident = No, case_default_pos = NoPos,
-// RWS ...
- case_explicit = case_explicit
-// ... RWS
+ case_explicit = case_explicit
}