diff options
author | johnvg | 2012-08-02 11:08:38 +0000 |
---|---|---|
committer | johnvg | 2012-08-02 11:08:38 +0000 |
commit | 6fefdc2bdbf518c1c22f6a130bb803abe9f174d7 (patch) | |
tree | 2d495b0532246eab6870886d84f03907531f8bae /frontend/convertDynamics.icl | |
parent | optimize 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.icl | 12 |
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 |