aboutsummaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
authorronny2002-09-02 13:52:33 +0000
committerronny2002-09-02 13:52:33 +0000
commit9188b6366a7bb5dc4ba05d08f08cfa0e80f1923e (patch)
treec56e99a2e58f3651cf0f5e1a23c0fa2970c7703f /frontend
parentAdded FailExpr node (diff)
expand macros in dynamic expressions
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1194 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend')
-rw-r--r--frontend/transform.icl9
1 files changed, 9 insertions, 0 deletions
diff --git a/frontend/transform.icl b/frontend/transform.icl
index 432829c..988b2ef 100644
--- a/frontend/transform.icl
+++ b/frontend/transform.icl
@@ -1599,6 +1599,9 @@ where
expand (MatchExpr cons_symb expr) ei
# (expr, ei) = expand expr ei
= (MatchExpr cons_symb expr, ei)
+ expand (DynamicExpr dyn) ei
+ # (dyn, ei) = expand dyn ei
+ = (DynamicExpr dyn, ei)
expand expr ei
= (expr, ei)
@@ -1700,6 +1703,12 @@ where
# (dp_rhs, ei) = expand dp_rhs ei
= ({ dyn_pattern & dp_rhs = dp_rhs }, ei)
+instance expand DynamicExpr
+where
+ expand (dyn=:{dyn_expr}) ei
+ # (dyn_expr, ei) = expand dyn_expr ei
+ = ({dyn & dyn_expr = dyn_expr}, ei)
+
instance expand [a] | expand a
where
expand [x:xs] ei