;; top.scm ;; Time-stamp: <2004-12-21 16:43:19 wand> (module top (lib "eopl.ss" "eopl") (require "../drscheme-init.scm") (require "lang.scm") ; for scan&parse (require "interp.scm") ; for value-of-program (require "local-tests.scm") ; for test-list (provide (all-defined)) (provide (all-from "interp.scm")) (provide (all-from "lang.scm")) ;;;;;;;;;;;;;;;; interface to test harness ;;;;;;;;;;;;;;;; (define run (lambda (string) (value-of-program (scan&parse string)))) (define run-all (lambda () (run-tests! run equal? test-list))) (define run-one (lambda (test-name) (let ((the-test (assoc test-name test-list))) (cond ((assoc test-name test-list) => (lambda (test) (run (cadr test)))) (else (eopl:error 'run-one "no such test: ~s" test-name)))))) (run-all) )