conform working again
This commit is contained in:
parent
baff56f6d0
commit
804bd5e80a
|
@ -1721,9 +1721,7 @@
|
||||||
empty-instruction-sequence]
|
empty-instruction-sequence]
|
||||||
[(eq? context 'drop-multiple)
|
[(eq? context 'drop-multiple)
|
||||||
(make-PopEnvironment (make-Const 1)
|
(make-PopEnvironment (make-Const 1)
|
||||||
(new-SubtractArg
|
(make-Const 0))]
|
||||||
(make-Reg 'argcount)
|
|
||||||
(make-Const 1)))]
|
|
||||||
[(eq? context 'keep-multiple)
|
[(eq? context 'keep-multiple)
|
||||||
;; dynamic number of arguments that need
|
;; dynamic number of arguments that need
|
||||||
;; to be preserved
|
;; to be preserved
|
||||||
|
|
|
@ -130,12 +130,7 @@
|
||||||
(define set-internal-node-green-edges! (lambda (node edges) (vector-set! node '1 edges)))
|
(define set-internal-node-green-edges! (lambda (node edges) (vector-set! node '1 edges)))
|
||||||
(define set-internal-node-red-edges! (lambda (node edges) (vector-set! node '2 edges)))
|
(define set-internal-node-red-edges! (lambda (node edges) (vector-set! node '2 edges)))
|
||||||
(define set-internal-node-blue-edges! (lambda (node edges)
|
(define set-internal-node-blue-edges! (lambda (node edges)
|
||||||
(displayln "in set-internal-node-blue-edges")
|
(vector-set! node '3 edges)))
|
||||||
(displayln node)
|
|
||||||
(displayln edges)
|
|
||||||
(vector-set! node '3 edges)
|
|
||||||
;(displayln "ok, done")
|
|
||||||
))
|
|
||||||
(define make-node
|
(define make-node
|
||||||
(lambda (name blue-edges)
|
(lambda (name blue-edges)
|
||||||
(let ((name (if (symbol? name) (symbol->string name) name))
|
(let ((name (if (symbol? name) (symbol->string name) name))
|
||||||
|
@ -155,17 +150,11 @@
|
||||||
(define make-edge-setter
|
(define make-edge-setter
|
||||||
(lambda (mutator!)
|
(lambda (mutator!)
|
||||||
(lambda (node value)
|
(lambda (node value)
|
||||||
(displayln "here")
|
|
||||||
(displayln any-node?)
|
|
||||||
(displayln none-node?)
|
|
||||||
(displayln mutator!)
|
|
||||||
(if (any-node? node)
|
(if (any-node? node)
|
||||||
(begin (error '"Can't set edges from the ANY node"))
|
(begin (error '"Can't set edges from the ANY node"))
|
||||||
(if (none-node? node) (begin 'OK) (begin (mutator! node value)))))))
|
(if (none-node? node) (begin 'OK) (begin (mutator! node value)))))))
|
||||||
(define set-red-edges! (make-edge-setter set-internal-node-red-edges!))
|
(define set-red-edges! (make-edge-setter set-internal-node-red-edges!))
|
||||||
(define set-green-edges! (make-edge-setter set-internal-node-green-edges!))
|
(define set-green-edges! (make-edge-setter set-internal-node-green-edges!))
|
||||||
(displayln make-edge-setter)
|
|
||||||
(displayln set-internal-node-blue-edges!)
|
|
||||||
(define set-blue-edges! (make-edge-setter set-internal-node-blue-edges!))
|
(define set-blue-edges! (make-edge-setter set-internal-node-blue-edges!))
|
||||||
(define make-blue-edge vector)
|
(define make-blue-edge vector)
|
||||||
(define blue-edge-operation (lambda (edge) (vector-ref edge '0)))
|
(define blue-edge-operation (lambda (edge) (vector-ref edge '0)))
|
||||||
|
@ -476,19 +465,10 @@
|
||||||
(define d '())
|
(define d '())
|
||||||
(define reset
|
(define reset
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(displayln make-node)
|
|
||||||
(displayln make-blue-edge)
|
|
||||||
(displayln set-blue-edges!)
|
|
||||||
(set! a (make-node 'a '()))
|
(set! a (make-node 'a '()))
|
||||||
(displayln "after make-node")
|
|
||||||
(set! b (make-node 'b '()))
|
(set! b (make-node 'b '()))
|
||||||
(displayln "after make-node")
|
|
||||||
(displayln "blue edge")
|
|
||||||
(displayln (make-blue-edge 'phi any-node b))
|
|
||||||
(set-blue-edges! a (list (make-blue-edge 'phi any-node b)))
|
(set-blue-edges! a (list (make-blue-edge 'phi any-node b)))
|
||||||
(displayln "after set-blue-edges!")
|
|
||||||
(set-blue-edges! b (list (make-blue-edge 'phi any-node a) (make-blue-edge 'theta any-node b)))
|
(set-blue-edges! b (list (make-blue-edge 'phi any-node a) (make-blue-edge 'theta any-node b)))
|
||||||
(displayln "half")
|
|
||||||
(set! c (make-node '"c" '()))
|
(set! c (make-node '"c" '()))
|
||||||
(set! d (make-node '"d" '()))
|
(set! d (make-node '"d" '()))
|
||||||
(set-blue-edges! c (list (make-blue-edge 'theta any-node b)))
|
(set-blue-edges! c (list (make-blue-edge 'theta any-node b)))
|
||||||
|
@ -499,7 +479,6 @@
|
||||||
(define go
|
(define go
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(reset)
|
(reset)
|
||||||
(displayln "after reset")
|
|
||||||
(let ((result
|
(let ((result
|
||||||
'("(((b v d) ^ a) v c)"
|
'("(((b v d) ^ a) v c)"
|
||||||
"(c ^ d)"
|
"(c ^ d)"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user