From 57b368bb8b70b8de8e52d3c9ce1d01d7782cf65d Mon Sep 17 00:00:00 2001 From: johnvg Date: Mon, 5 Jul 2010 10:23:50 +0000 Subject: don't pass icl functions array to/from partitionateDclMacros, it is not used because dcl macros cannot use icl macros. git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1791 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d --- frontend/check.icl | 4 ++-- frontend/transform.dcl | 4 ++-- frontend/transform.icl | 16 ++++++++-------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/frontend/check.icl b/frontend/check.icl index 937422a..ac8d00d 100644 --- a/frontend/check.icl +++ b/frontend/check.icl @@ -1145,8 +1145,8 @@ checkAndPartitionateDclMacros mod_index range fun_defs e_info=:{ef_is_macro_fun= = checkDclMacros mod_index cGlobalScope range.ir_from range.ir_to fun_defs { e_info & ef_is_macro_fun=True } heaps cs (e_info=:{ef_macro_defs}) = { e_info & ef_is_macro_fun=ef_is_macro_fun_old } # (predef_symbols_for_transform, cs_predef_symbols) = get_predef_symbols_for_transform cs_predef_symbols - (fun_defs, macro_defs, hp_var_heap, hp_expression_heap, cs_symbol_table, cs_error) - = partitionateDclMacros range mod_index predef_symbols_for_transform fun_defs ef_macro_defs hp_var_heap hp_expression_heap cs_symbol_table cs_error + (macro_defs, hp_var_heap, hp_expression_heap, cs_symbol_table, cs_error) + = partitionateDclMacros range mod_index predef_symbols_for_transform ef_macro_defs hp_var_heap hp_expression_heap cs_symbol_table cs_error = (fun_defs, { e_info & ef_macro_defs=macro_defs }, {heaps & hp_var_heap = hp_var_heap, hp_expression_heap = hp_expression_heap}, { cs & cs_symbol_table = cs_symbol_table, cs_predef_symbols = cs_predef_symbols, cs_error = cs_error }) diff --git a/frontend/transform.dcl b/frontend/transform.dcl index 5566a21..da07a6d 100644 --- a/frontend/transform.dcl +++ b/frontend/transform.dcl @@ -8,8 +8,8 @@ import syntax, checksupport :: PredefSymbolsForTransform = { predef_alias_dummy :: !PredefinedSymbol, predef_and :: !PredefinedSymbol, predef_or :: !PredefinedSymbol }; -partitionateDclMacros :: !IndexRange !Index !PredefSymbolsForTransform !*{#FunDef} !*{#*{#FunDef}} !*VarHeap !*ExpressionHeap !*SymbolTable !*ErrorAdmin - -> (!*{#FunDef},!*{#*{#FunDef}},!*VarHeap,!*ExpressionHeap,!*SymbolTable,!*ErrorAdmin ) +partitionateDclMacros :: !IndexRange !Index !PredefSymbolsForTransform !*{#*{#FunDef}} !*VarHeap !*ExpressionHeap !*SymbolTable !*ErrorAdmin + -> (!*{#*{#FunDef}},!*VarHeap,!*ExpressionHeap,!*SymbolTable,!*ErrorAdmin ) partitionateIclMacros :: !IndexRange !Index !PredefSymbolsForTransform !*{#FunDef} !*{#*{#FunDef}} !*VarHeap !*ExpressionHeap !*SymbolTable !*ErrorAdmin -> (!*{#FunDef},!*{#*{#FunDef}},!*VarHeap,!*ExpressionHeap,!*SymbolTable,!*ErrorAdmin ) diff --git a/frontend/transform.icl b/frontend/transform.icl index ff20788..758a6a0 100644 --- a/frontend/transform.icl +++ b/frontend/transform.icl @@ -388,9 +388,9 @@ where unfold (Case case_expr) us # (case_expr, us) = unfold case_expr us = (Case case_expr, us) - unfold (Selection is_unique expr selectors) us + unfold (Selection selector_kind expr selectors) us # ((expr, selectors), us) = unfold (expr, selectors) us - = (Selection is_unique expr selectors, us) + = (Selection selector_kind expr selectors, us) unfold (Update expr1 selectors expr2) us # (((expr1, expr2), selectors), us) = unfold ((expr1, expr2), selectors) us = (Update expr1 selectors expr2, us) @@ -981,18 +981,18 @@ partitionate_icl_macro mod_index max_fun_nr predef_symbols_for_transform macro_i -> pi = pi -partitionateDclMacros :: !IndexRange !Index !PredefSymbolsForTransform !*{#FunDef} !*{#*{#FunDef}} !*VarHeap !*ExpressionHeap !*SymbolTable !*ErrorAdmin - -> (!*{#FunDef},!*{#*{#FunDef}},!*VarHeap,!*ExpressionHeap,!*SymbolTable,!*ErrorAdmin ) -partitionateDclMacros {ir_from,ir_to} mod_index predef_symbols_for_transform fun_defs macro_defs var_heap symbol_heap symbol_table error +partitionateDclMacros :: !IndexRange !Index !PredefSymbolsForTransform !*{#*{#FunDef}} !*VarHeap !*ExpressionHeap !*SymbolTable !*ErrorAdmin + -> (!*{#*{#FunDef}},!*VarHeap,!*ExpressionHeap,!*SymbolTable,!*ErrorAdmin ) +partitionateDclMacros {ir_from,ir_to} mod_index predef_symbols_for_transform macro_defs var_heap symbol_heap symbol_table error #! max_fun_nr = cMAXINT # partitioning_info = { pi_var_heap = var_heap, pi_symbol_heap = symbol_heap, - pi_symbol_table = symbol_table, pi_fun_defs=fun_defs, pi_macro_defs=macro_defs, + pi_symbol_table = symbol_table, pi_fun_defs={}, pi_macro_defs=macro_defs, pi_error = error, pi_deps = [], pi_next_num = 0, pi_next_group = 0, pi_groups = [], pi_unexpanded_dcl_macros=[] } {pi_symbol_table, pi_var_heap, pi_symbol_heap, pi_fun_defs, pi_macro_defs, pi_error, pi_next_group, pi_groups, pi_deps} = iFoldSt (partitionate_dcl_macro mod_index max_fun_nr predef_symbols_for_transform) ir_from ir_to partitioning_info - (fun_defs,macro_defs) = reset_body_of_rhs_macros pi_deps pi_fun_defs pi_macro_defs - = (fun_defs,macro_defs, pi_var_heap, pi_symbol_heap, pi_symbol_table, pi_error) + (_,macro_defs) = reset_body_of_rhs_macros pi_deps pi_fun_defs pi_macro_defs + = (macro_defs, pi_var_heap, pi_symbol_heap, pi_symbol_table, pi_error) partitionateIclMacros :: !IndexRange !Index !PredefSymbolsForTransform !*{#FunDef} !*{#*{#FunDef}} !*VarHeap !*ExpressionHeap !*SymbolTable !*ErrorAdmin -> (!*{#FunDef},!*{#*{#FunDef}},!*VarHeap,!*ExpressionHeap,!*SymbolTable,!*ErrorAdmin ) -- cgit v1.2.3