From 6fefdc2bdbf518c1c22f6a130bb803abe9f174d7 Mon Sep 17 00:00:00 2001 From: johnvg Date: Thu, 2 Aug 2012 11:08:38 +0000 Subject: 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 --- frontend/convertDynamics.icl | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'frontend/convertDynamics.icl') 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 -- cgit v1.2.3