Change `parser-table/set-entry!' to default its "collect-list"
authorChris Hanson <org/chris-hanson/cph>
Wed, 13 Jul 1988 18:42:10 +0000 (18:42 +0000)
committerChris Hanson <org/chris-hanson/cph>
Wed, 13 Jul 1988 18:42:10 +0000 (18:42 +0000)
argument by wrapping its "parse-object" argument with
`collect-list-wrapper'.

v7/src/runtime/parse.scm
v7/src/runtime/partab.scm
v7/src/runtime/runtime.pkg
v7/src/runtime/version.scm
v8/src/runtime/runtime.pkg

index 1b73167b92995e91e8d0086536a0804a4af0c109..27e1e9773359565fdf182fba49be6a4d30fdd562 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/parse.scm,v 14.1 1988/06/13 11:49:02 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/parse.scm,v 14.2 1988/07/13 18:41:16 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -94,13 +94,7 @@ MIT in each case. |#
                            parse-object/special-undefined
                            collect-list/special-undefined)))
     (for-each (lambda (entry)
-               (parser-table/set-entry!
-                table
-                (car entry)
-                (cadr entry)
-                (if (null? (cddr entry))
-                    (collect-list-wrapper (cadr entry))
-                    (caddr entry))))
+               (apply parser-table/set-entry! table entry))
              `(("#" ,parse-object/special ,collect-list/special)
                (,char-set/symbol-leaders ,parse-object/symbol)
                (("#b" "#B") ,parse-object/numeric-prefix)
index a37fab56669783d9f2191ce014407edf74a99998..49434fe78197ea92397cb2b3dfddabc5e5d3e8e3 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/partab.scm,v 14.2 1988/06/13 11:49:18 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/partab.scm,v 14.3 1988/07/13 18:41:33 cph Rel $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -84,13 +84,18 @@ MIT in each case. |#
       (receiver (vector-ref parse-object-table index)
                (vector-ref collect-list-table index)))))
 
-(define (parser-table/set-entry! table char parse-object collect-list)
+(define (parser-table/set-entry! table char
+                                parse-object #!optional collect-list)
   (let ((kernel
-        (lambda (char)
-          (decode-parser-char table char
-            (lambda (index parse-object-table collect-list-table)
-              (vector-set! parse-object-table index parse-object)
-              (vector-set! collect-list-table index collect-list))))))
+        (let ((collect-list
+               (if (default-object? collect-list)
+                   (collect-list-wrapper parse-object)
+                   collect-list)))
+          (lambda (char)
+            (decode-parser-char table char
+              (lambda (index parse-object-table collect-list-table)
+                (vector-set! parse-object-table index parse-object)
+                (vector-set! collect-list-table index collect-list)))))))
     (cond ((char-set? char) (for-each kernel (char-set-members char)))
          ((pair? char) (for-each kernel char))
          (else (kernel char)))))
index 2e90ab3b05ecdf409be4c5fee38adc3b28d89820..958e11ad29c517c366983181e426085e7f06112e 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.10 1988/07/07 16:12:23 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/runtime.pkg,v 14.11 1988/07/13 18:41:50 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -1001,6 +1001,8 @@ MIT in each case. |#
          lambda-optional-tag)
   (export (runtime unsyntaxer)
          lambda-optional-tag)
+  (export (runtime parser-table)
+         collect-list-wrapper)
   (initialization (initialize-package!)))
 
 (define-package (runtime parser-table)
index 04f7431e4f9df526c1ae5aaf06b8b0e7a1e19ac6..188e02ae8df6abe3796c7f6e9b6e3a85c090608b 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/version.scm,v 14.9 1988/07/07 16:13:39 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/version.scm,v 14.10 1988/07/13 18:42:10 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -45,7 +45,7 @@ MIT in each case. |#
                     '()))
   (add-system! microcode-system)
   (add-event-receiver! event:after-restore snarf-microcode-version!)
-  (add-identification! "Runtime" 14 9))
+  (add-identification! "Runtime" 14 10))
 
 (define microcode-system)
 
index b8db1af71170508b4390f49691cc04b067681586..1d6990d1e9d46eb63ef5ae85510ed8e9b12e5f81 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.10 1988/07/07 16:12:23 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/runtime.pkg,v 14.11 1988/07/13 18:41:50 cph Exp $
 
 Copyright (c) 1988 Massachusetts Institute of Technology
 
@@ -1001,6 +1001,8 @@ MIT in each case. |#
          lambda-optional-tag)
   (export (runtime unsyntaxer)
          lambda-optional-tag)
+  (export (runtime parser-table)
+         collect-list-wrapper)
   (initialization (initialize-package!)))
 
 (define-package (runtime parser-table)