diff options
author | zweije | 2001-08-14 13:42:00 +0000 |
---|---|---|
committer | zweije | 2001-08-14 13:42:00 +0000 |
commit | 96cde0d7d16b853fa6e5a955735ce0384e5d65c1 (patch) | |
tree | f98e3fbc064e01b3cc0b4c1b2c177a9a8d0af2cf /sucl | |
parent | This commit was generated by cvs2svn to compensate for changes in r634, (diff) |
This commit was generated by cvs2svn to compensate for changes in r636,
which included commits to RCS files with non-trunk default branches.
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@637 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'sucl')
-rw-r--r-- | sucl/newfold.icl | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/sucl/newfold.icl b/sucl/newfold.icl index f84f710..de55a0a 100644 --- a/sucl/newfold.icl +++ b/sucl/newfold.icl @@ -345,16 +345,19 @@ newextract :: newextract trc newname (Trace stricts rule answer history transf) | recursive = (stricts,[recrule],recareas) -= subex transf - where subex (Reduce reductroot trace) = newextract trc newname trace - subex (Annotate trace) = newextract trc newname trace - subex (Instantiate yestrace notrace) - = (stricts,yesrules++norules,yesareas++noareas) - where (yesstricts,yesrules,yesareas) = newextract trc newname yestrace - (nostricts,norules,noareas) = newextract trc newname notrace - subex Stop = (stricts,[mkrule rargs rroot stoprgraph],stopareas) - - (recursive,unsafearea) += case transf + of Reduce reductroot trace + -> newextract trc newname trace + Annotate trace + -> newextract trc newname trace + Instantiate yestrace notrace + -> (stricts,yesrules++norules,yesareas++noareas) + where (yesstricts,yesrules,yesareas) = newextract trc newname yestrace + (nostricts,norules,noareas) = newextract trc newname notrace + Stop + -> (stricts,[mkrule rargs rroot stoprgraph],stopareas) + + where (recursive,unsafearea) = if (isreduce transf) (foldoptional (False,undef) (findspinepart rule transf) answer) (False,abort "newextract: not a Reduce transformation") |