Add new operation `sc' for running `sf' on compiler files.
authorChris Hanson <org/chris-hanson/cph>
Wed, 20 Jul 1988 07:35:52 +0000 (07:35 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 20 Jul 1988 07:35:52 +0000 (07:35 +0000)
v7/src/compiler/machines/bobcat/compiler.pkg
v7/src/compiler/machines/bobcat/decls.scm

index 112f7e16b556ce560228d26d2291ddb83d4a0c14..b254be107a26a077458bf215570a813fdaf36c08 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/compiler.pkg,v 1.3 1988/07/19 18:22:41 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/compiler.pkg,v 1.4 1988/07/20 07:35:36 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -95,6 +95,8 @@ MIT in each case. |#
 (define-package (compiler declarations)
   (files "machines/bobcat/decls")
   (parent (compiler))
+  (export (compiler)
+         sc)
   (import (scode-optimizer top-level)
          sf/internal
          sf/pathname-defaulting)
index e7762fcb646f4ef3403f7a1e7bf4812515d1c14f..9b55a01561b004370d79bbfaa079b5cb315083e0 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/decls.scm,v 4.5 1988/06/14 08:55:55 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/decls.scm,v 4.6 1988/07/20 07:35:52 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -210,29 +210,35 @@ MIT in each case. |#
                           (set-source-node/modification-time! node false))
                         (source-node/dependents node))))
         source-nodes)))
-  (for-each source-node/syntax! source-nodes/circular-dependencies)
-  (for-each source-node/syntax! source-nodes/by-rank))
+  (for-each source-node/maybe-syntax! source-nodes/circular-dependencies)
+  (for-each source-node/maybe-syntax! source-nodes/by-rank))
 
-(define (source-node/syntax! node)
+(define (source-node/maybe-syntax! node)
   (if (not (source-node/modification-time node))
-      (with-values
-         (lambda ()
-           (sf/pathname-defaulting (source-node/pathname node) "" false))
-       (lambda (input-pathname bin-pathname spec-pathname)
-         (sf/internal
-          input-pathname bin-pathname spec-pathname
-          (source-node/syntax-table node)
-          ((if compiler:enable-integration-declarations?
-               identity-procedure
-               (lambda (declarations)
-                 (list-transform-negative declarations
-                   integration-declaration?)))
-           ((if compiler:enable-expansion-declarations?
-                identity-procedure
-                (lambda (declarations)
-                  (list-transform-negative declarations
-                    expansion-declaration?)))
-            (source-node/declarations node))))))))
+      (source-node/syntax! node)))
+
+(define (sc filename)
+  (source-node/syntax! (filename->source-node filename)))
+
+(define (source-node/syntax! node)
+  (with-values
+      (lambda ()
+       (sf/pathname-defaulting (source-node/pathname node) "" false))
+    (lambda (input-pathname bin-pathname spec-pathname)
+      (sf/internal
+       input-pathname bin-pathname spec-pathname
+       (source-node/syntax-table node)
+       ((if compiler:enable-integration-declarations?
+           identity-procedure
+           (lambda (declarations)
+             (list-transform-negative declarations
+               integration-declaration?)))
+       ((if compiler:enable-expansion-declarations?
+            identity-procedure
+            (lambda (declarations)
+              (list-transform-negative declarations
+                expansion-declaration?)))
+        (source-node/declarations node)))))))
 
 (define-integrable (modification-time node type)
   (file-modification-time