mirror of
https://github.com/justinethier/cyclone.git
synced 2025-07-16 09:17:35 +02:00
Added nqueens CPS
This commit is contained in:
parent
3467ce3a4d
commit
e7fed626c0
1 changed files with 382 additions and 38 deletions
|
@ -26,50 +26,394 @@
|
||||||
;(newline)
|
;(newline)
|
||||||
|
|
||||||
(define input-program
|
(define input-program
|
||||||
'((define test
|
'((define nqueens
|
||||||
#((record-marker)
|
#((record-marker)
|
||||||
#((record-marker) #f (id args body))
|
#((record-marker) #f (id args body))
|
||||||
#(9 (k$11 a$4) ((write k$11 3)))))
|
#(51
|
||||||
|
(k$30 n$4)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(50
|
||||||
|
(dec-to$10 ok?$9 try$8)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(49
|
||||||
|
(dec-to$13 try$12 ok?$11)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(38
|
||||||
|
(r$65)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(37
|
||||||
|
(r$31)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(20
|
||||||
|
(r$48)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(19
|
||||||
|
(r$32)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(8
|
||||||
|
(r$37)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(7
|
||||||
|
(r$33)
|
||||||
|
((dec-to$10
|
||||||
|
#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(6
|
||||||
|
(r$34)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(5
|
||||||
|
(r$35)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(4
|
||||||
|
(r$36)
|
||||||
|
((try$8 k$30
|
||||||
|
r$34
|
||||||
|
r$35
|
||||||
|
r$36))))
|
||||||
|
'()))))
|
||||||
|
'()))))
|
||||||
|
n$4))))
|
||||||
|
(set! ok?$9 r$37)))))
|
||||||
|
#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(18
|
||||||
|
(k$38 row$16 dist$15 placed$14)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(17
|
||||||
|
(r$39)
|
||||||
|
((if r$39
|
||||||
|
(k$38 #t)
|
||||||
|
(#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(16
|
||||||
|
(r$46)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(15
|
||||||
|
(r$47)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(14
|
||||||
|
(r$40)
|
||||||
|
((if r$40
|
||||||
|
(k$38 #f)
|
||||||
|
(#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(13
|
||||||
|
(r$44)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(12
|
||||||
|
(r$45)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(11
|
||||||
|
(r$41)
|
||||||
|
((if r$41
|
||||||
|
(k$38 #f)
|
||||||
|
(#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(10
|
||||||
|
(r$42)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(9
|
||||||
|
(r$43)
|
||||||
|
((ok?$9 k$38
|
||||||
|
row$16
|
||||||
|
r$42
|
||||||
|
r$43))))
|
||||||
|
(cdr placed$14)))))
|
||||||
|
(+ dist$15
|
||||||
|
1))))))
|
||||||
|
(= r$44
|
||||||
|
r$45)))))
|
||||||
|
(- row$16
|
||||||
|
dist$15)))))
|
||||||
|
(car placed$14))))))
|
||||||
|
(= r$46
|
||||||
|
r$47)))))
|
||||||
|
(+ row$16
|
||||||
|
dist$15)))))
|
||||||
|
(car placed$14))))))
|
||||||
|
(null? placed$14)))))))))
|
||||||
|
(set! try$8 r$48)))))
|
||||||
|
#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(36
|
||||||
|
(k$49 x$19 y$18 z$17)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(35
|
||||||
|
(r$50)
|
||||||
|
((if r$50
|
||||||
|
(#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(21
|
||||||
|
(r$51)
|
||||||
|
((if r$51
|
||||||
|
(k$49 1)
|
||||||
|
(k$49 0)))))
|
||||||
|
(null? y$18))
|
||||||
|
(#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(34
|
||||||
|
(k$57)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(33
|
||||||
|
(r$64)
|
||||||
|
((ok?$9 #((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(32
|
||||||
|
(r$58)
|
||||||
|
((if r$58
|
||||||
|
(#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(31
|
||||||
|
(r$63)
|
||||||
|
((append
|
||||||
|
#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(30
|
||||||
|
(r$59)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(29
|
||||||
|
(r$60)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(28
|
||||||
|
(r$62)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(27
|
||||||
|
(r$61)
|
||||||
|
((try$8 k$57
|
||||||
|
r$59
|
||||||
|
r$60
|
||||||
|
r$61))))
|
||||||
|
(cons r$62
|
||||||
|
z$17)))))
|
||||||
|
(car x$19)))))
|
||||||
|
'()))))
|
||||||
|
r$63
|
||||||
|
y$18))))
|
||||||
|
(cdr x$19))
|
||||||
|
(k$57 0)))))
|
||||||
|
r$64
|
||||||
|
1
|
||||||
|
z$17))))
|
||||||
|
(car x$19)))))
|
||||||
|
#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(26
|
||||||
|
(r$52)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(25
|
||||||
|
(r$54)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(24
|
||||||
|
(r$56)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(23
|
||||||
|
(r$55)
|
||||||
|
((try$8 #((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(22
|
||||||
|
(r$53)
|
||||||
|
((k$49 (+ r$52
|
||||||
|
r$53)))))
|
||||||
|
r$54
|
||||||
|
r$55
|
||||||
|
z$17))))
|
||||||
|
(cons r$56
|
||||||
|
y$18)))))
|
||||||
|
(car x$19)))))
|
||||||
|
(cdr x$19))))))))))
|
||||||
|
(null? x$19)))))))))
|
||||||
|
(set! dec-to$10 r$65)))))
|
||||||
|
#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(48
|
||||||
|
(k$66 n$20)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(47
|
||||||
|
(r$67)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(46
|
||||||
|
(i$22 l$21)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker) #f (id args body))
|
||||||
|
#(45
|
||||||
|
(loop$23)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(40
|
||||||
|
(r$69)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(39
|
||||||
|
(r$68)
|
||||||
|
((loop$23
|
||||||
|
k$66
|
||||||
|
i$22
|
||||||
|
l$21))))
|
||||||
|
(set! loop$23 r$69)))))
|
||||||
|
#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(44
|
||||||
|
(k$70 i$25 l$24)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(43
|
||||||
|
(r$71)
|
||||||
|
((if r$71
|
||||||
|
(k$70 l$24)
|
||||||
|
(#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args body))
|
||||||
|
#(42
|
||||||
|
(r$72)
|
||||||
|
((#((record-marker)
|
||||||
|
#((record-marker)
|
||||||
|
#f
|
||||||
|
(id args
|
||||||
|
body))
|
||||||
|
#(41
|
||||||
|
(r$73)
|
||||||
|
((loop$23
|
||||||
|
k$70
|
||||||
|
r$72
|
||||||
|
r$73))))
|
||||||
|
(cons i$25
|
||||||
|
l$24)))))
|
||||||
|
(- i$25 1))))))
|
||||||
|
(= i$25 0)))))))))
|
||||||
|
#f))))
|
||||||
|
n$20
|
||||||
|
r$67))))
|
||||||
|
'()))))))))
|
||||||
|
#f
|
||||||
|
#f
|
||||||
|
#f))))
|
||||||
|
#f
|
||||||
|
#f
|
||||||
|
#f)))))
|
||||||
(#((record-marker)
|
(#((record-marker)
|
||||||
#((record-marker) #f (id args body))
|
#((record-marker) #f (id args body))
|
||||||
#(8
|
#(3
|
||||||
(y$1)
|
()
|
||||||
((#((record-marker)
|
((#((record-marker)
|
||||||
#((record-marker) #f (id args body))
|
#((record-marker) #f (id args body))
|
||||||
#(7
|
#(2
|
||||||
()
|
(r$26)
|
||||||
((#((record-marker)
|
((nqueens
|
||||||
#((record-marker) #f (id args body))
|
#((record-marker)
|
||||||
#(6
|
#((record-marker) #f (id args body))
|
||||||
(r$5)
|
#(1 (r$27) ((write %halt r$27))))
|
||||||
((#((record-marker)
|
8))))
|
||||||
#((record-marker) #f (id args body))
|
0))))))
|
||||||
#(5
|
|
||||||
(x$2)
|
|
||||||
((#((record-marker)
|
|
||||||
#((record-marker) #f (id args body))
|
|
||||||
#(4
|
|
||||||
(y$3)
|
|
||||||
((#((record-marker)
|
|
||||||
#((record-marker) #f (id args body))
|
|
||||||
#(3
|
|
||||||
(r$7)
|
|
||||||
((#((record-marker)
|
|
||||||
#((record-marker) #f (id args body))
|
|
||||||
#(2
|
|
||||||
(r$8)
|
|
||||||
((write #((record-marker)
|
|
||||||
#((record-marker)
|
|
||||||
#f
|
|
||||||
(id args body))
|
|
||||||
#(1 (r$6) ((test %halt 4))))
|
|
||||||
r$8))))
|
|
||||||
(+ x$2 y$3)))))
|
|
||||||
(set! y$3 2)))))
|
|
||||||
#f))))
|
|
||||||
1))))
|
|
||||||
0))))))))
|
|
||||||
#f))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
(set! input-program
|
(set! input-program
|
||||||
|
|
Loading…
Add table
Reference in a new issue