aboutsummaryrefslogtreecommitdiff
path: root/frontend/convertDynamics.icl
diff options
context:
space:
mode:
authorjohnvg2012-08-02 11:08:38 +0000
committerjohnvg2012-08-02 11:08:38 +0000
commit6fefdc2bdbf518c1c22f6a130bb803abe9f174d7 (patch)
tree2d495b0532246eab6870886d84f03907531f8bae /frontend/convertDynamics.icl
parentoptimize is constructor functions (diff)
add pattern match test using =: in expressions,
add constructors PE_Matches and IsConstructor in module syntax git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@2130 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend/convertDynamics.icl')
-rw-r--r--frontend/convertDynamics.icl12
1 files changed, 7 insertions, 5 deletions
diff --git a/frontend/convertDynamics.icl b/frontend/convertDynamics.icl
index 9bfe503..801e1ac 100644
--- a/frontend/convertDynamics.icl
+++ b/frontend/convertDynamics.icl
@@ -3,7 +3,6 @@ implementation module convertDynamics
import syntax
from type_io_common import PredefinedModuleName
-
// Optional
extended_unify_and_coerce no yes :== no; // change also _unify and _coerce in StdDynamic
@@ -286,13 +285,16 @@ instance convertDynamics Expression where
= (TupleSelect definedSymbol int expression, ci)
convertDynamics _ be=:(BasicExpr _) ci
= (be, ci)
+ convertDynamics cinp (MatchExpr symb expression) ci
+ # (expression, ci) = convertDynamics cinp expression ci
+ = (MatchExpr symb expression, ci)
+ convertDynamics cinp (IsConstructor expr cons_symbol cons_arity global_type_index case_ident position) ci
+ # (expr, ci) = convertDynamics cinp expr ci
+ = (IsConstructor expr cons_symbol cons_arity global_type_index case_ident position, ci)
convertDynamics _ code_expr=:(AnyCodeExpr _ _ _) ci
= (code_expr, ci)
convertDynamics _ code_expr=:(ABCCodeExpr _ _) ci
= (code_expr, ci)
- convertDynamics cinp (MatchExpr symb expression) ci
- # (expression, ci) = convertDynamics cinp expression ci
- = (MatchExpr symb expression, ci)
convertDynamics cinp (DynamicExpr dyno) ci
= convertDynamic cinp dyno ci
convertDynamics cinp EE ci
@@ -324,7 +326,7 @@ instance convertDynamics Case where
_
# (case_guards, ci) = convertDynamics cinp case_guards ci
# kees & case_guards=case_guards
- -> (kees, ci)
+ -> (kees, ci)
instance convertDynamics CasePatterns where
convertDynamics cinp (BasicPatterns type alts) ci