diff options
| author | johnvg | 2010-11-24 13:31:56 +0000 | 
|---|---|---|
| committer | johnvg | 2010-11-24 13:31:56 +0000 | 
| commit | 621fe56d352936e1e84450d4b937061b27d4a752 (patch) | |
| tree | 7099a52e1580ec23ebc22353b51e920568b28ad0 /frontend/convertcases.icl | |
| parent | remove some debugging code, small layout changes (diff) | |
remove unused argument of function new_case_function
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1812 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/convertcases.icl')
| -rw-r--r-- | frontend/convertcases.icl | 27 | 
1 files changed, 12 insertions, 15 deletions
| diff --git a/frontend/convertcases.icl b/frontend/convertcases.icl index 72ecaed..ac2d9dc 100644 --- a/frontend/convertcases.icl +++ b/frontend/convertcases.icl @@ -26,9 +26,10 @@ addLetVars [{lb_dst} : binds] [bind_type : bind_types] bound_vars  addLetVars [] [] bound_vars  	= bound_vars -convertCasesOfFunctions :: !*{! Group} !Int !{# {# FunType} } !{# CommonDefs} !*{#FunDef} !*{#{# CheckedTypeDef}} -		!ImportedConstructors !*VarHeap !*TypeHeaps !*ExpressionHeap -			-> (!ImportedFunctions, !*{! Group}, !*{#FunDef}, !*{#{# CheckedTypeDef}}, !ImportedConstructors, !*VarHeap, !*TypeHeaps, !*ExpressionHeap) +convertCasesOfFunctions :: !*{!Group} !Int !{#{#FunType}} !{#CommonDefs} +				!*{#FunDef} !*{#{#CheckedTypeDef}} !ImportedConstructors !*VarHeap !*TypeHeaps !*ExpressionHeap +			-> (!ImportedFunctions, !*{!Group}, +				!*{#FunDef},!*{#{#CheckedTypeDef}},!ImportedConstructors,!*VarHeap,!*TypeHeaps,!*ExpressionHeap)  convertCasesOfFunctions groups main_dcl_module_n dcl_functions common_defs fun_defs imported_types imported_conses var_heap type_heaps expr_heap  	#! nr_of_funs = size fun_defs  	# (groups, (fun_defs, collected_imports, {cs_new_functions, cs_var_heap, cs_expr_heap, cs_fun_heap})) @@ -63,9 +64,8 @@ where  		  (tb_rhs, ds) = distributeLets {di_depth=1,di_explicit_case_depth=0} tb_rhs ds  		  (tb_rhs, {ds_var_heap, ds_expr_heap}) = buildLetExpr tb_rhs ds  		  {ss_expr_heap, ss_var_heap} -		  	= findSplitCases {si_next_alt=No, si_force_next_alt=False} tb_rhs -		  						{ss_var_heap=ds_var_heap, ss_expr_heap = ds_expr_heap} -		= (TransformedBody {body & tb_rhs = tb_rhs }, (rcs_imports, { cs & cs_var_heap = ss_var_heap, cs_expr_heap = ss_expr_heap})) +		  	= findSplitCases {si_next_alt=No, si_force_next_alt=False} tb_rhs {ss_var_heap=ds_var_heap, ss_expr_heap = ds_expr_heap} +		= (TransformedBody {body & tb_rhs = tb_rhs }, (rcs_imports, {cs & cs_var_heap = ss_var_heap, cs_expr_heap = ss_expr_heap}))  	split :: SymbKind (ImportedFunctions, ImportedConstructors) -> (ImportedFunctions, ImportedConstructors)   	split (SK_Function fun_ident) (collected_functions, collected_conses) @@ -136,8 +136,8 @@ instance checkCaseTypes [a] | checkCaseTypes a where  instance checkCaseTypes BasicPattern where  	checkCaseTypes pattern=:{bp_expr} cs  		=	checkCaseTypes bp_expr cs -  // ... sanity check +  :: CaseLevel = CaseLevelRoot | CaseLevelAfterGuardRoot  :: ConvertInfo = @@ -1717,8 +1717,7 @@ convertNonRootFail ci=:{ci_bound_vars, ci_group_index, ci_common_defs} ident cs  			,	at_type = TV {tv_ident = { id_name = "a", id_info = nilPtr }, tv_info_ptr = nilPtr}  			}  	# (fun_ident, cs) -	  	=	new_case_function (Yes ident) result_type (FailExpr ident) [] [] -	  							ci_bound_vars ci_group_index ci_common_defs cs +	  	=	new_case_function (Yes ident) result_type (FailExpr ident) [] [] ci_group_index ci_common_defs cs  	= (App { app_symb = fun_ident, app_args = [], app_info_ptr = nilPtr }, cs)  convertNonRootCase ci=:{ci_bound_vars, ci_group_index, ci_common_defs} kees=:{ case_expr, case_ident, case_info_ptr} cs @@ -1805,11 +1804,11 @@ where  		= case var_info of  			VI_BoundVar type  				# var_heap = var_heap <:= (var_info_ptr, VI_FreeVar var_ident new_info_ptr 0 type) -				  (expr, {cp_free_vars, cp_var_heap, cp_local_vars}) = copy guards_and_default { cp_free_vars = [(var_info_ptr, type)], cp_var_heap = var_heap, cp_local_vars = []} +				  (expr, {cp_free_vars, cp_var_heap, cp_local_vars}) = copy guards_and_default {cp_free_vars = [(var_info_ptr, type)], cp_var_heap = var_heap, cp_local_vars = []}  				  (bound_vars, free_typed_vars, var_heap) = retrieve_variables cp_free_vars cp_var_heap  				-> (True,bound_vars, free_typed_vars, cp_local_vars, expr, old_fv_info_ptr_values,var_heap)  			VI_LocalVar -				# (expr, {cp_free_vars, cp_var_heap, cp_local_vars}) = copy guards_and_default { cp_free_vars = [], cp_var_heap = var_heap, cp_local_vars = []} +				# (expr, {cp_free_vars, cp_var_heap, cp_local_vars}) = copy guards_and_default {cp_free_vars = [], cp_var_heap = var_heap, cp_local_vars = []}  				  (bound_vars, free_typed_vars, var_heap) = retrieve_variables cp_free_vars cp_var_heap  				-> (False,bound_vars, free_typed_vars, cp_local_vars, expr, old_fv_info_ptr_values,var_heap) @@ -1831,8 +1830,7 @@ where  new_case_function_and_restore_old_fv_info_ptr_values opt_id result_type rhs free_vars local_vars  	bound_vars old_fv_info_ptr_values group_index common_defs cs -	# (fun_ident,cs) = new_case_function opt_id result_type rhs free_vars local_vars -										bound_vars group_index common_defs cs +	# (fun_ident,cs) = new_case_function opt_id result_type rhs free_vars local_vars group_index common_defs cs  	# cs_var_heap=restore_old_fv_info_ptr_values old_fv_info_ptr_values bound_vars cs.cs_var_heap  	= (fun_ident,{ cs & cs_var_heap = cs_var_heap});  where @@ -1842,8 +1840,7 @@ where  	restore_old_fv_info_ptr_values [] bound_vars var_heap  		= var_heap -new_case_function opt_id result_type rhs free_vars local_vars -	bound_vars group_index common_defs cs=:{cs_expr_heap} +new_case_function opt_id result_type rhs free_vars local_vars group_index common_defs cs=:{cs_expr_heap}  	# body = TransformedBody {tb_args=[var \\ (var, _) <- free_vars], tb_rhs=rhs}  	  (_,type)  		=	removeAnnotations | 
