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)
|
||||
|
||||
(define input-program
|
||||
'((define test
|
||||
'((define nqueens
|
||||
#((record-marker)
|
||||
#((record-marker) #f (id args body))
|
||||
#(9 (k$11 a$4) ((write k$11 3)))))
|
||||
(#((record-marker)
|
||||
#((record-marker) #f (id args body))
|
||||
#(8
|
||||
(y$1)
|
||||
#(51
|
||||
(k$30 n$4)
|
||||
((#((record-marker)
|
||||
#((record-marker) #f (id args body))
|
||||
#(7
|
||||
()
|
||||
#(50
|
||||
(dec-to$10 ok?$9 try$8)
|
||||
((#((record-marker)
|
||||
#((record-marker) #f (id args body))
|
||||
#(6
|
||||
(r$5)
|
||||
#(49
|
||||
(dec-to$13 try$12 ok?$11)
|
||||
((#((record-marker)
|
||||
#((record-marker) #f (id args body))
|
||||
#(5
|
||||
(x$2)
|
||||
#(38
|
||||
(r$65)
|
||||
((#((record-marker)
|
||||
#((record-marker) #f (id args body))
|
||||
#(4
|
||||
(y$3)
|
||||
#(37
|
||||
(r$31)
|
||||
((#((record-marker)
|
||||
#((record-marker) #f (id args body))
|
||||
#(3
|
||||
(r$7)
|
||||
#(20
|
||||
(r$48)
|
||||
((#((record-marker)
|
||||
#((record-marker) #f (id args body))
|
||||
#(2
|
||||
(r$8)
|
||||
((write #((record-marker)
|
||||
#(19
|
||||
(r$32)
|
||||
((#((record-marker)
|
||||
#((record-marker)
|
||||
#f
|
||||
(id args body))
|
||||
#(1 (r$6) ((test %halt 4))))
|
||||
r$8))))
|
||||
(+ x$2 y$3)))))
|
||||
(set! y$3 2)))))
|
||||
#(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))))
|
||||
1))))
|
||||
0))))))))
|
||||
#f))
|
||||
n$20
|
||||
r$67))))
|
||||
'()))))))))
|
||||
#f
|
||||
#f
|
||||
#f))))
|
||||
#f
|
||||
#f
|
||||
#f)))))
|
||||
(#((record-marker)
|
||||
#((record-marker) #f (id args body))
|
||||
#(3
|
||||
()
|
||||
((#((record-marker)
|
||||
#((record-marker) #f (id args body))
|
||||
#(2
|
||||
(r$26)
|
||||
((nqueens
|
||||
#((record-marker)
|
||||
#((record-marker) #f (id args body))
|
||||
#(1 (r$27) ((write %halt r$27))))
|
||||
8))))
|
||||
0))))))
|
||||
)
|
||||
|
||||
(set! input-program
|
||||
|
|
Loading…
Add table
Reference in a new issue