Improve GambitREPL iOS example.
[gambit-c.git] / lib / syntax-case-expand-file
blobd7dad2ce2e70be298da6427077176f2aa9848a0e
1 #! ../gsi/gsi -:=..
3 ;;; File: "syntax-case-expand-file", Time-stamp: <2007-05-27 23:09:04 feeley>
5 ;;; Copyright (c) 2007 by Marc Feeley, All Rights Reserved.
7 ;;;============================================================================
9 (define expand-file
10   (lambda (filename-in filename-out)
11     (let* ((exprs
12             (cons 'begin
13                   (with-input-from-file
14                       filename-in
15                     (lambda ()
16                       (let loop ((rev-lst '()))
17                         (let ((x (read)))
18                           (if (eof-object? x)
19                               (reverse rev-lst)
20                               (loop (cons x rev-lst)))))))))
21            (expanded
22             (sc-expand exprs)))
23       (with-output-to-file
24           filename-out
25         (lambda ()
26           (pretty-print
27            (sc#annotation-stripped expanded)))))))
29 (eval `(##include ,(cadr (command-line))))
31 (apply expand-file (cddr (command-line)))
33 ;;;============================================================================