From 6afb62f51040bb5492397b1e3dbc046d4fe19320 Mon Sep 17 00:00:00 2001 From: Casey Klein Date: Wed, 28 Jan 2009 16:30:22 +0000 Subject: [PATCH] Fixed a bug in find-base-cases. svn: r13303 --- collects/redex/private/rg-test.ss | 7 +++++++ collects/redex/private/rg.ss | 2 ++ 2 files changed, 9 insertions(+) diff --git a/collects/redex/private/rg-test.ss b/collects/redex/private/rg-test.ss index 560e7d7ef8..761f2a5ec0 100644 --- a/collects/redex/private/rg-test.ss +++ b/collects/redex/private/rg-test.ss @@ -48,6 +48,13 @@ (v . (2 0)) (v-e . (2 2 2 2 1)) (v-v . (0 2)) (x . (0)) (x-e . (2 2 2 2 1 3)) (x-v . (2 2)) (x-x . (0))))) +(let () + (define-language L + (x (variable-prefix x) + (variable-except y)) + (y y)) + (test (hash-ref (find-base-cases L) 'x) '(0 0))) + (let () (define-language lang (e number x y) diff --git a/collects/redex/private/rg.ss b/collects/redex/private/rg.ss index d86ffa5ef4..56fe698ed9 100644 --- a/collects/redex/private/rg.ss +++ b/collects/redex/private/rg.ss @@ -429,6 +429,8 @@ To do a better job of not generating programs with free variables, (set! nts (cons (symbol->nt pat) nts)))] [`(cross ,(? symbol? x-nt)) (set! nts (cons x-nt nts))] + [`(variable-except ,s ...) (void)] + [`(variable-prefix ,p) (void)] [`() (void)] [(struct ellipsis (_ p _ _)) (loop p)]