commit 63ee789eb9a9c68fa0cf87092556671e3be8690d
parent be8ce288fa73a1f91508e3a178227bd2a1644ac7
Author: Ryan Culpepper <ryanc@racket-lang.org>
Date: Wed, 7 Mar 2007 05:22:42 +0000
Macro stepper: added final definite reference result
svn: r5746
original commit: 3facbd99abbd666d5b4a6c21c421a9aea870dd32
Diffstat:
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/collects/macro-debugger/model/reductions.ss b/collects/macro-debugger/model/reductions.ss
@@ -7,7 +7,8 @@
"deriv.ss"
"reductions-engine.ss")
- (provide reductions)
+ (provide reductions
+ reductions+definites)
;; Setup for reduction-engines
@@ -38,7 +39,14 @@
(current-frontier null))
(add-frontier (list (lift/deriv-e1 d)))
(reductions* d)))
-
+
+ (define (reductions+definites d)
+ (parameterize ((current-definites null)
+ (current-frontier null))
+ (add-frontier (list (lift/deriv-e1 d)))
+ (let ([rs (reductions* d)])
+ (values rs (current-definites)))))
+
(define (reductions* d)
(match d
[(AnyQ prule (e1 e2 rs))
@@ -46,7 +54,6 @@
(blaze-frontier e1)]
[_ (void)])
(match/with-derivation d
-
;; Primitives
[(struct p:variable (e1 e2 rs))
(learn-definites (list e2))