X-Git-Url: https://git.lukelau.me/?p=scheme.git;a=blobdiff_plain;f=main.scm;h=df8e656978b66349472e5a3599c12f5eb809f7f4;hp=e2e96b8355b68cd43967977259c67ab91f7a5e1e;hb=a64f7097fa246c19a4c69d0aad65e60378273887;hpb=74729258ddf19dfeb175cf98d5a3891cd8160faf diff --git a/main.scm b/main.scm index e2e96b8..df8e656 100644 --- a/main.scm +++ b/main.scm @@ -28,8 +28,13 @@ (define target (car (parse-args))) (define file (cadr (parse-args))) +(define (read-prog port) + (if (port-input-empty? port) + '() + (cons (read) (read-prog port)))) + (compile-to-binary (if (eqv? file 'stdin) - (read) - (call-with-input-file file read)) + (read-prog (current-input-port)) + (call-with-input-file file read-prog)) "a.out" target)