#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/make.scm,v 4.9 1989/10/26 06:28:07 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/make.scm,v 4.10 1990/03/26 20:49:53 jinx Exp $
-Copyright (c) 1988, 1989 Massachusetts Institute of Technology
+Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
(package/system-loader "sf" '() 'QUERY)
((package/reference (find-package '(SCODE-OPTIMIZER))
'USUAL-INTEGRATIONS/CACHE!))
-(add-system! (make-system "SF" 4 9 '()))
\ No newline at end of file
+(add-system! (make-system "SF" 4 10 '()))
\ No newline at end of file
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/sf.pkg,v 4.5 1989/06/09 16:56:32 cph Rel $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/sf.pkg,v 4.6 1990/03/26 20:45:32 jinx Rel $
Copyright (c) 1987 Massachusetts Institute of Technology
(parent (scode-optimizer))
(export ()
sf
+ sf:noisy?
sf/add-file-declarations!
sf/default-declarations
sf/default-syntax-table
sf/top-level-definitions
sf/usual-integrations-default-deletions
sf/set-usual-integrations-default-deletions!
- sfu?)
+ sfu?
+ syntax&integrate
+ )
(export (scode-optimizer)
integrate/procedure
integrate/file
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/toplev.scm,v 4.5 1989/12/07 05:39:36 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/toplev.scm,v 4.6 1990/03/26 20:44:52 jinx Exp $
Copyright (c) 1988, 1989 Massachusetts Institute of Technology
Currently only the 68000 implementation needs this."
(fluid-let ((wrapping-hook wrap-with-control-point))
(syntax-file input-string bin-string spec-string)))
+
+(define (syntax&integrate s-expression declarations #!optional syntax-table)
+ (fluid-let ((sf:noisy? false))
+ (integrate/sexp s-expression
+ (if (default-object? syntax-table)
+ (nearest-repl/syntax-table)
+ syntax-table)
+ declarations
+ false)))
\f
+(define sf:noisy? true)
+
(define (sf/set-default-syntax-table! syntax-table)
(set! sf/default-syntax-table syntax-table))
(input-filename (pathname->string input-pathname))
(bin-filename (pathname->string bin-pathname))
(spec-filename (and spec-pathname (pathname->string spec-pathname))))
- (newline)
- (write-string "Syntax file: ")
- (write input-filename)
- (write-string " ")
- (write bin-filename)
- (write-string " ")
- (write spec-filename)
+ (if sf:noisy?
+ (begin
+ (newline)
+ (write-string "Syntax file: ")
+ (write input-filename)
+ (write-string " ")
+ (write bin-filename)
+ (write-string " ")
+ (write spec-filename)))
(with-values
(lambda ()
(integrate/file input-pathname syntax-table declarations
(pathname-type sf/default-externs-pathname))
(set! externs false))
(if spec-pathname
- (begin (newline)
- (write-string "Writing ")
- (write spec-filename)
+ (begin (if sf:noisy?
+ (begin
+ (newline)
+ (write-string "Writing ")
+ (write spec-filename)))
(with-output-to-file spec-pathname
(lambda ()
(newline)
(write `(,(car event)
(RUNTIME ,(cdr event)))))
events)))
- (write-string " -- done"))))))))
+ (if sf:noisy?
+ (write-string " -- done")))))))))
\f
(define (read-externs-file pathname)
(let ((pathname
((file-exists? pathname)
(delete-file pathname))))
+#|
+;; This seems unused
+
(define (print-spec identifier names)
(newline)
(newline)
(write (car names))
(loop (cdr names)))))
(write-string ")"))
+|#
(define (wrapping-hook scode)
scode)
(define (mark-phase this-name)
(end-phase)
- (newline)
- (write-string " ")
- (write-string this-name)
- (write-string "...")
+ (if sf:noisy?
+ (begin
+ (newline)
+ (write-string " ")
+ (write-string this-name)
+ (write-string "...")))
(set! previous-name this-name))
(define (end-phase)
;; Should match the compiler. We'll merge the two at some point.
(define (time-report prefix process-time real-time)
- (newline)
- (write-string prefix)
- (write-string ": ")
- (write (/ (exact->inexact process-time) 1000))
- (write-string " (process time); ")
- (write (/ (exact->inexact real-time) 1000))
- (write-string " (real time)"))
\ No newline at end of file
+ (if sf:noisy?
+ (begin
+ (newline)
+ (write-string prefix)
+ (write-string ": ")
+ (write (/ (exact->inexact process-time) 1000))
+ (write-string " (process time); ")
+ (write (/ (exact->inexact real-time) 1000))
+ (write-string " (real time)"))))
\ No newline at end of file
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/sf/make.scm,v 4.9 1989/10/26 06:28:07 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/sf/make.scm,v 4.10 1990/03/26 20:49:53 jinx Exp $
-Copyright (c) 1988, 1989 Massachusetts Institute of Technology
+Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
This material was developed by the Scheme project at the Massachusetts
Institute of Technology, Department of Electrical Engineering and
(package/system-loader "sf" '() 'QUERY)
((package/reference (find-package '(SCODE-OPTIMIZER))
'USUAL-INTEGRATIONS/CACHE!))
-(add-system! (make-system "SF" 4 9 '()))
\ No newline at end of file
+(add-system! (make-system "SF" 4 10 '()))
\ No newline at end of file
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/sf/toplev.scm,v 4.5 1989/12/07 05:39:36 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/sf/toplev.scm,v 4.6 1990/03/26 20:44:52 jinx Exp $
Copyright (c) 1988, 1989 Massachusetts Institute of Technology
Currently only the 68000 implementation needs this."
(fluid-let ((wrapping-hook wrap-with-control-point))
(syntax-file input-string bin-string spec-string)))
+
+(define (syntax&integrate s-expression declarations #!optional syntax-table)
+ (fluid-let ((sf:noisy? false))
+ (integrate/sexp s-expression
+ (if (default-object? syntax-table)
+ (nearest-repl/syntax-table)
+ syntax-table)
+ declarations
+ false)))
\f
+(define sf:noisy? true)
+
(define (sf/set-default-syntax-table! syntax-table)
(set! sf/default-syntax-table syntax-table))
(input-filename (pathname->string input-pathname))
(bin-filename (pathname->string bin-pathname))
(spec-filename (and spec-pathname (pathname->string spec-pathname))))
- (newline)
- (write-string "Syntax file: ")
- (write input-filename)
- (write-string " ")
- (write bin-filename)
- (write-string " ")
- (write spec-filename)
+ (if sf:noisy?
+ (begin
+ (newline)
+ (write-string "Syntax file: ")
+ (write input-filename)
+ (write-string " ")
+ (write bin-filename)
+ (write-string " ")
+ (write spec-filename)))
(with-values
(lambda ()
(integrate/file input-pathname syntax-table declarations
(pathname-type sf/default-externs-pathname))
(set! externs false))
(if spec-pathname
- (begin (newline)
- (write-string "Writing ")
- (write spec-filename)
+ (begin (if sf:noisy?
+ (begin
+ (newline)
+ (write-string "Writing ")
+ (write spec-filename)))
(with-output-to-file spec-pathname
(lambda ()
(newline)
(write `(,(car event)
(RUNTIME ,(cdr event)))))
events)))
- (write-string " -- done"))))))))
+ (if sf:noisy?
+ (write-string " -- done")))))))))
\f
(define (read-externs-file pathname)
(let ((pathname
((file-exists? pathname)
(delete-file pathname))))
+#|
+;; This seems unused
+
(define (print-spec identifier names)
(newline)
(newline)
(write (car names))
(loop (cdr names)))))
(write-string ")"))
+|#
(define (wrapping-hook scode)
scode)
(define (mark-phase this-name)
(end-phase)
- (newline)
- (write-string " ")
- (write-string this-name)
- (write-string "...")
+ (if sf:noisy?
+ (begin
+ (newline)
+ (write-string " ")
+ (write-string this-name)
+ (write-string "...")))
(set! previous-name this-name))
(define (end-phase)
;; Should match the compiler. We'll merge the two at some point.
(define (time-report prefix process-time real-time)
- (newline)
- (write-string prefix)
- (write-string ": ")
- (write (/ (exact->inexact process-time) 1000))
- (write-string " (process time); ")
- (write (/ (exact->inexact real-time) 1000))
- (write-string " (real time)"))
\ No newline at end of file
+ (if sf:noisy?
+ (begin
+ (newline)
+ (write-string prefix)
+ (write-string ": ")
+ (write (/ (exact->inexact process-time) 1000))
+ (write-string " (process time); ")
+ (write (/ (exact->inexact real-time) 1000))
+ (write-string " (real time)"))))
\ No newline at end of file