From 42caad96ded1c344737557067457f8ffbd348ce7 Mon Sep 17 00:00:00 2001 From: Jon Rafkind Date: Mon, 21 Nov 2011 14:41:00 -0700 Subject: [PATCH] [honu] use honu-body directly in the parser --- collects/honu/core/private/parse2.rkt | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/collects/honu/core/private/parse2.rkt b/collects/honu/core/private/parse2.rkt index 912e991674..a3f95bd66c 100644 --- a/collects/honu/core/private/parse2.rkt +++ b/collects/honu/core/private/parse2.rkt @@ -184,7 +184,7 @@ (define-syntax-class honu-body #:literal-sets (cruft) [pattern (#%braces code ...) - #:with result #'(begin + #:with result #'(let () (define-syntax (parse-more stx) (do-parse stx #'parse-more)) (parse-more code ...))]) @@ -414,13 +414,10 @@ (do-parse #'(rest ...) precedence left lookup) (do-parse #'(rest ...) precedence left value))])] ;; block of code - [(#%braces stuff ...) - (if current + [body:honu-body + (if current (values (left current) stream) - (let () - (define body (parse-all #'(stuff ...))) - (with-syntax ([body body]) - (do-parse #'(rest ...) precedence left #'(let () body)))))] + (do-parse #'(rest ...) precedence left #'body.result))] ;; expression or function application [(#%parens args ...) (if current