+#!/usr/bin/scheme --script
+
(load "codegen.scm")
(load "platform.scm")
(or (equal? (car x) "-t")
(equal? (car x) "--target"))
(case (cadr x)
- ("darwin" 'darwin)
- ("linux" 'linux)
+ (("darwin") 'darwin)
+ (("linux") 'linux)
(else (error #f "unknown os")))
(parse-os (cdr x)))))
(define (parse-file x)
(define target (car (parse-args)))
(define file (cadr (parse-args)))
+ ; reads in all datums until eof
(define (read-prog port)
- (if (port-input-empty? port)
+ (let ([x (read port)])
+ (if (eof-object? x)
'()
- (cons (read) (read-prog port))))
+ (cons x (read-prog port)))))
(compile-to-binary
(if (eqv? file 'stdin)