kernstruct.ss in scheme/private, makeexn generates kernstruct.ss
svn: r16215
This commit is contained in:
parent
d0b4dc24ec
commit
a25ddaae54
|
@ -15,6 +15,7 @@
|
|||
"private/old-if.ss"
|
||||
"private/old-procs.ss"
|
||||
"private/map.ss" ; shadows #%kernel bindings
|
||||
"private/kernstruct.ss"
|
||||
"promise.ss"
|
||||
(only "private/cond.ss" old-cond)
|
||||
"tcp.ss"
|
||||
|
@ -37,6 +38,7 @@
|
|||
identifier? ;; from "private/stx.ss"
|
||||
(all-from "private/qqstx.ss")
|
||||
(all-from "private/define.ss")
|
||||
(all-from "private/kernstruct.ss")
|
||||
force delay promise?
|
||||
(all-from-except '#%kernel #%module-begin #%datum
|
||||
if make-empty-namespace
|
||||
|
|
261
collects/scheme/private/kernstruct.ss
Normal file
261
collects/scheme/private/kernstruct.ss
Normal file
|
@ -0,0 +1,261 @@
|
|||
;; This file was generated by makeexn
|
||||
;;----------------------------------------------------------------------
|
||||
;; record for static info produced by structs defined in c
|
||||
(module kernstruct '#%kernel
|
||||
(#%require (for-syntax '#%kernel))
|
||||
(#%require "define.ss")
|
||||
(#%require (for-syntax "struct-info.ss"))
|
||||
(#%provide (all-defined))
|
||||
(define-syntax exn
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn)
|
||||
(quote-syntax make-exn)
|
||||
(quote-syntax exn?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
#t))))
|
||||
(define-syntax exn:fail
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail)
|
||||
(quote-syntax make-exn:fail)
|
||||
(quote-syntax exn:fail?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn)))))
|
||||
(define-syntax exn:fail:contract
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:contract)
|
||||
(quote-syntax make-exn:fail:contract)
|
||||
(quote-syntax exn:fail:contract?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn:fail)))))
|
||||
(define-syntax exn:fail:contract:arity
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:contract:arity)
|
||||
(quote-syntax make-exn:fail:contract:arity)
|
||||
(quote-syntax exn:fail:contract:arity?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn:fail:contract)))))
|
||||
(define-syntax exn:fail:contract:divide-by-zero
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:contract:divide-by-zero)
|
||||
(quote-syntax make-exn:fail:contract:divide-by-zero)
|
||||
(quote-syntax exn:fail:contract:divide-by-zero?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn:fail:contract)))))
|
||||
(define-syntax exn:fail:contract:continuation
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:contract:continuation)
|
||||
(quote-syntax make-exn:fail:contract:continuation)
|
||||
(quote-syntax exn:fail:contract:continuation?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn:fail:contract)))))
|
||||
(define-syntax exn:fail:contract:variable
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:contract:variable)
|
||||
(quote-syntax make-exn:fail:contract:variable)
|
||||
(quote-syntax exn:fail:contract:variable?)
|
||||
(list
|
||||
(quote-syntax exn:fail:contract:variable-id)
|
||||
(quote-syntax exn-continuation-marks)
|
||||
(quote-syntax exn-message))
|
||||
'(#f #f #f)
|
||||
(quote-syntax exn:fail:contract)))))
|
||||
(define-syntax exn:fail:syntax
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:syntax)
|
||||
(quote-syntax make-exn:fail:syntax)
|
||||
(quote-syntax exn:fail:syntax?)
|
||||
(list
|
||||
(quote-syntax exn:fail:syntax-exprs)
|
||||
(quote-syntax exn-continuation-marks)
|
||||
(quote-syntax exn-message))
|
||||
'(#f #f #f)
|
||||
(quote-syntax exn:fail)))))
|
||||
(define-syntax exn:fail:read
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:read)
|
||||
(quote-syntax make-exn:fail:read)
|
||||
(quote-syntax exn:fail:read?)
|
||||
(list
|
||||
(quote-syntax exn:fail:read-srclocs)
|
||||
(quote-syntax exn-continuation-marks)
|
||||
(quote-syntax exn-message))
|
||||
'(#f #f #f)
|
||||
(quote-syntax exn:fail)))))
|
||||
(define-syntax exn:fail:read:eof
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:read:eof)
|
||||
(quote-syntax make-exn:fail:read:eof)
|
||||
(quote-syntax exn:fail:read:eof?)
|
||||
(list
|
||||
(quote-syntax exn:fail:read-srclocs)
|
||||
(quote-syntax exn-continuation-marks)
|
||||
(quote-syntax exn-message))
|
||||
'(#f #f #f)
|
||||
(quote-syntax exn:fail:read)))))
|
||||
(define-syntax exn:fail:read:non-char
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:read:non-char)
|
||||
(quote-syntax make-exn:fail:read:non-char)
|
||||
(quote-syntax exn:fail:read:non-char?)
|
||||
(list
|
||||
(quote-syntax exn:fail:read-srclocs)
|
||||
(quote-syntax exn-continuation-marks)
|
||||
(quote-syntax exn-message))
|
||||
'(#f #f #f)
|
||||
(quote-syntax exn:fail:read)))))
|
||||
(define-syntax exn:fail:filesystem
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:filesystem)
|
||||
(quote-syntax make-exn:fail:filesystem)
|
||||
(quote-syntax exn:fail:filesystem?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn:fail)))))
|
||||
(define-syntax exn:fail:filesystem:exists
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:filesystem:exists)
|
||||
(quote-syntax make-exn:fail:filesystem:exists)
|
||||
(quote-syntax exn:fail:filesystem:exists?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn:fail:filesystem)))))
|
||||
(define-syntax exn:fail:filesystem:version
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:filesystem:version)
|
||||
(quote-syntax make-exn:fail:filesystem:version)
|
||||
(quote-syntax exn:fail:filesystem:version?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn:fail:filesystem)))))
|
||||
(define-syntax exn:fail:network
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:network)
|
||||
(quote-syntax make-exn:fail:network)
|
||||
(quote-syntax exn:fail:network?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn:fail)))))
|
||||
(define-syntax exn:fail:out-of-memory
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:out-of-memory)
|
||||
(quote-syntax make-exn:fail:out-of-memory)
|
||||
(quote-syntax exn:fail:out-of-memory?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn:fail)))))
|
||||
(define-syntax exn:fail:unsupported
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:unsupported)
|
||||
(quote-syntax make-exn:fail:unsupported)
|
||||
(quote-syntax exn:fail:unsupported?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn:fail)))))
|
||||
(define-syntax exn:fail:user
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:fail:user)
|
||||
(quote-syntax make-exn:fail:user)
|
||||
(quote-syntax exn:fail:user?)
|
||||
(list (quote-syntax exn-continuation-marks) (quote-syntax exn-message))
|
||||
'(#f #f)
|
||||
(quote-syntax exn:fail)))))
|
||||
(define-syntax exn:break
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:exn:break)
|
||||
(quote-syntax make-exn:break)
|
||||
(quote-syntax exn:break?)
|
||||
(list
|
||||
(quote-syntax exn:break-continuation)
|
||||
(quote-syntax exn-continuation-marks)
|
||||
(quote-syntax exn-message))
|
||||
'(#f #f #f)
|
||||
(quote-syntax exn)))))
|
||||
(define-syntax arity-at-least
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:arity-at-least)
|
||||
(quote-syntax make-arity-at-least)
|
||||
(quote-syntax arity-at-least?)
|
||||
(list (quote-syntax arity-at-least-value))
|
||||
'(#f)
|
||||
#t))))
|
||||
(define-syntax date
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:date)
|
||||
(quote-syntax make-date)
|
||||
(quote-syntax date?)
|
||||
(list
|
||||
(quote-syntax time-zone-offset)
|
||||
(quote-syntax dst?)
|
||||
(quote-syntax year-day)
|
||||
(quote-syntax week-day)
|
||||
(quote-syntax year)
|
||||
(quote-syntax month)
|
||||
(quote-syntax day)
|
||||
(quote-syntax hour)
|
||||
(quote-syntax minute)
|
||||
(quote-syntax second))
|
||||
'(#f #f #f #f #f #f #f #f #f #f)
|
||||
#t))))
|
||||
(define-syntax srcloc
|
||||
(make-struct-info
|
||||
(λ ()
|
||||
(list
|
||||
(quote-syntax struct:srcloc)
|
||||
(quote-syntax make-srcloc)
|
||||
(quote-syntax srcloc?)
|
||||
(list
|
||||
(quote-syntax span)
|
||||
(quote-syntax position)
|
||||
(quote-syntax column)
|
||||
(quote-syntax line)
|
||||
(quote-syntax source))
|
||||
'(#f #f #f #f #f)
|
||||
#t)))))
|
|
@ -13,7 +13,7 @@
|
|||
"modbeg.ss"
|
||||
"for.ss"
|
||||
"map.ss" ; shadows #%kernel bindings
|
||||
|
||||
"kernstruct.ss"
|
||||
'#%builtin) ; so it's attached
|
||||
|
||||
(define-syntaxes (#%top-interaction)
|
||||
|
@ -73,6 +73,7 @@
|
|||
(all-from-except '#%kernel lambda λ #%app #%module-begin apply prop:procedure)
|
||||
(all-from "reqprov.ss")
|
||||
(all-from "for.ss")
|
||||
(all-from "kernstruct.ss")
|
||||
#%top-interaction
|
||||
|
||||
map for-each andmap ormap
|
||||
|
|
|
@ -191,6 +191,7 @@ starter: mzstart.exe
|
|||
|
||||
exn:
|
||||
$(MAKE) $(srcdir)/src/schexn.h
|
||||
$(MAKE) $(collectsdir)/scheme/private/kernstruct.ss
|
||||
|
||||
CSTARTUPDEST = cstartup.inc
|
||||
|
||||
|
@ -214,7 +215,10 @@ headers:
|
|||
./mzscheme@CGC@ -cqu $(srcdir)/mkincludes.ss "$(DESTDIR)$(includepltdir)" "$(srcdir)" .
|
||||
|
||||
$(srcdir)/src/schexn.h: $(srcdir)/src/exnsrc.ss $(srcdir)/src/makeexn
|
||||
./mzscheme@CGC@ -gqr $(srcdir)/src/makeexn < $(srcdir)/src/exnsrc.ss > $(srcdir)/src/schexn.h
|
||||
./mzscheme@CGC@ -um $(srcdir)/src/makeexn > $(srcdir)/src/schexn.h
|
||||
$(collectsdir)/scheme/private/kernstruct.ss: $(srcdir)/src/exnsrc.ss $(srcdir)/src/makeexn
|
||||
./mzscheme@CGC@ -um $(srcdir)/src/makeexn kernstruct $(collectsdir)/scheme/private/kernstruct.ss
|
||||
|
||||
|
||||
$(srcdir)/src/$(CSTARTUPDEST): $(srcdir)/src/startup.ss $(srcdir)/src/schvers.h $(srcdir)/src/schminc.h
|
||||
./mzscheme@CGC@ -cqu $(srcdir)/src/sstoinc.ss $(CSTARTUPEXTRA) < $(srcdir)/src/startup.ss > $(srcdir)/src/$(CSTARTUPDEST)
|
||||
|
|
|
@ -514,7 +514,6 @@ scheme_make_struct_values
|
|||
scheme_make_struct_names
|
||||
scheme_make_struct_type
|
||||
scheme_make_struct_instance
|
||||
scheme_make_struct_exptime
|
||||
scheme_is_struct_instance
|
||||
scheme_struct_ref
|
||||
scheme_struct_set
|
||||
|
|
|
@ -525,7 +525,6 @@ scheme_make_struct_values
|
|||
scheme_make_struct_names
|
||||
scheme_make_struct_type
|
||||
scheme_make_struct_instance
|
||||
scheme_make_struct_exptime
|
||||
scheme_is_struct_instance
|
||||
scheme_struct_ref
|
||||
scheme_struct_set
|
||||
|
|
|
@ -502,7 +502,6 @@ EXPORTS
|
|||
scheme_make_struct_names
|
||||
scheme_make_struct_type
|
||||
scheme_make_struct_instance
|
||||
scheme_make_struct_exptime
|
||||
scheme_is_struct_instance
|
||||
scheme_struct_ref
|
||||
scheme_struct_set
|
||||
|
|
|
@ -517,7 +517,6 @@ EXPORTS
|
|||
scheme_make_struct_names
|
||||
scheme_make_struct_type
|
||||
scheme_make_struct_instance
|
||||
scheme_make_struct_exptime
|
||||
scheme_is_struct_instance
|
||||
scheme_struct_ref
|
||||
scheme_struct_set
|
||||
|
|
|
@ -1,104 +1,105 @@
|
|||
{
|
||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,50,46,49,46,56,50,0,0,0,1,0,0,3,0,12,0,
|
||||
19,0,23,0,28,0,31,0,36,0,49,0,56,0,63,0,67,0,72,0,78,
|
||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,50,46,50,46,50,50,0,0,0,1,0,0,3,0,12,0,
|
||||
16,0,21,0,28,0,41,0,44,0,48,0,53,0,60,0,67,0,72,0,78,
|
||||
0,92,0,106,0,109,0,115,0,119,0,121,0,132,0,134,0,148,0,155,0,
|
||||
177,0,179,0,193,0,1,1,27,1,35,1,43,1,53,1,89,1,122,1,155,
|
||||
1,214,1,24,2,102,2,168,2,173,2,193,2,84,3,104,3,155,3,221,3,
|
||||
106,4,248,4,44,5,67,5,146,5,0,0,93,7,0,0,29,11,11,68,104,
|
||||
101,114,101,45,115,116,120,66,100,101,102,105,110,101,63,97,110,100,64,108,101,
|
||||
116,42,62,111,114,64,99,111,110,100,72,112,97,114,97,109,101,116,101,114,105,
|
||||
122,101,66,108,101,116,114,101,99,66,117,110,108,101,115,115,63,108,101,116,64,
|
||||
177,0,179,0,193,0,4,1,33,1,44,1,55,1,65,1,101,1,134,1,167,
|
||||
1,226,1,36,2,114,2,180,2,185,2,205,2,96,3,116,3,167,3,233,3,
|
||||
118,4,4,5,56,5,79,5,158,5,0,0,105,7,0,0,29,11,11,68,104,
|
||||
101,114,101,45,115,116,120,63,97,110,100,64,99,111,110,100,66,100,101,102,105,
|
||||
110,101,72,112,97,114,97,109,101,116,101,114,105,122,101,62,111,114,63,108,101,
|
||||
116,64,108,101,116,42,66,117,110,108,101,115,115,66,108,101,116,114,101,99,64,
|
||||
119,104,101,110,65,113,117,111,116,101,29,94,2,13,68,35,37,107,101,114,110,
|
||||
101,108,11,29,94,2,13,68,35,37,112,97,114,97,109,122,11,62,105,102,65,
|
||||
98,101,103,105,110,63,115,116,120,61,115,70,108,101,116,45,118,97,108,117,101,
|
||||
115,61,120,73,108,101,116,114,101,99,45,118,97,108,117,101,115,66,108,97,109,
|
||||
98,100,97,1,20,112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,110,
|
||||
45,107,101,121,61,118,73,100,101,102,105,110,101,45,118,97,108,117,101,115,97,
|
||||
35,11,8,162,246,95,159,2,15,35,35,159,2,14,35,35,159,2,14,35,35,
|
||||
16,20,2,3,2,1,2,6,2,1,2,4,2,1,2,5,2,1,2,9,2,
|
||||
1,2,7,2,1,2,8,2,1,2,10,2,1,2,11,2,1,2,12,2,1,
|
||||
97,36,11,8,162,246,93,159,2,14,35,36,16,2,2,2,161,2,1,36,2,
|
||||
2,2,1,2,2,96,11,11,8,162,246,16,0,96,37,11,8,162,246,16,0,
|
||||
13,16,4,35,29,11,11,2,1,11,18,16,2,99,64,104,101,114,101,8,31,
|
||||
8,30,8,29,8,28,8,27,93,8,224,169,61,0,0,95,9,8,224,169,61,
|
||||
0,0,2,1,27,248,22,137,4,195,249,22,130,4,80,158,38,35,251,22,77,
|
||||
2,16,248,22,92,199,12,249,22,67,2,17,248,22,94,201,27,248,22,137,4,
|
||||
195,249,22,130,4,80,158,38,35,251,22,77,2,16,248,22,92,199,249,22,67,
|
||||
2,17,248,22,94,201,12,27,248,22,69,248,22,137,4,196,28,248,22,75,193,
|
||||
20,15,159,36,35,36,28,248,22,75,248,22,69,194,248,22,68,193,249,22,130,
|
||||
4,80,158,38,35,251,22,77,2,16,248,22,68,199,249,22,67,2,4,248,22,
|
||||
69,201,11,18,16,2,101,10,8,31,8,30,8,29,8,28,8,27,16,4,11,
|
||||
11,2,18,3,1,8,101,110,118,49,48,52,49,54,16,4,11,11,2,19,3,
|
||||
1,8,101,110,118,49,48,52,49,55,93,8,224,170,61,0,0,95,9,8,224,
|
||||
170,61,0,0,2,1,27,248,22,69,248,22,137,4,196,28,248,22,75,193,20,
|
||||
15,159,36,35,36,28,248,22,75,248,22,69,194,248,22,68,193,249,22,130,4,
|
||||
80,158,38,35,250,22,77,2,20,248,22,77,249,22,77,248,22,77,2,21,248,
|
||||
22,68,201,251,22,77,2,16,2,21,2,21,249,22,67,2,6,248,22,69,204,
|
||||
18,16,2,101,11,8,31,8,30,8,29,8,28,8,27,16,4,11,11,2,18,
|
||||
3,1,8,101,110,118,49,48,52,49,57,16,4,11,11,2,19,3,1,8,101,
|
||||
110,118,49,48,52,50,48,93,8,224,171,61,0,0,95,9,8,224,171,61,0,
|
||||
0,2,1,248,22,137,4,193,27,248,22,137,4,194,249,22,67,248,22,77,248,
|
||||
22,68,196,248,22,69,195,27,248,22,69,248,22,137,4,23,197,1,249,22,130,
|
||||
4,80,158,38,35,28,248,22,53,248,22,131,4,248,22,68,23,198,2,27,249,
|
||||
22,2,32,0,89,162,8,44,36,42,9,222,33,39,248,22,137,4,248,22,92,
|
||||
23,200,2,250,22,77,2,22,248,22,77,249,22,77,248,22,77,248,22,68,23,
|
||||
204,2,250,22,78,2,23,249,22,2,22,68,23,204,2,248,22,94,23,206,2,
|
||||
249,22,67,248,22,68,23,202,1,249,22,2,22,92,23,200,1,250,22,78,2,
|
||||
20,249,22,2,32,0,89,162,8,44,36,46,9,222,33,40,248,22,137,4,248,
|
||||
22,68,201,248,22,69,198,27,248,22,137,4,194,249,22,67,248,22,77,248,22,
|
||||
68,196,248,22,69,195,27,248,22,69,248,22,137,4,23,197,1,249,22,130,4,
|
||||
80,158,38,35,250,22,78,2,22,249,22,2,32,0,89,162,8,44,36,46,9,
|
||||
222,33,42,248,22,137,4,248,22,68,201,248,22,69,198,27,248,22,69,248,22,
|
||||
137,4,196,27,248,22,137,4,248,22,68,195,249,22,130,4,80,158,39,35,28,
|
||||
248,22,75,195,250,22,78,2,20,9,248,22,69,199,250,22,77,2,11,248,22,
|
||||
77,248,22,68,199,250,22,78,2,5,248,22,69,201,248,22,69,202,27,248,22,
|
||||
69,248,22,137,4,23,197,1,27,249,22,1,22,81,249,22,2,22,137,4,248,
|
||||
22,137,4,248,22,68,199,249,22,130,4,80,158,39,35,251,22,77,1,22,119,
|
||||
105,116,104,45,99,111,110,116,105,110,117,97,116,105,111,110,45,109,97,114,107,
|
||||
2,24,250,22,78,1,23,101,120,116,101,110,100,45,112,97,114,97,109,101,116,
|
||||
101,114,105,122,97,116,105,111,110,21,95,1,27,99,111,110,116,105,110,117,97,
|
||||
116,105,111,110,45,109,97,114,107,45,115,101,116,45,102,105,114,115,116,11,2,
|
||||
24,201,250,22,78,2,20,9,248,22,69,203,27,248,22,69,248,22,137,4,196,
|
||||
28,248,22,75,193,20,15,159,36,35,36,249,22,130,4,80,158,38,35,27,248,
|
||||
22,137,4,248,22,68,197,28,249,22,167,8,62,61,62,248,22,131,4,248,22,
|
||||
92,196,250,22,77,2,20,248,22,77,249,22,77,21,93,2,25,248,22,68,199,
|
||||
250,22,78,2,7,249,22,77,2,25,249,22,77,248,22,101,203,2,25,248,22,
|
||||
69,202,251,22,77,2,16,28,249,22,167,8,248,22,131,4,248,22,68,200,64,
|
||||
101,108,115,101,10,248,22,68,197,250,22,78,2,20,9,248,22,69,200,249,22,
|
||||
67,2,7,248,22,69,202,100,8,31,8,30,8,29,8,28,8,27,16,4,11,
|
||||
11,2,18,3,1,8,101,110,118,49,48,52,52,50,16,4,11,11,2,19,3,
|
||||
1,8,101,110,118,49,48,52,52,51,93,8,224,172,61,0,0,18,16,2,158,
|
||||
94,10,64,118,111,105,100,8,47,95,9,8,224,172,61,0,0,2,1,27,248,
|
||||
22,69,248,22,137,4,196,249,22,130,4,80,158,38,35,28,248,22,53,248,22,
|
||||
131,4,248,22,68,197,250,22,77,2,26,248,22,77,248,22,68,199,248,22,92,
|
||||
198,27,248,22,131,4,248,22,68,197,250,22,77,2,26,248,22,77,248,22,68,
|
||||
197,250,22,78,2,23,248,22,69,199,248,22,69,202,159,35,20,103,159,35,16,
|
||||
1,11,16,0,83,158,41,20,100,144,69,35,37,109,105,110,45,115,116,120,2,
|
||||
1,11,11,11,10,35,80,158,35,35,20,103,159,35,16,0,16,0,16,1,2,
|
||||
2,36,16,0,35,16,0,35,11,11,38,35,11,11,11,16,10,2,3,2,4,
|
||||
2,5,2,6,2,7,2,8,2,9,2,10,2,11,2,12,16,10,11,11,11,
|
||||
11,11,11,11,11,11,11,16,10,2,3,2,4,2,5,2,6,2,7,2,8,
|
||||
2,9,2,10,2,11,2,12,35,45,36,11,11,11,16,0,16,0,16,0,35,
|
||||
35,11,11,11,11,16,0,16,0,16,0,35,35,16,11,16,5,2,2,20,15,
|
||||
159,35,35,35,35,20,103,159,35,16,0,16,1,33,32,10,16,5,2,10,89,
|
||||
162,8,44,36,52,9,223,0,33,33,35,20,103,159,35,16,1,2,2,16,0,
|
||||
11,16,5,2,12,89,162,8,44,36,52,9,223,0,33,34,35,20,103,159,35,
|
||||
16,1,2,2,16,0,11,16,5,2,4,89,162,8,44,36,52,9,223,0,33,
|
||||
35,35,20,103,159,35,16,1,2,2,16,1,33,36,11,16,5,2,6,89,162,
|
||||
8,44,36,55,9,223,0,33,37,35,20,103,159,35,16,1,2,2,16,1,33,
|
||||
38,11,16,5,2,11,89,162,8,44,36,57,9,223,0,33,41,35,20,103,159,
|
||||
35,16,1,2,2,16,0,11,16,5,2,9,89,162,8,44,36,52,9,223,0,
|
||||
33,43,35,20,103,159,35,16,1,2,2,16,0,11,16,5,2,5,89,162,8,
|
||||
44,36,53,9,223,0,33,44,35,20,103,159,35,16,1,2,2,16,0,11,16,
|
||||
5,2,8,89,162,8,44,36,54,9,223,0,33,45,35,20,103,159,35,16,1,
|
||||
2,2,16,0,11,16,5,2,7,89,162,8,44,36,57,9,223,0,33,46,35,
|
||||
20,103,159,35,16,1,2,2,16,1,33,48,11,16,5,2,3,89,162,8,44,
|
||||
36,53,9,223,0,33,49,35,20,103,159,35,16,1,2,2,16,0,11,16,0,
|
||||
94,2,14,2,15,93,2,14,9,9,35,0};
|
||||
EVAL_ONE_SIZED_STR((char *)expr, 2006);
|
||||
35,11,8,240,207,68,0,0,95,159,2,15,35,35,159,2,14,35,35,159,2,
|
||||
14,35,35,16,20,2,3,2,1,2,4,2,1,2,5,2,1,2,6,2,1,
|
||||
2,7,2,1,2,8,2,1,2,9,2,1,2,10,2,1,2,11,2,1,2,
|
||||
12,2,1,97,36,11,8,240,207,68,0,0,93,159,2,14,35,36,16,2,2,
|
||||
2,161,2,1,36,2,2,2,1,2,2,96,11,11,8,240,207,68,0,0,16,
|
||||
0,96,37,11,8,240,207,68,0,0,16,0,13,16,4,35,29,11,11,2,1,
|
||||
11,18,16,2,99,64,104,101,114,101,8,31,8,30,8,29,8,28,8,27,93,
|
||||
8,224,214,68,0,0,95,9,8,224,214,68,0,0,2,1,27,248,22,137,4,
|
||||
195,249,22,130,4,80,158,38,35,251,22,77,2,16,248,22,92,199,12,249,22,
|
||||
67,2,17,248,22,94,201,27,248,22,137,4,195,249,22,130,4,80,158,38,35,
|
||||
251,22,77,2,16,248,22,92,199,249,22,67,2,17,248,22,94,201,12,27,248,
|
||||
22,69,248,22,137,4,196,28,248,22,75,193,20,15,159,36,35,36,28,248,22,
|
||||
75,248,22,69,194,248,22,68,193,249,22,130,4,80,158,38,35,251,22,77,2,
|
||||
16,248,22,68,199,249,22,67,2,3,248,22,69,201,11,18,16,2,101,10,8,
|
||||
31,8,30,8,29,8,28,8,27,16,4,11,11,2,18,3,1,8,101,110,118,
|
||||
49,48,57,50,50,16,4,11,11,2,19,3,1,8,101,110,118,49,48,57,50,
|
||||
51,93,8,224,215,68,0,0,95,9,8,224,215,68,0,0,2,1,27,248,22,
|
||||
69,248,22,137,4,196,28,248,22,75,193,20,15,159,36,35,36,28,248,22,75,
|
||||
248,22,69,194,248,22,68,193,249,22,130,4,80,158,38,35,250,22,77,2,20,
|
||||
248,22,77,249,22,77,248,22,77,2,21,248,22,68,201,251,22,77,2,16,2,
|
||||
21,2,21,249,22,67,2,7,248,22,69,204,18,16,2,101,11,8,31,8,30,
|
||||
8,29,8,28,8,27,16,4,11,11,2,18,3,1,8,101,110,118,49,48,57,
|
||||
50,53,16,4,11,11,2,19,3,1,8,101,110,118,49,48,57,50,54,93,8,
|
||||
224,216,68,0,0,95,9,8,224,216,68,0,0,2,1,248,22,137,4,193,27,
|
||||
248,22,137,4,194,249,22,67,248,22,77,248,22,68,196,248,22,69,195,27,248,
|
||||
22,69,248,22,137,4,23,197,1,249,22,130,4,80,158,38,35,28,248,22,53,
|
||||
248,22,131,4,248,22,68,23,198,2,27,249,22,2,32,0,89,162,8,44,36,
|
||||
42,9,222,33,39,248,22,137,4,248,22,92,23,200,2,250,22,77,2,22,248,
|
||||
22,77,249,22,77,248,22,77,248,22,68,23,204,2,250,22,78,2,23,249,22,
|
||||
2,22,68,23,204,2,248,22,94,23,206,2,249,22,67,248,22,68,23,202,1,
|
||||
249,22,2,22,92,23,200,1,250,22,78,2,20,249,22,2,32,0,89,162,8,
|
||||
44,36,46,9,222,33,40,248,22,137,4,248,22,68,201,248,22,69,198,27,248,
|
||||
22,137,4,194,249,22,67,248,22,77,248,22,68,196,248,22,69,195,27,248,22,
|
||||
69,248,22,137,4,23,197,1,249,22,130,4,80,158,38,35,250,22,78,2,22,
|
||||
249,22,2,32,0,89,162,8,44,36,46,9,222,33,42,248,22,137,4,248,22,
|
||||
68,201,248,22,69,198,27,248,22,69,248,22,137,4,196,27,248,22,137,4,248,
|
||||
22,68,195,249,22,130,4,80,158,39,35,28,248,22,75,195,250,22,78,2,20,
|
||||
9,248,22,69,199,250,22,77,2,8,248,22,77,248,22,68,199,250,22,78,2,
|
||||
9,248,22,69,201,248,22,69,202,27,248,22,69,248,22,137,4,23,197,1,27,
|
||||
249,22,1,22,81,249,22,2,22,137,4,248,22,137,4,248,22,68,199,249,22,
|
||||
130,4,80,158,39,35,251,22,77,1,22,119,105,116,104,45,99,111,110,116,105,
|
||||
110,117,97,116,105,111,110,45,109,97,114,107,2,24,250,22,78,1,23,101,120,
|
||||
116,101,110,100,45,112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,110,
|
||||
21,95,1,27,99,111,110,116,105,110,117,97,116,105,111,110,45,109,97,114,107,
|
||||
45,115,101,116,45,102,105,114,115,116,11,2,24,201,250,22,78,2,20,9,248,
|
||||
22,69,203,27,248,22,69,248,22,137,4,196,28,248,22,75,193,20,15,159,36,
|
||||
35,36,249,22,130,4,80,158,38,35,27,248,22,137,4,248,22,68,197,28,249,
|
||||
22,167,8,62,61,62,248,22,131,4,248,22,92,196,250,22,77,2,20,248,22,
|
||||
77,249,22,77,21,93,2,25,248,22,68,199,250,22,78,2,4,249,22,77,2,
|
||||
25,249,22,77,248,22,101,203,2,25,248,22,69,202,251,22,77,2,16,28,249,
|
||||
22,167,8,248,22,131,4,248,22,68,200,64,101,108,115,101,10,248,22,68,197,
|
||||
250,22,78,2,20,9,248,22,69,200,249,22,67,2,4,248,22,69,202,100,8,
|
||||
31,8,30,8,29,8,28,8,27,16,4,11,11,2,18,3,1,8,101,110,118,
|
||||
49,48,57,52,56,16,4,11,11,2,19,3,1,8,101,110,118,49,48,57,52,
|
||||
57,93,8,224,217,68,0,0,18,16,2,158,94,10,64,118,111,105,100,8,47,
|
||||
95,9,8,224,217,68,0,0,2,1,27,248,22,69,248,22,137,4,196,249,22,
|
||||
130,4,80,158,38,35,28,248,22,53,248,22,131,4,248,22,68,197,250,22,77,
|
||||
2,26,248,22,77,248,22,68,199,248,22,92,198,27,248,22,131,4,248,22,68,
|
||||
197,250,22,77,2,26,248,22,77,248,22,68,197,250,22,78,2,23,248,22,69,
|
||||
199,248,22,69,202,159,35,20,102,159,35,16,1,11,16,0,83,158,41,20,100,
|
||||
144,69,35,37,109,105,110,45,115,116,120,2,1,11,11,11,10,35,80,158,35,
|
||||
35,20,102,159,35,16,0,16,0,16,1,2,2,36,16,0,35,16,0,35,11,
|
||||
11,38,35,11,11,11,16,10,2,3,2,4,2,5,2,6,2,7,2,8,2,
|
||||
9,2,10,2,11,2,12,16,10,11,11,11,11,11,11,11,11,11,11,16,10,
|
||||
2,3,2,4,2,5,2,6,2,7,2,8,2,9,2,10,2,11,2,12,35,
|
||||
45,36,11,11,11,16,0,16,0,16,0,35,35,11,11,11,11,16,0,16,0,
|
||||
16,0,35,35,16,11,16,5,2,2,20,15,159,35,35,35,35,20,102,159,35,
|
||||
16,0,16,1,33,32,10,16,5,2,10,89,162,8,44,36,52,9,223,0,33,
|
||||
33,35,20,102,159,35,16,1,2,2,16,0,11,16,5,2,12,89,162,8,44,
|
||||
36,52,9,223,0,33,34,35,20,102,159,35,16,1,2,2,16,0,11,16,5,
|
||||
2,3,89,162,8,44,36,52,9,223,0,33,35,35,20,102,159,35,16,1,2,
|
||||
2,16,1,33,36,11,16,5,2,7,89,162,8,44,36,55,9,223,0,33,37,
|
||||
35,20,102,159,35,16,1,2,2,16,1,33,38,11,16,5,2,8,89,162,8,
|
||||
44,36,57,9,223,0,33,41,35,20,102,159,35,16,1,2,2,16,0,11,16,
|
||||
5,2,11,89,162,8,44,36,52,9,223,0,33,43,35,20,102,159,35,16,1,
|
||||
2,2,16,0,11,16,5,2,9,89,162,8,44,36,53,9,223,0,33,44,35,
|
||||
20,102,159,35,16,1,2,2,16,0,11,16,5,2,6,89,162,8,44,36,54,
|
||||
9,223,0,33,45,35,20,102,159,35,16,1,2,2,16,0,11,16,5,2,4,
|
||||
89,162,8,44,36,57,9,223,0,33,46,35,20,102,159,35,16,1,2,2,16,
|
||||
1,33,48,11,16,5,2,5,89,162,8,44,36,53,9,223,0,33,49,35,20,
|
||||
102,159,35,16,1,2,2,16,0,11,16,0,94,2,14,2,15,93,2,14,9,
|
||||
9,35,0};
|
||||
EVAL_ONE_SIZED_STR((char *)expr, 2018);
|
||||
}
|
||||
{
|
||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,50,46,49,46,56,59,0,0,0,1,0,0,13,0,18,0,
|
||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,50,46,50,46,50,59,0,0,0,1,0,0,13,0,18,0,
|
||||
35,0,50,0,68,0,84,0,94,0,112,0,132,0,148,0,166,0,197,0,226,
|
||||
0,248,0,6,1,12,1,26,1,31,1,41,1,49,1,77,1,109,1,154,1,
|
||||
199,1,223,1,6,2,8,2,65,2,155,3,196,3,31,5,135,5,239,5,100,
|
||||
|
@ -300,9 +301,9 @@
|
|||
248,22,177,3,23,200,1,28,192,192,35,27,27,248,22,177,3,23,202,1,28,
|
||||
192,192,35,249,22,156,5,23,197,1,83,158,39,20,97,95,89,162,8,44,35,
|
||||
47,9,224,3,2,33,57,23,195,1,23,196,1,27,248,22,141,5,23,195,1,
|
||||
248,80,159,38,53,36,193,159,35,20,103,159,35,16,1,11,16,0,83,158,41,
|
||||
248,80,159,38,53,36,193,159,35,20,102,159,35,16,1,11,16,0,83,158,41,
|
||||
20,100,144,67,35,37,117,116,105,108,115,29,11,11,11,11,11,10,42,80,158,
|
||||
35,35,20,103,159,37,16,17,2,1,2,2,2,3,2,4,2,5,2,6,2,
|
||||
35,35,20,102,159,37,16,17,2,1,2,2,2,3,2,4,2,5,2,6,2,
|
||||
7,2,8,2,9,2,10,2,11,2,12,2,13,2,14,2,15,30,2,17,1,
|
||||
20,112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,110,45,107,101,121,
|
||||
4,30,2,17,1,23,101,120,116,101,110,100,45,112,97,114,97,109,101,116,101,
|
||||
|
@ -340,25 +341,26 @@
|
|||
EVAL_ONE_SIZED_STR((char *)expr, 5006);
|
||||
}
|
||||
{
|
||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,50,46,49,46,56,8,0,0,0,1,0,0,6,0,19,0,
|
||||
34,0,48,0,62,0,76,0,115,0,0,0,20,1,0,0,65,113,117,111,116,
|
||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,50,46,50,46,50,8,0,0,0,1,0,0,6,0,19,0,
|
||||
34,0,48,0,62,0,76,0,118,0,0,0,23,1,0,0,65,113,117,111,116,
|
||||
101,29,94,2,1,67,35,37,117,116,105,108,115,11,29,94,2,1,69,35,37,
|
||||
110,101,116,119,111,114,107,11,29,94,2,1,68,35,37,112,97,114,97,109,122,
|
||||
11,29,94,2,1,68,35,37,101,120,112,111,98,115,11,29,94,2,1,68,35,
|
||||
37,107,101,114,110,101,108,11,97,35,11,8,168,248,98,159,2,2,35,35,159,
|
||||
2,3,35,35,159,2,4,35,35,159,2,5,35,35,159,2,6,35,35,159,2,
|
||||
6,35,35,16,0,159,35,20,103,159,35,16,1,11,16,0,83,158,41,20,100,
|
||||
144,69,35,37,98,117,105,108,116,105,110,29,11,11,11,11,11,18,96,11,42,
|
||||
42,42,35,80,158,35,35,20,103,159,35,16,0,16,0,16,0,35,16,0,35,
|
||||
16,0,35,11,11,38,35,11,11,11,16,0,16,0,16,0,35,35,36,11,11,
|
||||
11,16,0,16,0,16,0,35,35,11,11,11,11,16,0,16,0,16,0,35,35,
|
||||
16,0,16,0,100,2,6,2,5,29,94,2,1,69,35,37,102,111,114,101,105,
|
||||
103,110,11,29,94,2,1,68,35,37,117,110,115,97,102,101,11,2,4,2,3,
|
||||
2,2,29,94,2,1,67,35,37,112,108,97,99,101,11,9,9,9,35,0};
|
||||
EVAL_ONE_SIZED_STR((char *)expr, 313);
|
||||
37,107,101,114,110,101,108,11,97,35,11,8,240,85,69,0,0,98,159,2,2,
|
||||
35,35,159,2,3,35,35,159,2,4,35,35,159,2,5,35,35,159,2,6,35,
|
||||
35,159,2,6,35,35,16,0,159,35,20,102,159,35,16,1,11,16,0,83,158,
|
||||
41,20,100,144,69,35,37,98,117,105,108,116,105,110,29,11,11,11,11,11,18,
|
||||
96,11,42,42,42,35,80,158,35,35,20,102,159,35,16,0,16,0,16,0,35,
|
||||
16,0,35,16,0,35,11,11,38,35,11,11,11,16,0,16,0,16,0,35,35,
|
||||
36,11,11,11,16,0,16,0,16,0,35,35,11,11,11,11,16,0,16,0,16,
|
||||
0,35,35,16,0,16,0,100,2,6,2,5,29,94,2,1,69,35,37,102,111,
|
||||
114,101,105,103,110,11,29,94,2,1,68,35,37,117,110,115,97,102,101,11,2,
|
||||
4,2,3,2,2,29,94,2,1,67,35,37,112,108,97,99,101,11,9,9,9,
|
||||
35,0};
|
||||
EVAL_ONE_SIZED_STR((char *)expr, 316);
|
||||
}
|
||||
{
|
||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,50,46,49,46,56,56,0,0,0,1,0,0,11,0,38,0,
|
||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,50,46,50,46,50,56,0,0,0,1,0,0,11,0,38,0,
|
||||
44,0,57,0,66,0,73,0,95,0,117,0,143,0,155,0,173,0,193,0,205,
|
||||
0,221,0,244,0,0,1,31,1,38,1,43,1,48,1,53,1,58,1,67,1,
|
||||
72,1,76,1,84,1,93,1,101,1,204,1,249,1,13,2,42,2,73,2,129,
|
||||
|
@ -521,9 +523,9 @@
|
|||
12,193,87,96,83,160,37,11,80,158,35,49,248,80,158,36,57,249,22,27,11,
|
||||
80,158,38,51,248,22,155,4,80,159,36,50,37,248,22,129,5,80,159,36,36,
|
||||
36,248,22,184,12,80,159,36,41,36,83,160,37,11,80,158,35,49,248,80,158,
|
||||
36,57,249,22,27,11,80,158,38,51,159,35,20,103,159,35,16,1,11,16,0,
|
||||
36,57,249,22,27,11,80,158,38,51,159,35,20,102,159,35,16,1,11,16,0,
|
||||
83,158,41,20,100,144,66,35,37,98,111,111,116,29,11,11,11,11,11,10,37,
|
||||
80,158,35,35,20,103,159,39,16,23,2,1,2,2,30,2,4,72,112,97,116,
|
||||
80,158,35,35,20,102,159,39,16,23,2,1,2,2,30,2,4,72,112,97,116,
|
||||
104,45,115,116,114,105,110,103,63,10,30,2,4,75,112,97,116,104,45,97,100,
|
||||
100,45,115,117,102,102,105,120,7,30,2,6,2,7,4,30,2,6,1,23,101,
|
||||
120,116,101,110,100,45,112,97,114,97,109,101,116,101,114,105,122,97,116,105,111,
|
||||
|
|
|
@ -1859,13 +1859,6 @@ Scheme_Object *scheme_make_local(Scheme_Type type, int pos, int flags)
|
|||
return v;
|
||||
}
|
||||
|
||||
static Scheme_Object *force_lazy_macro(Scheme_Object *val, long phase)
|
||||
{
|
||||
Lazy_Macro_Fun f = (Lazy_Macro_Fun)SCHEME_PTR1_VAL(val);
|
||||
Scheme_Object *data = SCHEME_PTR2_VAL(val);
|
||||
return f(data, phase);
|
||||
}
|
||||
|
||||
static Scheme_Local *get_frame_loc(Scheme_Comp_Env *frame,
|
||||
int i, int j, int p, int flags)
|
||||
/* Generates a Scheme_Local record for a static distance coodinate, and also
|
||||
|
@ -2777,8 +2770,6 @@ scheme_lookup_binding(Scheme_Object *find_id, Scheme_Comp_Env *env, int flags,
|
|||
if (!(flags & SCHEME_ENV_CONSTANTS_OK)) {
|
||||
if (SAME_TYPE(SCHEME_TYPE(val), scheme_macro_type))
|
||||
return val;
|
||||
else if (SAME_TYPE(SCHEME_TYPE(val), scheme_lazy_macro_type))
|
||||
return force_lazy_macro(val, phase);
|
||||
else
|
||||
scheme_wrong_syntax(scheme_set_stx_string, NULL, find_id,
|
||||
"local syntax identifier cannot be mutated");
|
||||
|
@ -2895,8 +2886,6 @@ scheme_lookup_binding(Scheme_Object *find_id, Scheme_Comp_Env *env, int flags,
|
|||
}
|
||||
|
||||
if (val) {
|
||||
if (SAME_TYPE(SCHEME_TYPE(val), scheme_lazy_macro_type))
|
||||
return force_lazy_macro(val, phase);
|
||||
return val;
|
||||
}
|
||||
|
||||
|
|
|
@ -3465,7 +3465,7 @@ void scheme_init_exn(Scheme_Env *env)
|
|||
|
||||
for (i = 0; i < MZEXN_OTHER; i++) {
|
||||
if (exn_table[i].count) {
|
||||
Scheme_Object **values, *et;
|
||||
Scheme_Object **values;
|
||||
int sp;
|
||||
|
||||
values = scheme_make_struct_values(exn_table[i].type,
|
||||
|
@ -3479,12 +3479,6 @@ void scheme_init_exn(Scheme_Env *env)
|
|||
}
|
||||
|
||||
sp = exn_table[i].super_pos;
|
||||
et = scheme_make_struct_exptime(exn_table[i].names, exn_table[i].count,
|
||||
(sp >= 0) ? exn_table[sp].names[exn_table[sp].count - 1] : NULL,
|
||||
(sp >= 0) ? exn_table[sp].exptime : NULL,
|
||||
EXN_FLAGS);
|
||||
exn_table[i].exptime = et;
|
||||
scheme_add_global_keyword_symbol(exn_table[i].names[exn_table[i].count - 1], et, env);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
#lang scheme
|
||||
|
||||
#|
|
||||
|
||||
Initial symbols are struct types. A non-initial symbol is a struct
|
||||
type without fields or subtypes. Square brackets are struct fields and
|
||||
propeties (the latter in curly braces), strings are contracts/comments.
|
||||
|
||||
|#
|
||||
|
||||
(provide info)
|
||||
(define info '
|
||||
|
||||
(exn [exn_field_check
|
||||
(message "immutable string" "error message")
|
||||
(continuation-marks "mark set"
|
||||
"value returned by \\scmfirst{current-continuation-marks} immediately before the exception is raised")]
|
||||
-
|
||||
(fail [] "exceptions that represent errors"
|
||||
(contract [] "inappropriate run-time use of a function or syntactic form"
|
||||
(arity []
|
||||
"application with the wrong number of arguments")
|
||||
(divide-by-zero [] "divide by zero")
|
||||
(continuation [] "attempt to cross a continuation barrier")
|
||||
(variable [variable_field_check
|
||||
(id "symbol" "the variable's identifier")]
|
||||
"unbound/not-yet-defined global or module variable"))
|
||||
(syntax [syntax_field_check
|
||||
(exprs "immutable list of syntax objects" "illegal expression(s)")
|
||||
{exn:source scheme_source_property |scheme_make_prim(extract_syntax_locations)|}]
|
||||
"syntax error, but not a \\scmfirst{read} error")
|
||||
(read [read_field_check
|
||||
(srclocs "immutable list of \\scmk{srcloc}s (see \\SecRef{linecol})" "source location(s) of error")
|
||||
{exn:source scheme_source_property |scheme_make_prim(extract_read_locations)|}]
|
||||
"\\rawscm{read} parsing error"
|
||||
(eof [] "unexpected end-of-file")
|
||||
(non-char [] "unexpected non-character"))
|
||||
(filesystem [] "error manipulating a filesystem object"
|
||||
(exists [] "attempt to create a file that exists already")
|
||||
(version [] "version mismatch loading an extension"))
|
||||
(network [] "TCP and UDP errors")
|
||||
(out-of-memory [] "out of memory")
|
||||
(unsupported [] "unsupported feature")
|
||||
(user [] "for end users"))
|
||||
|
||||
(break [break_field_check
|
||||
(continuation "escape continuation" "resumes from the break")]
|
||||
"asynchronous break signal"))
|
||||
|
||||
)
|
||||
|
||||
#|
|
||||
Not an exception in the above sense:
|
||||
(special-comment [width "non-negative exact integer" "width of the special comment in port positions"]
|
||||
"raised by a custom input port's special-reading procedure")
|
||||
|#
|
|
@ -10,10 +10,66 @@ fi
|
|||
#lang at-exp scheme
|
||||
|
||||
(provide main)
|
||||
(define (main [arg #f])
|
||||
(if (equal? arg "doc") (print-doc) (print-header)))
|
||||
(define (main [arg #f] [filename #f])
|
||||
(if (equal? arg "kernstruct")
|
||||
(gen-kernstruct filename)
|
||||
(print-header)))
|
||||
|
||||
(require "exnsrc.ss" scribble/text)
|
||||
(require scribble/text)
|
||||
|
||||
#|
|
||||
|
||||
Initial symbols are struct types. A non-initial symbol is a struct
|
||||
type without fields or subtypes. Square brackets are struct fields and
|
||||
propeties (the latter in curly braces), strings are contracts/comments.
|
||||
|
||||
|#
|
||||
|
||||
(define info '
|
||||
|
||||
(exn [exn_field_check
|
||||
(message "immutable string" "error message")
|
||||
(continuation-marks "mark set"
|
||||
"value returned by \\scmfirst{current-continuation-marks} immediately before the exception is raised")]
|
||||
-
|
||||
(fail [] "exceptions that represent errors"
|
||||
(contract [] "inappropriate run-time use of a function or syntactic form"
|
||||
(arity []
|
||||
"application with the wrong number of arguments")
|
||||
(divide-by-zero [] "divide by zero")
|
||||
(continuation [] "attempt to cross a continuation barrier")
|
||||
(variable [variable_field_check
|
||||
(id "symbol" "the variable's identifier")]
|
||||
"unbound/not-yet-defined global or module variable"))
|
||||
(syntax [syntax_field_check
|
||||
(exprs "immutable list of syntax objects" "illegal expression(s)")
|
||||
{exn:source scheme_source_property |scheme_make_prim(extract_syntax_locations)|}]
|
||||
"syntax error, but not a \\scmfirst{read} error")
|
||||
(read [read_field_check
|
||||
(srclocs "immutable list of \\scmk{srcloc}s (see \\SecRef{linecol})" "source location(s) of error")
|
||||
{exn:source scheme_source_property |scheme_make_prim(extract_read_locations)|}]
|
||||
"\\rawscm{read} parsing error"
|
||||
(eof [] "unexpected end-of-file")
|
||||
(non-char [] "unexpected non-character"))
|
||||
(filesystem [] "error manipulating a filesystem object"
|
||||
(exists [] "attempt to create a file that exists already")
|
||||
(version [] "version mismatch loading an extension"))
|
||||
(network [] "TCP and UDP errors")
|
||||
(out-of-memory [] "out of memory")
|
||||
(unsupported [] "unsupported feature")
|
||||
(user [] "for end users"))
|
||||
|
||||
(break [break_field_check
|
||||
(continuation "escape continuation" "resumes from the break")]
|
||||
"asynchronous break signal"))
|
||||
|
||||
)
|
||||
|
||||
#|
|
||||
Not an exception in the above sense:
|
||||
(special-comment [width "non-negative exact integer" "width of the special comment in port positions"]
|
||||
"raised by a custom input port's special-reading procedure")
|
||||
|#
|
||||
|
||||
(define l info)
|
||||
|
||||
|
@ -111,80 +167,61 @@ fi
|
|||
|
||||
(set! l (make-struct-list l #f #f "" 0 0))
|
||||
|
||||
(define (symbol-length s)
|
||||
(string-length (symbol->string s)))
|
||||
|
||||
(define (clean-help-desk-type type)
|
||||
(regexp-replace* "or-{\\\\scmfalse}"
|
||||
(regexp-replace* " " type "-")
|
||||
"or-#f"))
|
||||
(define (gen-kernstruct filename)
|
||||
(define preamble '(module kernstruct '#%kernel
|
||||
(#%require (for-syntax '#%kernel))
|
||||
(#%require "define.ss")
|
||||
(#%require (for-syntax "struct-info.ss"))
|
||||
|
||||
(define (print-doc)
|
||||
(printf "% This file was generated by makeexn~n")
|
||||
(display "\\begin{exntable}\n")
|
||||
(for-each
|
||||
(lambda (e)
|
||||
(let ([tab
|
||||
(lambda (pre)
|
||||
(let loop ([d (ex-depth e)])
|
||||
(cond
|
||||
[(zero? d) ""]
|
||||
[(= d 1) (format "\\exn~ainset{}" pre)]
|
||||
[else
|
||||
(string-append (format "\\exn~atab{}" pre)
|
||||
(loop (sub1 d)))])))])
|
||||
(display (tab ""))
|
||||
(printf "\\exntype{~a}{~a}{~a}{~a} "
|
||||
(ex-base e)
|
||||
(ex-string e)
|
||||
(case (ex-mark e)
|
||||
((#f) "$\\bullet$")
|
||||
((#\+) "$\\bullet$")
|
||||
((#\*) "$\\bullet$"))
|
||||
(let ([make-var (lambda (f)
|
||||
(let ([type (let ([s (fld-type f)])
|
||||
(if (string=? s "value")
|
||||
"v"
|
||||
s))]
|
||||
[name (fld-name f)])
|
||||
(cond
|
||||
[(eq? name 'value) "v"]
|
||||
[(regexp-match "port" type) type]
|
||||
[else (format "~a-~a" name (clean-help-desk-type type))])))])
|
||||
(let loop ([e e][s #f])
|
||||
(let* ([p (ex-parent e)]
|
||||
[s (if p (loop p s) s)])
|
||||
(let loop ([l (ex-args e)][s s])
|
||||
(cond
|
||||
[(null? l) s]
|
||||
[s (loop (cdr l) (string-append s " " (make-var (car l))))]
|
||||
[else (loop (cdr l) (make-var (car l)))]))))))
|
||||
(#%provide (all-defined))))
|
||||
|
||||
(if (eq? (ex-doc e) '-)
|
||||
(printf "\\exnusenone{~a} " (tab ""))
|
||||
(printf "\\exnuse{~a}{~a}{~a} " (tab "") (ex-doc e)
|
||||
(- 6.3 (* 0.08 (symbol-length (ex-base e))) (* 0.25 (ex-depth e)))))
|
||||
(define (sss . args)
|
||||
(string->symbol (apply string-append (map (λ (x) (if (symbol? x) (symbol->string x) x)) args))))
|
||||
|
||||
(let ([args (ex-args e)]
|
||||
[print-one
|
||||
(lambda (f)
|
||||
(printf "\\exnfield{~a}{~a}{~s}{~a}{~a} "
|
||||
(fld-name f) (ex-string e)
|
||||
(- 5.4 (* 0.08 (symbol-length (fld-name f))) (* 0.25 (ex-depth e))) (fld-doc f)
|
||||
(fld-type f)))])
|
||||
(unless (null? args)
|
||||
(printf "\\exnbeginfields{~a} " (tab ""))
|
||||
(print-one (car args))
|
||||
(for-each (lambda (f)
|
||||
(printf "\\exnnextfield{~a}" (tab ""))
|
||||
(print-one f))
|
||||
(cdr args))
|
||||
(printf "\\exnendfields{~a}" (tab ""))))
|
||||
(printf "\\exnendline{}")
|
||||
(display (tab "close"))
|
||||
(newline)))
|
||||
l)
|
||||
(display "\\end{exntable}\n"))
|
||||
(define (non-parent x)
|
||||
(or (equal? #f x) (equal? #t x)))
|
||||
|
||||
(define (gen-ds name-string fields parent)
|
||||
(let* ([name (sss name-string)]
|
||||
[sn (sss "struct:" name)]
|
||||
[mn (sss "make-" name)]
|
||||
[pn (sss name "?")]
|
||||
[fds `(list ,@(map (λ (x) `(quote-syntax ,x)) fields))]
|
||||
[fdsset! `'(,@(map (λ (x) #f) fields))]
|
||||
[prnt (if (non-parent parent) #t `(quote-syntax ,parent))])
|
||||
`(define-syntax ,name (make-struct-info (λ () (list (quote-syntax ,sn)
|
||||
(quote-syntax ,mn)
|
||||
(quote-syntax ,pn)
|
||||
,fds
|
||||
,fdsset! ,prnt))))))
|
||||
|
||||
(define (parent-sym x)
|
||||
(let ([parent (ex-parent x)])
|
||||
(if (non-parent parent)
|
||||
parent
|
||||
(string->symbol (ex-string parent)))))
|
||||
|
||||
(define (fields exn)
|
||||
(define (field-name exn fld)
|
||||
(sss (ex-string exn) "-" (fld-name fld)))
|
||||
(if (non-parent exn)
|
||||
null
|
||||
(append (reverse (map (λ (field) (field-name exn field)) (ex-args exn))) (fields (ex-parent exn)))))
|
||||
|
||||
|
||||
(define exceptions (map (λ (x) (gen-ds (ex-string x) (fields x) (parent-sym x))) l))
|
||||
(define structs (map (λ (x) (apply gen-ds x))
|
||||
'((arity-at-least (arity-at-least-value) #t)
|
||||
(date (time-zone-offset dst? year-day week-day year month day hour minute second) #t)
|
||||
(srcloc (span position column line source) #t))))
|
||||
|
||||
(with-output-to-file filename #:exists 'replace
|
||||
(λ ()
|
||||
(printf ";; This file was generated by makeexn~n")
|
||||
(printf ";;----------------------------------------------------------------------~n")
|
||||
(printf ";; record for static info produced by structs defined in c~n")
|
||||
(pretty-print (append preamble exceptions structs)))))
|
||||
|
||||
(define (print-header)
|
||||
@(compose output list){
|
||||
|
|
|
@ -988,11 +988,6 @@ MZ_EXTERN Scheme_Object *scheme_make_struct_instance(Scheme_Object *stype,
|
|||
int argc,
|
||||
Scheme_Object **argv);
|
||||
|
||||
MZ_EXTERN Scheme_Object *scheme_make_struct_exptime(Scheme_Object **names, int count,
|
||||
Scheme_Object *super_sym,
|
||||
Scheme_Object *super_exptime,
|
||||
int flags);
|
||||
|
||||
XFORM_NONGCING MZ_EXTERN int scheme_is_struct_instance(Scheme_Object *type, Scheme_Object *v);
|
||||
MZ_EXTERN Scheme_Object *scheme_struct_ref(Scheme_Object *s, int pos);
|
||||
MZ_EXTERN void scheme_struct_set(Scheme_Object *s, int pos, Scheme_Object *v);
|
||||
|
|
|
@ -821,10 +821,6 @@ Scheme_Object *(*scheme_make_struct_type)(Scheme_Object *base,
|
|||
Scheme_Object *(*scheme_make_struct_instance)(Scheme_Object *stype,
|
||||
int argc,
|
||||
Scheme_Object **argv);
|
||||
Scheme_Object *(*scheme_make_struct_exptime)(Scheme_Object **names, int count,
|
||||
Scheme_Object *super_sym,
|
||||
Scheme_Object *super_exptime,
|
||||
int flags);
|
||||
int (*scheme_is_struct_instance)(Scheme_Object *type, Scheme_Object *v);
|
||||
Scheme_Object *(*scheme_struct_ref)(Scheme_Object *s, int pos);
|
||||
void (*scheme_struct_set)(Scheme_Object *s, int pos, Scheme_Object *v);
|
||||
|
|
|
@ -569,7 +569,6 @@
|
|||
scheme_extension_table->scheme_make_struct_names = scheme_make_struct_names;
|
||||
scheme_extension_table->scheme_make_struct_type = scheme_make_struct_type;
|
||||
scheme_extension_table->scheme_make_struct_instance = scheme_make_struct_instance;
|
||||
scheme_extension_table->scheme_make_struct_exptime = scheme_make_struct_exptime;
|
||||
scheme_extension_table->scheme_is_struct_instance = scheme_is_struct_instance;
|
||||
scheme_extension_table->scheme_struct_ref = scheme_struct_ref;
|
||||
scheme_extension_table->scheme_struct_set = scheme_struct_set;
|
||||
|
|
|
@ -569,7 +569,6 @@
|
|||
#define scheme_make_struct_names (scheme_extension_table->scheme_make_struct_names)
|
||||
#define scheme_make_struct_type (scheme_extension_table->scheme_make_struct_type)
|
||||
#define scheme_make_struct_instance (scheme_extension_table->scheme_make_struct_instance)
|
||||
#define scheme_make_struct_exptime (scheme_extension_table->scheme_make_struct_exptime)
|
||||
#define scheme_is_struct_instance (scheme_extension_table->scheme_is_struct_instance)
|
||||
#define scheme_struct_ref (scheme_extension_table->scheme_struct_ref)
|
||||
#define scheme_struct_set (scheme_extension_table->scheme_struct_set)
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
/* This file was generated by makeexn */
|
||||
#ifndef _MZEXN_DEFINES
|
||||
#define _MZEXN_DEFINES
|
||||
|
||||
enum {
|
||||
MZEXN,
|
||||
MZEXN_FAIL,
|
||||
|
@ -24,7 +23,6 @@ enum {
|
|||
MZEXN_BREAK,
|
||||
MZEXN_OTHER
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef _MZEXN_TABLE
|
||||
|
@ -87,24 +85,19 @@ static exn_rec *exn_table;
|
|||
#endif
|
||||
|
||||
#ifdef _MZEXN_DECL_FIELDS
|
||||
|
||||
static const char *MZEXN_FIELDS[2] = { "message", "continuation-marks" };
|
||||
static const char *MZEXN_FAIL_CONTRACT_VARIABLE_FIELDS[1] = { "id" };
|
||||
static const char *MZEXN_FAIL_SYNTAX_FIELDS[1] = { "exprs" };
|
||||
static const char *MZEXN_FAIL_READ_FIELDS[1] = { "srclocs" };
|
||||
static const char *MZEXN_BREAK_FIELDS[1] = { "continuation" };
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef _MZEXN_DECL_PROPS
|
||||
|
||||
# define MZEXN_FAIL_SYNTAX_PROPS scheme_make_pair(scheme_make_pair(scheme_source_property, scheme_make_prim(extract_syntax_locations)), scheme_null)
|
||||
# define MZEXN_FAIL_READ_PROPS scheme_make_pair(scheme_make_pair(scheme_source_property, scheme_make_prim(extract_read_locations)), scheme_null)
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef _MZEXN_SETUP
|
||||
|
||||
SETUP_STRUCT(MZEXN, NULL, "exn", 2, MZEXN_FIELDS, scheme_null, scheme_make_prim(exn_field_check))
|
||||
SETUP_STRUCT(MZEXN_FAIL, EXN_PARENT(MZEXN), "exn:fail", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_CONTRACT, EXN_PARENT(MZEXN_FAIL), "exn:fail:contract", 0, NULL, scheme_null, NULL)
|
||||
|
@ -124,5 +117,4 @@ static const char *MZEXN_BREAK_FIELDS[1] = { "continuation" };
|
|||
SETUP_STRUCT(MZEXN_FAIL_UNSUPPORTED, EXN_PARENT(MZEXN_FAIL), "exn:fail:unsupported", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_FAIL_USER, EXN_PARENT(MZEXN_FAIL), "exn:fail:user", 0, NULL, scheme_null, NULL)
|
||||
SETUP_STRUCT(MZEXN_BREAK, EXN_PARENT(MZEXN), "exn:break", 1, MZEXN_BREAK_FIELDS, scheme_null, scheme_make_prim(break_field_check))
|
||||
|
||||
#endif
|
||||
|
|
|
@ -13,12 +13,12 @@
|
|||
consistently.)
|
||||
*/
|
||||
|
||||
#define MZSCHEME_VERSION "4.2.2.1"
|
||||
#define MZSCHEME_VERSION "4.2.2.2"
|
||||
|
||||
#define MZSCHEME_VERSION_X 4
|
||||
#define MZSCHEME_VERSION_Y 2
|
||||
#define MZSCHEME_VERSION_Z 2
|
||||
#define MZSCHEME_VERSION_W 1
|
||||
#define MZSCHEME_VERSION_W 2
|
||||
|
||||
#define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y)
|
||||
#define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W)
|
||||
|
|
|
@ -175,15 +175,15 @@ void
|
|||
scheme_init_struct (Scheme_Env *env)
|
||||
{
|
||||
Scheme_Object **as_names;
|
||||
Scheme_Object **as_values, *as_et;
|
||||
Scheme_Object **as_values;
|
||||
int as_count;
|
||||
#ifdef TIME_SYNTAX
|
||||
Scheme_Object **ts_names;
|
||||
Scheme_Object **ts_values, *ts_et;
|
||||
Scheme_Object **ts_values;
|
||||
int ts_count;
|
||||
#endif
|
||||
Scheme_Object **loc_names;
|
||||
Scheme_Object **loc_values, *loc_et;
|
||||
Scheme_Object **loc_values;
|
||||
int loc_count;
|
||||
int i;
|
||||
Scheme_Object *guard;
|
||||
|
@ -217,9 +217,6 @@ scheme_init_struct (Scheme_Env *env)
|
|||
env);
|
||||
}
|
||||
|
||||
as_et = scheme_make_struct_exptime(as_names, as_count, NULL, NULL, BUILTIN_STRUCT_FLAGS);
|
||||
scheme_add_global_keyword_symbol(as_names[as_count - 1], as_et, env);
|
||||
|
||||
#ifdef TIME_SYNTAX
|
||||
/* Add date structure: */
|
||||
REGISTER_SO(scheme_date);
|
||||
|
@ -237,8 +234,6 @@ scheme_init_struct (Scheme_Env *env)
|
|||
env);
|
||||
}
|
||||
|
||||
ts_et = scheme_make_struct_exptime(ts_names, ts_count, NULL, NULL, BUILTIN_STRUCT_FLAGS);
|
||||
scheme_add_global_keyword_symbol(ts_names[ts_count - 1], ts_et, env);
|
||||
#endif
|
||||
|
||||
/* Add location structure: */
|
||||
|
@ -257,9 +252,6 @@ scheme_init_struct (Scheme_Env *env)
|
|||
env);
|
||||
}
|
||||
|
||||
loc_et = scheme_make_struct_exptime(loc_names, loc_count, NULL, NULL, LOC_STRUCT_FLAGS);
|
||||
scheme_add_global_keyword_symbol(loc_names[loc_count - 1], loc_et, env);
|
||||
|
||||
REGISTER_SO(write_property);
|
||||
{
|
||||
Scheme_Object *a[2], *pred, *access;
|
||||
|
@ -2834,126 +2826,6 @@ static Scheme_Object *make_name(const char *pre, const char *tn, int ltn,
|
|||
return (Scheme_Object *)name;
|
||||
}
|
||||
|
||||
static Scheme_Object *get_phase_ids(Scheme_Object *_v, int phase)
|
||||
{
|
||||
Scheme_Object **v = (Scheme_Object **)_v;
|
||||
Scheme_Object *l, **names, *tp, *cns, *prd, *super_exptime, *w, *macro;
|
||||
Scheme_Hash_Table *ht;
|
||||
int count, i, flags;
|
||||
|
||||
ht = (Scheme_Hash_Table *)v[3];
|
||||
|
||||
if (!ht) {
|
||||
ht = scheme_make_hash_table(SCHEME_hash_ptr);
|
||||
v[3] = (Scheme_Object *)ht;
|
||||
}
|
||||
|
||||
l = scheme_hash_get(ht, scheme_make_integer(phase));
|
||||
if (l)
|
||||
return l;
|
||||
|
||||
names = (Scheme_Object **)v[0];
|
||||
count = SCHEME_INT_VAL(v[1]);
|
||||
super_exptime = v[2];
|
||||
|
||||
w = scheme_sys_wraps((Scheme_Comp_Env *)(scheme_make_integer(phase)));
|
||||
|
||||
tp = names[0];
|
||||
cns = names[1];
|
||||
prd = names[2];
|
||||
|
||||
tp = scheme_datum_to_syntax(tp, scheme_false, w, 0, 0);
|
||||
cns = scheme_datum_to_syntax(cns, scheme_false, w, 0, 0);
|
||||
prd = scheme_datum_to_syntax(prd, scheme_false, w, 0, 0);
|
||||
|
||||
if (super_exptime) {
|
||||
super_exptime = get_phase_ids(SCHEME_PTR2_VAL(super_exptime), phase);
|
||||
super_exptime = SCHEME_PTR_VAL(super_exptime);
|
||||
l = scheme_make_pair(scheme_datum_to_syntax(v[4], scheme_false, w, 0, 0), scheme_null);
|
||||
super_exptime = SCHEME_CDR(SCHEME_CDR(SCHEME_CDR(super_exptime)));
|
||||
} else {
|
||||
l = scheme_make_pair(scheme_true, scheme_null);
|
||||
}
|
||||
|
||||
if (count > 3) {
|
||||
Scheme_Object *n, *gets, *sets;
|
||||
|
||||
if (super_exptime) {
|
||||
gets = SCHEME_CAR(super_exptime);
|
||||
sets = SCHEME_CADR(super_exptime);
|
||||
} else {
|
||||
gets = scheme_null;
|
||||
sets = scheme_null;
|
||||
}
|
||||
|
||||
flags = SCHEME_INT_VAL(v[5]);
|
||||
|
||||
for (i = 3; i < count - 1; i++) {
|
||||
n = names[i];
|
||||
n = scheme_datum_to_syntax(n, scheme_false, w, 0, 0);
|
||||
gets = scheme_make_pair(n, gets);
|
||||
|
||||
if (!(flags & SCHEME_STRUCT_NO_SET)) {
|
||||
i++;
|
||||
n = names[i];
|
||||
n = scheme_datum_to_syntax(n, scheme_false, w, 0, 0);
|
||||
sets = scheme_make_pair(n, sets);
|
||||
} else
|
||||
sets = scheme_make_pair(scheme_false, sets);
|
||||
}
|
||||
|
||||
l = scheme_make_pair(gets, scheme_make_pair(sets, l));
|
||||
} else {
|
||||
if (super_exptime)
|
||||
l = icons(SCHEME_CAR(super_exptime),
|
||||
icons(SCHEME_CADR(super_exptime),
|
||||
l));
|
||||
else
|
||||
l = scheme_make_pair(scheme_null, scheme_make_pair(scheme_null, l));
|
||||
}
|
||||
|
||||
l = scheme_make_pair(prd, l);
|
||||
l = scheme_make_pair(cns, l);
|
||||
l = scheme_make_pair(tp, l);
|
||||
|
||||
macro = scheme_alloc_small_object();
|
||||
macro->type = scheme_macro_type;
|
||||
SCHEME_PTR_VAL(macro) = l;
|
||||
|
||||
scheme_hash_set(ht, scheme_make_integer(phase), macro);
|
||||
|
||||
return macro;
|
||||
}
|
||||
|
||||
Scheme_Object *scheme_make_struct_exptime(Scheme_Object **names, int count,
|
||||
Scheme_Object *super_sym,
|
||||
Scheme_Object *super_exptime,
|
||||
int flags)
|
||||
{
|
||||
Scheme_Object *macro;
|
||||
Scheme_Object **v;
|
||||
|
||||
if (!(flags & SCHEME_STRUCT_EXPTIME)) {
|
||||
scheme_signal_error("struct exptime needs SCHEME_STRUCT_EXPTIME");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
v = MALLOC_N(Scheme_Object*, 6);
|
||||
v[0] = (Scheme_Object *)names;
|
||||
v[1] = scheme_make_integer(count);
|
||||
v[2] = super_exptime;
|
||||
v[3] = NULL; /* hash table, filled in by get_phase_ids */
|
||||
v[4] = super_sym;
|
||||
v[5] = scheme_make_integer(flags);
|
||||
|
||||
macro = scheme_alloc_object();
|
||||
macro->type = scheme_lazy_macro_type;
|
||||
SCHEME_PTR1_VAL(macro) = (Scheme_Object *)get_phase_ids;
|
||||
SCHEME_PTR2_VAL(macro) = (Scheme_Object *)v;
|
||||
|
||||
return macro;
|
||||
}
|
||||
|
||||
/*========================================================================*/
|
||||
/* struct type */
|
||||
/*========================================================================*/
|
||||
|
|
|
@ -3814,7 +3814,6 @@ static Scheme_Object *search_shared_pes(Scheme_Object *shared_pes,
|
|||
{
|
||||
Scheme_Object *pr, *idx, *pos, *src, *best_match = NULL;
|
||||
Scheme_Module_Phase_Exports *pt;
|
||||
Scheme_Hash_Table *ht;
|
||||
int i, phase, best_match_len = -1, skip = 0;
|
||||
Scheme_Object *marks_cache = NULL;
|
||||
|
||||
|
|
|
@ -117,138 +117,137 @@ enum {
|
|||
scheme_rename_table_set_type, /* 99 */
|
||||
scheme_module_type, /* 100 */
|
||||
scheme_svector_type, /* 101 */
|
||||
scheme_lazy_macro_type, /* 102 */
|
||||
scheme_resolve_prefix_type, /* 103 */
|
||||
scheme_security_guard_type, /* 104 */
|
||||
scheme_indent_type, /* 105 */
|
||||
scheme_udp_type, /* 106 */
|
||||
scheme_udp_evt_type, /* 107 */
|
||||
scheme_tcp_accept_evt_type, /* 108 */
|
||||
scheme_id_macro_type, /* 109 */
|
||||
scheme_evt_set_type, /* 110 */
|
||||
scheme_wrap_evt_type, /* 111 */
|
||||
scheme_handle_evt_type, /* 112 */
|
||||
scheme_nack_guard_evt_type, /* 113 */
|
||||
scheme_semaphore_repost_type, /* 114 */
|
||||
scheme_channel_type, /* 115 */
|
||||
scheme_channel_put_type, /* 116 */
|
||||
scheme_thread_resume_type, /* 117 */
|
||||
scheme_thread_suspend_type, /* 118 */
|
||||
scheme_thread_dead_type, /* 119 */
|
||||
scheme_poll_evt_type, /* 120 */
|
||||
scheme_nack_evt_type, /* 121 */
|
||||
scheme_module_registry_type, /* 122 */
|
||||
scheme_thread_set_type, /* 123 */
|
||||
scheme_string_converter_type, /* 124 */
|
||||
scheme_alarm_type, /* 125 */
|
||||
scheme_thread_recv_evt_type, /* 126 */
|
||||
scheme_thread_cell_type, /* 127 */
|
||||
scheme_channel_syncer_type, /* 128 */
|
||||
scheme_special_comment_type, /* 129 */
|
||||
scheme_write_evt_type, /* 130 */
|
||||
scheme_always_evt_type, /* 131 */
|
||||
scheme_never_evt_type, /* 132 */
|
||||
scheme_progress_evt_type, /* 133 */
|
||||
scheme_certifications_type, /* 134 */
|
||||
scheme_already_comp_type, /* 135 */
|
||||
scheme_readtable_type, /* 136 */
|
||||
scheme_intdef_context_type, /* 137 */
|
||||
scheme_lexical_rib_type, /* 138 */
|
||||
scheme_thread_cell_values_type, /* 139 */
|
||||
scheme_global_ref_type, /* 140 */
|
||||
scheme_cont_mark_chain_type, /* 141 */
|
||||
scheme_raw_pair_type, /* 142 */
|
||||
scheme_prompt_type, /* 143 */
|
||||
scheme_prompt_tag_type, /* 144 */
|
||||
scheme_expanded_syntax_type, /* 145 */
|
||||
scheme_delay_syntax_type, /* 146 */
|
||||
scheme_cust_box_type, /* 147 */
|
||||
scheme_resolved_module_path_type, /* 148 */
|
||||
scheme_module_phase_exports_type, /* 149 */
|
||||
scheme_logger_type, /* 150 */
|
||||
scheme_log_reader_type, /* 151 */
|
||||
scheme_free_id_info_type, /* 152 */
|
||||
scheme_rib_delimiter_type, /* 153 */
|
||||
scheme_noninline_proc_type, /* 154 */
|
||||
scheme_prune_context_type, /* 155 */
|
||||
scheme_resolve_prefix_type, /* 102 */
|
||||
scheme_security_guard_type, /* 103 */
|
||||
scheme_indent_type, /* 104 */
|
||||
scheme_udp_type, /* 105 */
|
||||
scheme_udp_evt_type, /* 106 */
|
||||
scheme_tcp_accept_evt_type, /* 107 */
|
||||
scheme_id_macro_type, /* 108 */
|
||||
scheme_evt_set_type, /* 109 */
|
||||
scheme_wrap_evt_type, /* 110 */
|
||||
scheme_handle_evt_type, /* 111 */
|
||||
scheme_nack_guard_evt_type, /* 112 */
|
||||
scheme_semaphore_repost_type, /* 113 */
|
||||
scheme_channel_type, /* 114 */
|
||||
scheme_channel_put_type, /* 115 */
|
||||
scheme_thread_resume_type, /* 116 */
|
||||
scheme_thread_suspend_type, /* 117 */
|
||||
scheme_thread_dead_type, /* 118 */
|
||||
scheme_poll_evt_type, /* 119 */
|
||||
scheme_nack_evt_type, /* 120 */
|
||||
scheme_module_registry_type, /* 121 */
|
||||
scheme_thread_set_type, /* 122 */
|
||||
scheme_string_converter_type, /* 123 */
|
||||
scheme_alarm_type, /* 124 */
|
||||
scheme_thread_recv_evt_type, /* 125 */
|
||||
scheme_thread_cell_type, /* 126 */
|
||||
scheme_channel_syncer_type, /* 127 */
|
||||
scheme_special_comment_type, /* 128 */
|
||||
scheme_write_evt_type, /* 129 */
|
||||
scheme_always_evt_type, /* 130 */
|
||||
scheme_never_evt_type, /* 131 */
|
||||
scheme_progress_evt_type, /* 132 */
|
||||
scheme_certifications_type, /* 133 */
|
||||
scheme_already_comp_type, /* 134 */
|
||||
scheme_readtable_type, /* 135 */
|
||||
scheme_intdef_context_type, /* 136 */
|
||||
scheme_lexical_rib_type, /* 137 */
|
||||
scheme_thread_cell_values_type, /* 138 */
|
||||
scheme_global_ref_type, /* 139 */
|
||||
scheme_cont_mark_chain_type, /* 140 */
|
||||
scheme_raw_pair_type, /* 141 */
|
||||
scheme_prompt_type, /* 142 */
|
||||
scheme_prompt_tag_type, /* 143 */
|
||||
scheme_expanded_syntax_type, /* 144 */
|
||||
scheme_delay_syntax_type, /* 145 */
|
||||
scheme_cust_box_type, /* 146 */
|
||||
scheme_resolved_module_path_type, /* 147 */
|
||||
scheme_module_phase_exports_type, /* 148 */
|
||||
scheme_logger_type, /* 149 */
|
||||
scheme_log_reader_type, /* 150 */
|
||||
scheme_free_id_info_type, /* 151 */
|
||||
scheme_rib_delimiter_type, /* 152 */
|
||||
scheme_noninline_proc_type, /* 153 */
|
||||
scheme_prune_context_type, /* 154 */
|
||||
|
||||
#ifdef MZTAG_REQUIRED
|
||||
_scheme_last_normal_type_, /* 156 */
|
||||
_scheme_last_normal_type_, /* 155 */
|
||||
|
||||
scheme_rt_weak_array, /* 157 */
|
||||
scheme_rt_weak_array, /* 156 */
|
||||
|
||||
scheme_rt_comp_env, /* 158 */
|
||||
scheme_rt_constant_binding, /* 159 */
|
||||
scheme_rt_resolve_info, /* 160 */
|
||||
scheme_rt_optimize_info, /* 161 */
|
||||
scheme_rt_compile_info, /* 162 */
|
||||
scheme_rt_cont_mark, /* 163 */
|
||||
scheme_rt_saved_stack, /* 164 */
|
||||
scheme_rt_reply_item, /* 165 */
|
||||
scheme_rt_closure_info, /* 166 */
|
||||
scheme_rt_overflow, /* 167 */
|
||||
scheme_rt_overflow_jmp, /* 168 */
|
||||
scheme_rt_meta_cont, /* 169 */
|
||||
scheme_rt_dyn_wind_cell, /* 170 */
|
||||
scheme_rt_dyn_wind_info, /* 171 */
|
||||
scheme_rt_dyn_wind, /* 172 */
|
||||
scheme_rt_dup_check, /* 173 */
|
||||
scheme_rt_thread_memory, /* 174 */
|
||||
scheme_rt_input_file, /* 175 */
|
||||
scheme_rt_input_fd, /* 176 */
|
||||
scheme_rt_oskit_console_input, /* 177 */
|
||||
scheme_rt_tested_input_file, /* 178 */
|
||||
scheme_rt_tested_output_file, /* 179 */
|
||||
scheme_rt_indexed_string, /* 180 */
|
||||
scheme_rt_output_file, /* 181 */
|
||||
scheme_rt_load_handler_data, /* 182 */
|
||||
scheme_rt_pipe, /* 183 */
|
||||
scheme_rt_beos_process, /* 184 */
|
||||
scheme_rt_system_child, /* 185 */
|
||||
scheme_rt_tcp, /* 186 */
|
||||
scheme_rt_write_data, /* 187 */
|
||||
scheme_rt_tcp_select_info, /* 188 */
|
||||
scheme_rt_namespace_option, /* 189 */
|
||||
scheme_rt_param_data, /* 190 */
|
||||
scheme_rt_will, /* 191 */
|
||||
scheme_rt_struct_proc_info, /* 192 */
|
||||
scheme_rt_linker_name, /* 193 */
|
||||
scheme_rt_param_map, /* 194 */
|
||||
scheme_rt_finalization, /* 195 */
|
||||
scheme_rt_finalizations, /* 196 */
|
||||
scheme_rt_cpp_object, /* 197 */
|
||||
scheme_rt_cpp_array_object, /* 198 */
|
||||
scheme_rt_stack_object, /* 199 */
|
||||
scheme_rt_preallocated_object, /* 200 */
|
||||
scheme_thread_hop_type, /* 201 */
|
||||
scheme_rt_srcloc, /* 202 */
|
||||
scheme_rt_evt, /* 203 */
|
||||
scheme_rt_syncing, /* 204 */
|
||||
scheme_rt_comp_prefix, /* 205 */
|
||||
scheme_rt_user_input, /* 206 */
|
||||
scheme_rt_user_output, /* 207 */
|
||||
scheme_rt_compact_port, /* 208 */
|
||||
scheme_rt_read_special_dw, /* 209 */
|
||||
scheme_rt_regwork, /* 210 */
|
||||
scheme_rt_buf_holder, /* 211 */
|
||||
scheme_rt_parameterization, /* 212 */
|
||||
scheme_rt_print_params, /* 213 */
|
||||
scheme_rt_read_params, /* 214 */
|
||||
scheme_rt_native_code, /* 215 */
|
||||
scheme_rt_native_code_plus_case, /* 216 */
|
||||
scheme_rt_jitter_data, /* 217 */
|
||||
scheme_rt_module_exports, /* 218 */
|
||||
scheme_rt_delay_load_info, /* 219 */
|
||||
scheme_rt_marshal_info, /* 220 */
|
||||
scheme_rt_unmarshal_info, /* 221 */
|
||||
scheme_rt_runstack, /* 222 */
|
||||
scheme_rt_sfs_info, /* 223 */
|
||||
scheme_rt_validate_clearing, /* 224 */
|
||||
scheme_rt_rb_node, /* 225 */
|
||||
scheme_rt_comp_env, /* 157 */
|
||||
scheme_rt_constant_binding, /* 158 */
|
||||
scheme_rt_resolve_info, /* 159 */
|
||||
scheme_rt_optimize_info, /* 160 */
|
||||
scheme_rt_compile_info, /* 161 */
|
||||
scheme_rt_cont_mark, /* 162 */
|
||||
scheme_rt_saved_stack, /* 163 */
|
||||
scheme_rt_reply_item, /* 164 */
|
||||
scheme_rt_closure_info, /* 165 */
|
||||
scheme_rt_overflow, /* 166 */
|
||||
scheme_rt_overflow_jmp, /* 167 */
|
||||
scheme_rt_meta_cont, /* 168 */
|
||||
scheme_rt_dyn_wind_cell, /* 169 */
|
||||
scheme_rt_dyn_wind_info, /* 170 */
|
||||
scheme_rt_dyn_wind, /* 171 */
|
||||
scheme_rt_dup_check, /* 172 */
|
||||
scheme_rt_thread_memory, /* 173 */
|
||||
scheme_rt_input_file, /* 174 */
|
||||
scheme_rt_input_fd, /* 175 */
|
||||
scheme_rt_oskit_console_input, /* 176 */
|
||||
scheme_rt_tested_input_file, /* 177 */
|
||||
scheme_rt_tested_output_file, /* 178 */
|
||||
scheme_rt_indexed_string, /* 179 */
|
||||
scheme_rt_output_file, /* 180 */
|
||||
scheme_rt_load_handler_data, /* 181 */
|
||||
scheme_rt_pipe, /* 182 */
|
||||
scheme_rt_beos_process, /* 183 */
|
||||
scheme_rt_system_child, /* 184 */
|
||||
scheme_rt_tcp, /* 185 */
|
||||
scheme_rt_write_data, /* 186 */
|
||||
scheme_rt_tcp_select_info, /* 187 */
|
||||
scheme_rt_namespace_option, /* 188 */
|
||||
scheme_rt_param_data, /* 189 */
|
||||
scheme_rt_will, /* 190 */
|
||||
scheme_rt_struct_proc_info, /* 191 */
|
||||
scheme_rt_linker_name, /* 192 */
|
||||
scheme_rt_param_map, /* 193 */
|
||||
scheme_rt_finalization, /* 194 */
|
||||
scheme_rt_finalizations, /* 195 */
|
||||
scheme_rt_cpp_object, /* 196 */
|
||||
scheme_rt_cpp_array_object, /* 197 */
|
||||
scheme_rt_stack_object, /* 198 */
|
||||
scheme_rt_preallocated_object, /* 199 */
|
||||
scheme_thread_hop_type, /* 200 */
|
||||
scheme_rt_srcloc, /* 201 */
|
||||
scheme_rt_evt, /* 202 */
|
||||
scheme_rt_syncing, /* 203 */
|
||||
scheme_rt_comp_prefix, /* 204 */
|
||||
scheme_rt_user_input, /* 205 */
|
||||
scheme_rt_user_output, /* 206 */
|
||||
scheme_rt_compact_port, /* 207 */
|
||||
scheme_rt_read_special_dw, /* 208 */
|
||||
scheme_rt_regwork, /* 209 */
|
||||
scheme_rt_buf_holder, /* 210 */
|
||||
scheme_rt_parameterization, /* 211 */
|
||||
scheme_rt_print_params, /* 212 */
|
||||
scheme_rt_read_params, /* 213 */
|
||||
scheme_rt_native_code, /* 214 */
|
||||
scheme_rt_native_code_plus_case, /* 215 */
|
||||
scheme_rt_jitter_data, /* 216 */
|
||||
scheme_rt_module_exports, /* 217 */
|
||||
scheme_rt_delay_load_info, /* 218 */
|
||||
scheme_rt_marshal_info, /* 219 */
|
||||
scheme_rt_unmarshal_info, /* 220 */
|
||||
scheme_rt_runstack, /* 221 */
|
||||
scheme_rt_sfs_info, /* 222 */
|
||||
scheme_rt_validate_clearing, /* 223 */
|
||||
scheme_rt_rb_node, /* 224 */
|
||||
#endif
|
||||
|
||||
scheme_place_type, /* 226 */
|
||||
scheme_engine_type, /* 227 */
|
||||
scheme_place_type, /* 225 */
|
||||
scheme_engine_type, /* 226 */
|
||||
|
||||
_scheme_last_type_
|
||||
};
|
||||
|
|
|
@ -160,7 +160,6 @@ scheme_init_type ()
|
|||
set_name(scheme_keyword_type, "<keyword>");
|
||||
set_name(scheme_syntax_compiler_type, "<syntax-compiler>");
|
||||
set_name(scheme_macro_type, "<macro>");
|
||||
set_name(scheme_lazy_macro_type, "<lazy-macro>");
|
||||
set_name(scheme_vector_type, "<vector>");
|
||||
set_name(scheme_bignum_type, "<bignum-integer>");
|
||||
set_name(scheme_escaping_cont_type, "<escape-continuation>");
|
||||
|
@ -552,7 +551,6 @@ void scheme_register_traversers(void)
|
|||
GC_REG_TRAV(scheme_void_type, char_obj); /* small */
|
||||
GC_REG_TRAV(scheme_syntax_compiler_type, syntax_compiler);
|
||||
GC_REG_TRAV(scheme_macro_type, small_object);
|
||||
GC_REG_TRAV(scheme_lazy_macro_type, second_of_cons);
|
||||
GC_REG_TRAV(scheme_box_type, small_object);
|
||||
GC_REG_TRAV(scheme_thread_type, thread_val);
|
||||
GC_REG_TRAV(scheme_prompt_type, prompt_val);
|
||||
|
|
Loading…
Reference in New Issue
Block a user