From 09c5472dec69b963a9134010dd18868123ad8683 Mon Sep 17 00:00:00 2001 From: johnvg Date: Fri, 31 Aug 2001 10:47:18 +0000 Subject: added code for OverloadedListPatterns git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@705 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d --- frontend/comparedefimp.icl | 2 ++ frontend/convertDynamics.icl | 4 ++++ frontend/explicitimports.icl | 2 ++ 3 files changed, 8 insertions(+) diff --git a/frontend/comparedefimp.icl b/frontend/comparedefimp.icl index 2b90484..48f324e 100644 --- a/frontend/comparedefimp.icl +++ b/frontend/comparedefimp.icl @@ -756,6 +756,8 @@ instance e_corresponds CasePatterns where e_corresponds (BasicPatterns dcl_basic_type dcl_patterns) (BasicPatterns icl_basic_type icl_patterns) = equal2 dcl_basic_type icl_basic_type o` e_corresponds dcl_patterns icl_patterns + e_corresponds (OverloadedListPatterns dcl_alg_type _ dcl_patterns) (OverloadedListPatterns icl_alg_type _ icl_patterns) + = e_corresponds dcl_patterns icl_patterns e_corresponds (DynamicPatterns dcl_patterns) (DynamicPatterns icl_patterns) = e_corresponds dcl_patterns icl_patterns e_corresponds NoPattern NoPattern diff --git a/frontend/convertDynamics.icl b/frontend/convertDynamics.icl index 511cb0f..c14c22a 100644 --- a/frontend/convertDynamics.icl +++ b/frontend/convertDynamics.icl @@ -351,6 +351,10 @@ where (BasicPatterns type basic_patterns) # (basic_patterns, ci) = convertDynamics cinp bound_vars nested_case_default basic_patterns ci -> (Case {keesje & case_expr = case_expr, case_guards = BasicPatterns type basic_patterns, case_default = this_case_default}, ci) + (OverloadedListPatterns type decons_expr algebraic_patterns) + # (algebraic_patterns, ci) = mapSt (convertDynamicsOfAlgebraicPattern cinp bound_vars nested_case_default) + (zip2 algebraic_patterns ct_cons_types) ci + -> (Case {keesje & case_expr = case_expr, case_guards = OverloadedListPatterns type decons_expr algebraic_patterns, case_default = this_case_default}, ci) (DynamicPatterns dynamic_patterns) # keesje = {keesje & case_expr = case_expr, case_default = this_case_default} -> convertDynamicPatterns cinp bound_vars keesje ci diff --git a/frontend/explicitimports.icl b/frontend/explicitimports.icl index 9e52bba..c178de9 100644 --- a/frontend/explicitimports.icl +++ b/frontend/explicitimports.icl @@ -618,6 +618,8 @@ instance check_completeness CasePatterns where = check_completeness algebraicPatterns cci ccs check_completeness (BasicPatterns _ basicPatterns) cci ccs = check_completeness basicPatterns cci ccs + check_completeness (OverloadedListPatterns _ _ algebraicPatterns) cci ccs + = check_completeness algebraicPatterns cci ccs check_completeness (DynamicPatterns dynamicPatterns) cci ccs = check_completeness dynamicPatterns cci ccs check_completeness NoPattern _ ccs -- cgit v1.2.3