From 7eaef08d6310ef2e9243406a3d45d345fa252a2c Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Thu, 5 Feb 2009 00:23:47 +0000 Subject: [PATCH] fixed PR 10041 svn: r13442 --- collects/redex/private/bitmap-test.ss | 11 +++++++++++ .../redex/private/bmps/metafunction-Name.png | Bin 0 -> 4441 bytes .../redex/private/bmps/metafunction-T.png | Bin 2966 -> 3496 bytes .../redex/private/bmps/metafunction-TL.png | Bin 3776 -> 4613 bytes collects/redex/private/reduction-semantics.ss | 14 +++++++++++++- 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 collects/redex/private/bmps/metafunction-Name.png diff --git a/collects/redex/private/bitmap-test.ss b/collects/redex/private/bitmap-test.ss index ab854394a0..b327dc1a98 100644 --- a/collects/redex/private/bitmap-test.ss +++ b/collects/redex/private/bitmap-test.ss @@ -76,5 +76,16 @@ ;; when the metafunction is rendered (test (render-metafunction TL) "metafunction-TL.png") +(define-metafunction lang + [(Name (name x-arg arg)) + ,(term-let ((x-term-let 1)) + (term (x-where x-term-let))) + (where x-where 2)]) + +;; this tests that the three variable bindings +;; (x-arg, x-term-let, and x-where) +;; all show up in the output. +(test (render-metafunction Name) "metafunction-Name.png") + (printf "bitmap-test.ss: ") (done) diff --git a/collects/redex/private/bmps/metafunction-Name.png b/collects/redex/private/bmps/metafunction-Name.png new file mode 100644 index 0000000000000000000000000000000000000000..68e075ab29a8a19a94f7d8732fd3fab27be15a6d GIT binary patch literal 4441 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 M07*qoM6N<$f;kGjaR2}S diff --git a/collects/redex/private/bmps/metafunction-TL.png b/collects/redex/private/bmps/metafunction-TL.png index 4863d12cdc674f1808041521604680fedad5adee..ce08c4c321d7b4f458640413a3bcde7fd7135b64 100644 GIT binary patch literal 4613 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 diff --git a/collects/redex/private/reduction-semantics.ss b/collects/redex/private/reduction-semantics.ss index 7789191ee3..73cc24f21d 100644 --- a/collects/redex/private/reduction-semantics.ss +++ b/collects/redex/private/reduction-semantics.ss @@ -995,7 +995,13 @@ (syntax->list #'((tl-side-conds ...) ...)))] [(((bind-id . bind-pat) ...) ...) ;; Also for pict, extract pattern bindings - (map extract-pattern-binds (syntax->list #'(lhs ...)))]) + (map extract-pattern-binds (syntax->list #'(lhs ...)))] + [(((rhs-bind-id . rhs-bind-pat) ...) ...) + ;; Also for pict, extract pattern bindings + (map extract-term-let-binds (syntax->list #'(rhs ...)))] + [(((where-id where-pat) ...) ...) + ;; Also for pict, extract where bindings + #'(tl-bindings ...)]) #`(begin (define-values (name2 name-predicate) (let ([sc `(side-conditions-rewritten ...)] @@ -1019,6 +1025,12 @@ (list (to-lw/uq side-cond) ...) (list (cons (to-lw bind-id) (to-lw bind-pat)) + ... + (cons (to-lw rhs-bind-id) + (to-lw rhs-bind-pat)) + ... + (cons (to-lw where-id) + (to-lw where-pat)) ...) (to-lw rhs)) ...)