Revert "syntax/parse: fix for deterministic compilation"

This reverts commit 1acaf0111d.
This commit is contained in:
Ryan Culpepper 2016-05-03 02:30:32 -04:00
parent f7fff58de6
commit c8f3536694
2 changed files with 3 additions and 19 deletions

View File

@ -283,20 +283,6 @@ Some optimizations:
;; ----
(begin-for-syntax
;; gensym=>var : Hash[(cons Symbol LiftTarget) => Syntax]
(define gensym=>var (make-hash))
;; lift-gensym : Symbol -> Syntax
;; For deterministic compilation. Maps compile-time gensyms used by
;; action:post to expressions whose values preserve distinctness.
(define (lift-gensym g)
(define key (cons g (syntax-local-lift-context)))
(hash-ref! gensym=>var key
(lambda () (syntax-local-lift-expression #'(gensym))))))
;; ----
#|
Conventions:
- rhs : RHS
@ -747,10 +733,8 @@ Conventions:
[#s(action:do _ (stmt ...))
#'(let () (no-shadow stmt) ... (#%expression k))]
[#s(action:post _ pattern group index)
(with-syntax ([group* (let ([group (syntax->datum #'group)])
(if group (lift-gensym group) #'#f))])
#'(let ([pr* (ps-add-post pr group* 'index)])
(parse:A x cx pattern pr* es k)))])]))
#'(let ([pr* (ps-add-post pr 'group 'index)])
(parse:A x cx pattern pr* es k))])]))
;; (bind/sides clauses k) : expr[Ans]
;; In k: attrs(clauses) are bound.

View File

@ -79,7 +79,7 @@ A ActionPattern is one of
* (action:and Base (listof ActionPattern))
(action:parse Base SinglePattern stx)
(action:do Base (listof stx))
(action:post Base ActionPattern (U UninternedSymbol #f) Nat)
(action:post Base ActionPattern Quotable Nat)
action:and is desugared below in create-* procedures
|#