;really these files should never be re-generated unless you're prepared
;to inspect everyone of them for correctness. (Since they've already been inspected by hand).

(define the-prims
  (list "tests/prims/seq1.scm"
	"tests/prims/seq2.scm"
	"tests/prims/seq3.scm"
	"tests/prims/alt1.scm"
	"tests/prims/alt2.scm"
	"tests/prims/alt3.scm"
	"tests/prims/alt4.scm"
	"tests/prims/begin1.scm"
	"tests/prims/begin2.scm"
	"tests/prims/begin3.scm"
	"tests/prims/begin4.scm"
	"tests/prims/begin5.scm"
	"tests/prims/if1.scm"
	"tests/prims/if2.scm"
	"tests/prims/if3.scm"
	"tests/prims/if4.scm"
	"tests/prims/inv1.scm"
	"tests/prims/inv2.scm"
	"tests/prims/inv3.scm"
	"tests/prims/inv4.scm"
	"tests/prims/inv5.scm"
	"tests/prims/inv6.scm"
	"tests/prims/iter1.scm"
	"tests/prims/iter2.scm"
	"tests/prims/iter3.scm"
	"tests/prims/iter4.scm"
	"tests/prims/iter5.scm"
	"tests/prims/iter6.scm"
	"tests/prims/leap-mark1.scm"
	"tests/prims/leap-mark2.scm"
	"tests/prims/leap-mark3.scm"
	"tests/prims/while1.scm"
	"tests/prims/while2.scm"
	"tests/prims/while3.scm"
	"tests/prims/with-win1.scm"
	"tests/prims/with-win2.scm"
	"tests/prims/with-win3.scm"
	"tests/prims/with-win4.scm"
	"tests/prims/with-win5.scm"
	"tests/prims/with-lose1.scm"
	"tests/prims/with-lose2.scm"
	"tests/prims/with-lose3.scm"
	"tests/prims/with-win-lose1.scm"
	"tests/prims/with-win-lose2.scm"
	"tests/prims/with-win-lose3.scm"
	"tests/prims/with-win-lose4.scm"
	"tests/prims/with-win-lose5.scm"
	"tests/prims/exp-k1.scm"
	"tests/prims/exp-k2.scm"
	"tests/prims/exp-k3.scm"
	"tests/prims/exp-k4.scm"
	"tests/prims/esc1.scm"
	"tests/prims/esc2.scm"
	"tests/prims/esc3.scm"
	"tests/prims/esc4.scm"
	"tests/prims/esc5.scm"
	"tests/prims/esc6.scm"
	"tests/prims/esc7.scm"
	"tests/prims/label1.scm"
	"tests/prims/label2.scm"
	"tests/prims/label3.scm"
	"tests/prims/label4.scm"
	"tests/prims/locals1.scm"
	"tests/prims/locals2.scm"
	"tests/prims/locals3.scm"
	"tests/prims/locals4.scm"
	"tests/prims/locals5.scm"
	"tests/prims/locals6.scm"
	"tests/prims/locals7.scm"
	"tests/prims/locals8.scm"
	))

(define prims16
  (list "tests/prims16/16seq1.scm"
	"tests/prims16/16seq2.scm"
	"tests/prims16/16seq3.scm"
	"tests/prims16/16alt1.scm"
	"tests/prims16/16alt2.scm"
	"tests/prims16/16alt3.scm"
	"tests/prims16/16alt4.scm"
	"tests/prims16/16begin1.scm"
	"tests/prims16/16begin2.scm"
	"tests/prims16/16begin3.scm"
	"tests/prims16/16begin4.scm"
	"tests/prims16/16begin5.scm"
	"tests/prims16/16if1.scm"
	"tests/prims16/16if2.scm"
	"tests/prims16/16if3.scm"
	"tests/prims16/16if4.scm"
	"tests/prims16/16inv1.scm"
	"tests/prims16/16inv2.scm"
	"tests/prims16/16inv3.scm"
	"tests/prims16/16inv4.scm"
	"tests/prims16/16inv5.scm"
	"tests/prims16/16inv6.scm"
	"tests/prims16/16iter1.scm"
	"tests/prims16/16iter2.scm"
	"tests/prims16/16iter3.scm"
	"tests/prims16/16iter4.scm"
	"tests/prims16/16iter5.scm"
	"tests/prims16/16iter6.scm"
	"tests/prims16/16leap-mark1.scm"
	"tests/prims16/16leap-mark2.scm"
	"tests/prims16/16leap-mark3.scm"
	"tests/prims16/16while1.scm"
	"tests/prims16/16while2.scm"
	"tests/prims16/16while3.scm"
	"tests/prims16/16with-win1.scm"
	"tests/prims16/16with-win2.scm"
	"tests/prims16/16with-win3.scm"
	"tests/prims16/16with-win4.scm"
	"tests/prims16/16with-win5.scm"
	"tests/prims16/16with-lose1.scm"
	"tests/prims16/16with-lose2.scm"
	"tests/prims16/16with-lose3.scm"
	"tests/prims16/16with-win-lose1.scm"
	"tests/prims16/16with-win-lose2.scm"
	"tests/prims16/16with-win-lose3.scm"
	"tests/prims16/16with-win-lose4.scm"
	"tests/prims16/16with-win-lose5.scm"
	"tests/prims16/16exp-k1.scm"
	"tests/prims16/16exp-k2.scm"
	"tests/prims16/16exp-k3.scm"
	"tests/prims16/16exp-k4.scm"
	"tests/prims16/16esc1.scm"
	"tests/prims16/16esc2.scm"
	"tests/prims16/16esc3.scm"
	"tests/prims16/16esc4.scm"
	"tests/prims16/16esc5.scm"
	"tests/prims16/16esc6.scm"
	"tests/prims16/16esc7.scm"
	"tests/prims16/16label1.scm"
	"tests/prims16/16label2.scm"
	"tests/prims16/16label3.scm"
	"tests/prims16/16label4.scm"
	"tests/prims16/16locals1.scm"
	"tests/prims16/16locals2.scm"
	"tests/prims16/16locals3.scm"
	"tests/prims16/16locals4.scm"
	"tests/prims16/16locals5.scm"
	"tests/prims16/16locals6.scm"
	"tests/prims16/16locals7.scm"
	"tests/prims16/16locals8.scm"
	))


(define (go-gen lst)
  (for-each
   (lambda (x)
     (let ((outp (substring x 0 (- (string-length x) 4))))
       (and (file-exists? outp)
	    (delete-file outp))
       (sassy-make-bin outp (sassy x))))
   lst))

; (go-gen the-prims)
; (go-gen prims16)