aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authorjohnvg2003-12-11 15:18:52 +0000
committerjohnvg2003-12-11 15:18:52 +0000
commit0468f6b8191867d014a3aaab4264569b78f0bd42 (patch)
tree374cc09c35800ce42e3ee31206b0e33f5e98af68 /backend
parentremove BackendBody (diff)
move FunctionPattern type from syntax to backendconvert
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1428 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backend')
-rw-r--r--backend/backendconvert.icl6
-rw-r--r--backend/backendpreprocess.icl11
2 files changed, 6 insertions, 11 deletions
diff --git a/backend/backendconvert.icl b/backend/backendconvert.icl
index f3efdd6..3e1e22c 100644
--- a/backend/backendconvert.icl
+++ b/backend/backendconvert.icl
@@ -29,6 +29,12 @@ sfoldr op r l s
foldr [] = r
foldr [a:x] = op a (foldr x)
+:: FunctionPattern = FP_Basic !BasicValue !(Optional FreeVar)
+ | FP_Algebraic !(Global DefinedSymbol) ![FunctionPattern] !(Optional FreeVar)
+ | FP_Variable !FreeVar
+ | FP_Dynamic ![VarInfoPtr] !FreeVar !TypeCodeExpression !(Optional FreeVar)
+ | FP_Empty
+
:: BEMonad a :== *BackEndState -> *(!a,!*BackEndState)
:: BackEnder :== *BackEndState -> *BackEndState
diff --git a/backend/backendpreprocess.icl b/backend/backendpreprocess.icl
index 47274b1..85aba8c 100644
--- a/backend/backendpreprocess.icl
+++ b/backend/backendpreprocess.icl
@@ -175,17 +175,6 @@ instance sequence LetBind where
sequence bind
= sequence bind.lb_dst
-instance sequence FunctionPattern where
- sequence (FP_Algebraic _ subpatterns optionalVar)
- = sequence subpatterns
- o` sequence optionalVar
- sequence (FP_Variable freeVar)
- = sequence freeVar
- sequence (FP_Basic _ optionalVar)
- = sequence optionalVar
- sequence FP_Empty
- = identity
-
instance sequence (Ptr VarInfo) where
sequence varInfoPtr
= assignSequenceNumber varInfoPtr