diff options
author | sjakie | 2001-12-13 09:04:25 +0000 |
---|---|---|
committer | sjakie | 2001-12-13 09:04:25 +0000 |
commit | a7e4626b064028307ea53ab82bdd8f514eb728d2 (patch) | |
tree | 676b8021996cfd4fb35b41e3466aa9fb4315fbf2 | |
parent | removed work around for 2.0 compiler bug (diff) |
Lifting of dynamic expressions repaired
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@934 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
-rw-r--r-- | frontend/transform.icl | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/frontend/transform.icl b/frontend/transform.icl index 296e145..fb931fa 100644 --- a/frontend/transform.icl +++ b/frontend/transform.icl @@ -83,6 +83,9 @@ where lift (MatchExpr opt_tuple cons_symb expr) ls # (expr, ls) = lift expr ls = (MatchExpr opt_tuple cons_symb expr, ls) + lift (DynamicExpr expr) ls + # (expr, ls) = lift expr ls + = (DynamicExpr expr, ls) lift expr ls = (expr, ls) @@ -188,6 +191,14 @@ where # (dp_rhs, ls) = lift dp_rhs ls = ({ pattern & dp_rhs = dp_rhs }, ls) +instance lift DynamicExpr +where + lift dyn=:{dyn_expr} ls + # (dyn_expr, ls) = lift dyn_expr ls + = ({ dyn & dyn_expr = dyn_expr}, ls) + +import RWSDebug + liftFunctions :: [FunctionOrMacroIndex] Int Int *{#FunDef} *{#*{#FunDef}} *(Heap VarInfo) *(Heap ExprInfo) -> .LiftState; liftFunctions group group_index main_dcl_module_n fun_defs macro_defs var_heap expr_heap # (contains_free_vars, lifted_function_called, fun_defs,macro_defs) |