Ah, well. Unless magic happens, I choose the Rays, because seriously?
I may have a love for the NL, but forget the Phillies. Just glad LA got knocked out first so we didn't have to hear about Manny making it and Boston not. svn: r12050
This commit is contained in:
commit
8668c6301b
|
@ -266,6 +266,7 @@
|
||||||
|
|
||||||
(define (decompile-lam expr globs stack)
|
(define (decompile-lam expr globs stack)
|
||||||
(match expr
|
(match expr
|
||||||
|
[(struct closure (lam gen-id)) (decompile-lam lam globs stack)]
|
||||||
[(struct lam (name flags num-params rest? closure-map max-let-depth body))
|
[(struct lam (name flags num-params rest? closure-map max-let-depth body))
|
||||||
(let ([vars (for/list ([i (in-range num-params)])
|
(let ([vars (for/list ([i (in-range num-params)])
|
||||||
(gensym (format "arg~a-" i)))]
|
(gensym (format "arg~a-" i)))]
|
||||||
|
|
|
@ -453,7 +453,8 @@
|
||||||
(for ([zo-file source-files])
|
(for ([zo-file source-files])
|
||||||
(let ([zo-file (path->complete-path zo-file)])
|
(let ([zo-file (path->complete-path zo-file)])
|
||||||
(let-values ([(base name dir?) (split-path zo-file)])
|
(let-values ([(base name dir?) (split-path zo-file)])
|
||||||
(parameterize ([current-load-relative-directory base])
|
(parameterize ([current-load-relative-directory base]
|
||||||
|
[print-graph #t])
|
||||||
(pretty-print
|
(pretty-print
|
||||||
(decompile
|
(decompile
|
||||||
(call-with-input-file*
|
(call-with-input-file*
|
||||||
|
|
|
@ -306,7 +306,7 @@
|
||||||
;; not sure if it's really unsigned
|
;; not sure if it's really unsigned
|
||||||
(integer-bytes->integer (read-bytes 4 p) #f #f))
|
(integer-bytes->integer (read-bytes 4 p) #f #f))
|
||||||
|
|
||||||
(define-struct cport ([pos #:mutable] orig-port size bytes symtab shared-offsets))
|
(define-struct cport ([pos #:mutable] orig-port size bytes symtab shared-offsets decoded rns))
|
||||||
|
|
||||||
(define (cp-getc cp)
|
(define (cp-getc cp)
|
||||||
(begin-with-definitions
|
(begin-with-definitions
|
||||||
|
@ -426,6 +426,124 @@
|
||||||
|
|
||||||
(define-struct not-ready ())
|
(define-struct not-ready ())
|
||||||
|
|
||||||
|
;; ----------------------------------------
|
||||||
|
;; Synatx unmarshaling
|
||||||
|
|
||||||
|
(define-form-struct wrapped (datum wraps certs))
|
||||||
|
|
||||||
|
(define (decode-stx cp v)
|
||||||
|
(if (integer? v)
|
||||||
|
(let-values ([(v2 decoded?) (unmarshal-stx-get cp v)])
|
||||||
|
(if decoded?
|
||||||
|
v2
|
||||||
|
(let ([v2 (decode-stx cp v2)])
|
||||||
|
(unmarshal-stx-set! cp v v2)
|
||||||
|
v2)))
|
||||||
|
(let loop ([v v])
|
||||||
|
(let-values ([(cert-marks v encoded-wraps)
|
||||||
|
(match v
|
||||||
|
[`#((,datum . ,wraps) ,cert-marks) (values cert-marks datum wraps)]
|
||||||
|
[`(,datum . ,wraps) (values #f datum wraps)]
|
||||||
|
[else (error 'decode-wraps "bad datum+wrap: ~e" v)])])
|
||||||
|
(let* ([wraps (decode-wraps cp encoded-wraps)]
|
||||||
|
[add-wrap (lambda (v) (make-wrapped v wraps cert-marks))])
|
||||||
|
(cond
|
||||||
|
[(pair? v)
|
||||||
|
(if (eq? #t (car v))
|
||||||
|
;; Share decoded wraps with all nested parts.
|
||||||
|
(let loop ([v (cdr v)])
|
||||||
|
(cond
|
||||||
|
[(pair? v)
|
||||||
|
(let ploop ([v v])
|
||||||
|
(cond
|
||||||
|
[(null? v) null]
|
||||||
|
[(pair? v) (add-wrap (cons (loop (car v)) (ploop (cdr v))))]
|
||||||
|
[else (loop v)]))]
|
||||||
|
[(box? v) (add-wrap (box (loop (unbox v))))]
|
||||||
|
[(vector? v)
|
||||||
|
(add-wrap (list->vector (map loop (vector->list v))))]
|
||||||
|
[(prefab-struct-key v)
|
||||||
|
=> (lambda (k)
|
||||||
|
(add-wrap
|
||||||
|
(apply
|
||||||
|
make-prefab-struct
|
||||||
|
k
|
||||||
|
(map loop (cdr (vector->list (struct->vector v)))))))]
|
||||||
|
[else (add-wrap v)]))
|
||||||
|
;; Decode sub-elements that have their own wraps:
|
||||||
|
(let-values ([(v counter) (if (exact-integer? (car v))
|
||||||
|
(values (cdr v) (car v))
|
||||||
|
(values v -1))])
|
||||||
|
(add-wrap
|
||||||
|
(let ploop ([v v][counter counter])
|
||||||
|
(cond
|
||||||
|
[(null? v) null]
|
||||||
|
[(or (not (pair? v)) (zero? counter)) (loop v)]
|
||||||
|
[(pair? v) (cons (loop (car v))
|
||||||
|
(ploop (cdr v) (sub1 counter)))])))))]
|
||||||
|
[(box? v) (add-wrap (box (loop (unbox v))))]
|
||||||
|
[(vector? v)
|
||||||
|
(add-wrap (list->vector (map loop (vector->list v))))]
|
||||||
|
[(prefab-struct-key v)
|
||||||
|
=> (lambda (k)
|
||||||
|
(add-wrap
|
||||||
|
(apply
|
||||||
|
make-prefab-struct
|
||||||
|
k
|
||||||
|
(map loop (cdr (vector->list (struct->vector v)))))))]
|
||||||
|
[else (add-wrap v)]))))))
|
||||||
|
|
||||||
|
(define (decode-wraps cp w)
|
||||||
|
(if (integer? w)
|
||||||
|
(let-values ([(w2 decoded?) (unmarshal-stx-get cp w)])
|
||||||
|
(if decoded?
|
||||||
|
w2
|
||||||
|
(let ([w2 (decode-wraps cp w2)])
|
||||||
|
(unmarshal-stx-set! cp w w2)
|
||||||
|
w2)))
|
||||||
|
(map (lambda (a)
|
||||||
|
(let aloop ([a a])
|
||||||
|
(cond
|
||||||
|
[(integer? a)
|
||||||
|
(let-values ([(a2 decoded?) (unmarshal-stx-get cp a)])
|
||||||
|
(if decoded?
|
||||||
|
a2
|
||||||
|
(let ([a2 (aloop a2)])
|
||||||
|
(unmarshal-stx-set! cp a a2)
|
||||||
|
a2)))]
|
||||||
|
[(and (pair? a) (null? (cdr a)) (number? (car a)))
|
||||||
|
;; a mark
|
||||||
|
(string->symbol (format "mark~a" (car a)))]
|
||||||
|
[(vector? a)
|
||||||
|
`(#%decode-lexical-rename ,a)]
|
||||||
|
[(pair? a)
|
||||||
|
`(#%decode-module-rename ,a)]
|
||||||
|
[(boolean? a)
|
||||||
|
`(#%top-level-rename ,a)]
|
||||||
|
[(symbol? a)
|
||||||
|
'(#%mark-barrier)]
|
||||||
|
[(box? a)
|
||||||
|
`(#%phase-shift ,(unbox a))]
|
||||||
|
[else (error 'decode-wraps "bad wrap element: ~e" a)])))
|
||||||
|
w)))
|
||||||
|
|
||||||
|
(define (unmarshal-stx-get cp pos)
|
||||||
|
(if (pos . >= . (vector-length (cport-symtab cp)))
|
||||||
|
(values `(#%bad-index ,pos) #t)
|
||||||
|
(let ([v (vector-ref (cport-symtab cp) pos)])
|
||||||
|
(if (not-ready? v)
|
||||||
|
(let ([save-pos (cport-pos cp)])
|
||||||
|
(set-cport-pos! cp (vector-ref (cport-shared-offsets cp) (sub1 pos)))
|
||||||
|
(let ([v (read-compact cp)])
|
||||||
|
(vector-set! (cport-symtab cp) pos v)
|
||||||
|
(set-cport-pos! cp save-pos)
|
||||||
|
(values v #f)))
|
||||||
|
(values v (vector-ref (cport-decoded cp) pos))))))
|
||||||
|
|
||||||
|
(define (unmarshal-stx-set! cp pos v)
|
||||||
|
(vector-set! (cport-symtab cp) pos v)
|
||||||
|
(vector-set! (cport-decoded cp) pos #t))
|
||||||
|
|
||||||
;; ----------------------------------------
|
;; ----------------------------------------
|
||||||
;; Main parsing loop
|
;; Main parsing loop
|
||||||
|
|
||||||
|
@ -535,7 +653,7 @@
|
||||||
[(marshalled) (read-marshalled (read-compact-number cp) cp)]
|
[(marshalled) (read-marshalled (read-compact-number cp) cp)]
|
||||||
[(stx)
|
[(stx)
|
||||||
(let ([v (make-reader-graph (read-compact cp))])
|
(let ([v (make-reader-graph (read-compact cp))])
|
||||||
(make-stx v))]
|
(make-stx (decode-stx cp v)))]
|
||||||
[(local local-unbox)
|
[(local local-unbox)
|
||||||
(let ([c (read-compact-number cp)]
|
(let ([c (read-compact-number cp)]
|
||||||
[unbox? (eq? cpt-tag 'local-unbox)])
|
[unbox? (eq? cpt-tag 'local-unbox)])
|
||||||
|
@ -666,7 +784,7 @@
|
||||||
|
|
||||||
(define symtab (make-vector symtabsize (make-not-ready)))
|
(define symtab (make-vector symtabsize (make-not-ready)))
|
||||||
|
|
||||||
(define cp (make-cport 0 port size* rst symtab so*))
|
(define cp (make-cport 0 port size* rst symtab so* (make-vector symtabsize #f) (make-hash)))
|
||||||
(for/list ([i (in-range 1 symtabsize)])
|
(for/list ([i (in-range 1 symtabsize)])
|
||||||
(when (not-ready? (vector-ref symtab i))
|
(when (not-ready? (vector-ref symtab i))
|
||||||
(set-cport-pos! cp (vector-ref so* (sub1 i)))
|
(set-cport-pos! cp (vector-ref so* (sub1 i)))
|
||||||
|
|
|
@ -320,7 +320,9 @@
|
||||||
(provide add-header-line!)
|
(provide add-header-line!)
|
||||||
(define (add-header-line! line)
|
(define (add-header-line! line)
|
||||||
(let ([new (list line)] [cur (thread-cell-ref added-lines)])
|
(let ([new (list line)] [cur (thread-cell-ref added-lines)])
|
||||||
(if cur (append cur new) (thread-cell-set! added-lines new))))
|
(if cur
|
||||||
|
(set-box! cur (append (unbox cur) new))
|
||||||
|
(thread-cell-set! added-lines (box new)))))
|
||||||
|
|
||||||
(define ((wrap-evaluator eval) expr)
|
(define ((wrap-evaluator eval) expr)
|
||||||
(define unknown "unknown")
|
(define unknown "unknown")
|
||||||
|
@ -477,7 +479,7 @@
|
||||||
(prefix-line (user-substs user student-line)))
|
(prefix-line (user-substs user student-line)))
|
||||||
(for-each prefix-line/substs extra-lines)
|
(for-each prefix-line/substs extra-lines)
|
||||||
(for-each prefix-line/substs
|
(for-each prefix-line/substs
|
||||||
(or (thread-cell-ref added-lines) '()))
|
(unbox (or (thread-cell-ref added-lines) (box '()))))
|
||||||
(display submission-text))))
|
(display submission-text))))
|
||||||
(define submission-text
|
(define submission-text
|
||||||
(and create-text?
|
(and create-text?
|
||||||
|
@ -697,6 +699,15 @@
|
||||||
(error* "your code failed a test: ~e evaluated to ~e, expecting ~e"
|
(error* "your code failed a test: ~e evaluated to ~e, expecting ~e"
|
||||||
(->disp 'expr) (->disp val) (->disp result))))]))
|
(->disp 'expr) (->disp val) (->disp result))))]))
|
||||||
|
|
||||||
|
(provide !test/exn)
|
||||||
|
(define-syntax (!test/exn stx)
|
||||||
|
(syntax-case stx ()
|
||||||
|
[(_ test-exp)
|
||||||
|
#`(with-handlers ([exn:fail? (lambda (exn) #t)])
|
||||||
|
((submission-eval) `test-exp)
|
||||||
|
(error* "expected exception on test expression: ~v"
|
||||||
|
(->disp 'test-exp)))]))
|
||||||
|
|
||||||
(provide !all-covered)
|
(provide !all-covered)
|
||||||
(define coverage-checked (make-thread-cell #f))
|
(define coverage-checked (make-thread-cell #f))
|
||||||
(define (!all-covered . proc)
|
(define (!all-covered . proc)
|
||||||
|
|
|
@ -542,78 +542,76 @@
|
||||||
((current-timeout-control) msg))
|
((current-timeout-control) msg))
|
||||||
|
|
||||||
(define (with-watcher w proc)
|
(define (with-watcher w proc)
|
||||||
(let ([session-cust (make-custodian)]
|
(define session-cust (make-custodian))
|
||||||
[session-channel (make-channel)]
|
(define session-channel (make-channel))
|
||||||
[timeout #f]
|
(define timeout #f)
|
||||||
[status-box (box #f)])
|
(define status-box (box #f))
|
||||||
(define (timeout-control msg)
|
(define (watch-loop timed-out?)
|
||||||
(if (rational? msg)
|
(cond [(sync/timeout 3 session-thread)
|
||||||
(set! timeout (+ (current-inexact-milliseconds) (* 1000 msg)))
|
(let* ([status (unbox status-box)]
|
||||||
(case msg
|
[status (if status (format " while ~a" status) "")])
|
||||||
[(reset) (timeout-control (get-conf 'session-timeout))]
|
(log-line "session killed ~a~a"
|
||||||
[(disable) (set! timeout #f)]
|
(if timed-out? "(timeout) " "(memory)")
|
||||||
[else (error 'timeout-control "bad argument: ~s" msg)])))
|
status)
|
||||||
(current-timeout-control timeout-control)
|
(write+flush
|
||||||
(timeout-control 'reset)
|
w (format "handin terminated due to ~a ~a~a"
|
||||||
(unless no-limit-warning?
|
(if timed-out? "time limit" "excessive memory use")
|
||||||
(with-handlers ([exn:fail:unsupported?
|
"(program doesn't terminate?)"
|
||||||
(lambda (x)
|
status))
|
||||||
(set! no-limit-warning? #t)
|
(close-output-port w)
|
||||||
(log-line "WARNING: per-session memory limit not supported by MrEd"))])
|
(channel-put session-channel 'done))]
|
||||||
(custodian-limit-memory session-cust
|
[(let ([t timeout]) ; grab value to avoid races
|
||||||
(get-conf 'session-memory-limit)
|
(and t ((current-inexact-milliseconds) . > . t)))
|
||||||
session-cust)))
|
;; Shutdown here to get the handin-terminated error
|
||||||
(let ([watcher
|
;; message, instead of relying on a timeout at the
|
||||||
(parameterize ([current-custodian orig-custodian])
|
;; run-server level
|
||||||
|
(custodian-shutdown-all session-cust)
|
||||||
|
(watch-loop #t)]
|
||||||
|
[else (collect-garbage)
|
||||||
|
(log-line "running ~a ~a"
|
||||||
|
(current-memory-use session-cust)
|
||||||
|
(if no-limit-warning?
|
||||||
|
"(total)"
|
||||||
|
(list (current-memory-use orig-custodian)
|
||||||
|
(current-memory-use))))
|
||||||
|
(watch-loop #f)]))
|
||||||
|
(define (timeout-control msg)
|
||||||
|
(if (rational? msg)
|
||||||
|
(set! timeout (+ (current-inexact-milliseconds) (* 1000 msg)))
|
||||||
|
(case msg
|
||||||
|
[(reset) (timeout-control (get-conf 'session-timeout))]
|
||||||
|
[(disable) (set! timeout #f)]
|
||||||
|
[else (error 'timeout-control "bad argument: ~s" msg)])))
|
||||||
|
(current-timeout-control timeout-control)
|
||||||
|
(timeout-control 'reset)
|
||||||
|
(unless no-limit-warning?
|
||||||
|
(with-handlers ([exn:fail:unsupported?
|
||||||
|
(lambda (x)
|
||||||
|
(set! no-limit-warning? #t)
|
||||||
|
(log-line "WARNING: per-session memory limit ~a"
|
||||||
|
"not supported by MrEd"))])
|
||||||
|
(custodian-limit-memory
|
||||||
|
session-cust (get-conf 'session-memory-limit) session-cust)))
|
||||||
|
(let ([watcher
|
||||||
|
(parameterize ([current-custodian orig-custodian])
|
||||||
|
(thread
|
||||||
|
(lambda ()
|
||||||
|
(let ([session-thread (channel-get session-channel)])
|
||||||
|
(watch-loop #f)))))])
|
||||||
|
;; Run proc in a thread under session-cust:
|
||||||
|
(let ([session-thread
|
||||||
|
(parameterize ([current-custodian session-cust]
|
||||||
|
[current-run-status-box status-box])
|
||||||
(thread
|
(thread
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(let ([session-thread (channel-get session-channel)])
|
(proc (lambda ()
|
||||||
(let loop ([timed-out? #f])
|
;; Proc has succeeded...
|
||||||
(cond
|
(parameterize ([current-custodian orig-custodian])
|
||||||
[(sync/timeout 3 session-thread)
|
(kill-thread watcher))))
|
||||||
(let* ([status (unbox status-box)]
|
(channel-put session-channel 'done-normal))))])
|
||||||
[status (if status
|
(channel-put session-channel session-thread)
|
||||||
(format " while ~a" status)
|
;; Wait until the proc is done or killed (and kill is reported):
|
||||||
"")])
|
(channel-get session-channel))))
|
||||||
(log-line "session killed ~a~a"
|
|
||||||
(if timed-out? "(timeout) " "(memory)")
|
|
||||||
status)
|
|
||||||
(write+flush
|
|
||||||
w (format "handin terminated due to ~a (program doesn't terminate?)~a"
|
|
||||||
(if timed-out? "time limit" "excessive memory use")
|
|
||||||
status))
|
|
||||||
(close-output-port w)
|
|
||||||
(channel-put session-channel 'done))]
|
|
||||||
[(let ([t timeout]) ; grab value to avoid races
|
|
||||||
(and t ((current-inexact-milliseconds) . > . t)))
|
|
||||||
;; Shutdown here to get the handin-terminated error
|
|
||||||
;; message, instead of relying on a timeout at the
|
|
||||||
;; run-server level
|
|
||||||
(custodian-shutdown-all session-cust)
|
|
||||||
(loop #t)]
|
|
||||||
[else
|
|
||||||
(collect-garbage)
|
|
||||||
(log-line "running ~a ~a"
|
|
||||||
(current-memory-use session-cust)
|
|
||||||
(if no-limit-warning?
|
|
||||||
"(total)"
|
|
||||||
(list (current-memory-use orig-custodian)
|
|
||||||
(current-memory-use))))
|
|
||||||
(loop #f)]))))))])
|
|
||||||
;; Run proc in a thread under session-cust:
|
|
||||||
(let ([session-thread
|
|
||||||
(parameterize ([current-custodian session-cust]
|
|
||||||
[current-run-status-box status-box])
|
|
||||||
(thread
|
|
||||||
(lambda ()
|
|
||||||
(proc (lambda ()
|
|
||||||
;; Proc has succeeded...
|
|
||||||
(parameterize ([current-custodian orig-custodian])
|
|
||||||
(kill-thread watcher))))
|
|
||||||
(channel-put session-channel 'done-normal))))])
|
|
||||||
(channel-put session-channel session-thread)
|
|
||||||
;; Wait until the proc is done or killed (and kill is reported):
|
|
||||||
(channel-get session-channel)))))
|
|
||||||
|
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
|
@ -9,18 +9,18 @@
|
||||||
(require scheme/private/define-struct)
|
(require scheme/private/define-struct)
|
||||||
|
|
||||||
(provide (struct var-info (syntax? exported? id))
|
(provide (struct var-info (syntax? exported? id))
|
||||||
(struct signature (siginfo vars val-defs stx-defs))
|
(struct signature (siginfo vars val-defs stx-defs orig-binder))
|
||||||
(rename build-siginfo make-siginfo)
|
(rename build-siginfo make-siginfo)
|
||||||
siginfo-names siginfo-ctime-ids siginfo-rtime-ids siginfo-subtype
|
siginfo-names siginfo-ctime-ids siginfo-rtime-ids siginfo-subtype
|
||||||
(struct signature-form (f))
|
(struct signature-form (f))
|
||||||
(struct unit-info (unit-id import-sig-ids export-sig-ids))
|
(struct unit-info (unit-id import-sig-ids export-sig-ids orig-binder))
|
||||||
(struct link-record (linkid tag sigid siginfo))
|
(struct link-record (linkid tag sigid siginfo))
|
||||||
unprocess-link-record-bind unprocess-link-record-use
|
unprocess-link-record-bind unprocess-link-record-use
|
||||||
set!-trans-extract do-identifier
|
set!-trans-extract do-identifier
|
||||||
process-tagged-import process-tagged-export
|
process-tagged-import process-tagged-export
|
||||||
lookup-signature lookup-def-unit make-id-mapper make-id-mappers sig-names sig-int-names sig-ext-names
|
lookup-signature lookup-def-unit make-id-mapper make-id-mappers sig-names sig-int-names sig-ext-names
|
||||||
map-sig split-requires apply-mac complete-exports complete-imports check-duplicate-subs
|
map-sig split-requires apply-mac complete-exports complete-imports check-duplicate-subs
|
||||||
process-spec process-spec2)
|
process-spec)
|
||||||
|
|
||||||
(define-syntax (apply-mac stx)
|
(define-syntax (apply-mac stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
|
@ -101,8 +101,9 @@
|
||||||
;; (make-signature siginfo
|
;; (make-signature siginfo
|
||||||
;; (listof identifier)
|
;; (listof identifier)
|
||||||
;; (listof (cons (listof identifier) syntax-object))
|
;; (listof (cons (listof identifier) syntax-object))
|
||||||
;; (listof (cons (listof identifier) syntax-object)))
|
;; (listof (cons (listof identifier) syntax-object))
|
||||||
(define-struct/proc signature (siginfo vars val-defs stx-defs)
|
;; identifier)
|
||||||
|
(define-struct/proc signature (siginfo vars val-defs stx-defs orig-binder)
|
||||||
(lambda (_ stx)
|
(lambda (_ stx)
|
||||||
(parameterize ((error-syntax stx))
|
(parameterize ((error-syntax stx))
|
||||||
(raise-stx-err "illegal use of signature name"))))
|
(raise-stx-err "illegal use of signature name"))))
|
||||||
|
@ -113,8 +114,8 @@
|
||||||
(parameterize ((error-syntax stx))
|
(parameterize ((error-syntax stx))
|
||||||
(raise-stx-err "illegal use of signature form"))))
|
(raise-stx-err "illegal use of signature form"))))
|
||||||
|
|
||||||
;; (make-unit-info identifier (listof (cons symbol identifier)) (listof (cons symbol identifier)))
|
;; (make-unit-info identifier (listof (cons symbol identifier)) (listof (cons symbol identifier)) identifier)
|
||||||
(define-struct/proc unit-info (unit-id import-sig-ids export-sig-ids deps)
|
(define-struct/proc unit-info (unit-id import-sig-ids export-sig-ids deps orig-binder)
|
||||||
(lambda (struct stx)
|
(lambda (struct stx)
|
||||||
(with-syntax ((u (unit-info-unit-id struct)))
|
(with-syntax ((u (unit-info-unit-id struct)))
|
||||||
(syntax-case stx (set!)
|
(syntax-case stx (set!)
|
||||||
|
@ -223,13 +224,22 @@
|
||||||
sig)))
|
sig)))
|
||||||
|
|
||||||
;; do-identifier : identifier (box (cons identifier siginfo)) -> sig
|
;; do-identifier : identifier (box (cons identifier siginfo)) -> sig
|
||||||
(define (do-identifier spec res)
|
(define (do-identifier spec res bind?)
|
||||||
(let* ((sig (lookup-signature spec))
|
(let* ((sig (lookup-signature spec))
|
||||||
(vars (signature-vars sig))
|
(vars (signature-vars sig))
|
||||||
(vals (signature-val-defs sig))
|
(vals (signature-val-defs sig))
|
||||||
(stxs (signature-stx-defs sig)))
|
(stxs (signature-stx-defs sig))
|
||||||
|
(delta-introduce (if bind?
|
||||||
|
(let ([f (make-syntax-delta-introducer
|
||||||
|
spec
|
||||||
|
(signature-orig-binder sig))])
|
||||||
|
(lambda (id) (syntax-local-introduce (f id))))
|
||||||
|
values)))
|
||||||
(set-box! res (cons spec (signature-siginfo sig)))
|
(set-box! res (cons spec (signature-siginfo sig)))
|
||||||
(map-sig intro-o-shadow
|
(map-sig (lambda (id)
|
||||||
|
(syntax-local-introduce
|
||||||
|
(syntax-local-get-shadower
|
||||||
|
(delta-introduce id))))
|
||||||
syntax-local-introduce
|
syntax-local-introduce
|
||||||
(list (map cons vars vars)
|
(list (map cons vars vars)
|
||||||
(map
|
(map
|
||||||
|
@ -257,10 +267,6 @@
|
||||||
(define (sig-ext-names sig)
|
(define (sig-ext-names sig)
|
||||||
(map cdr (sig-names sig)))
|
(map cdr (sig-names sig)))
|
||||||
|
|
||||||
;; intro-o-shadow : identifier -> identifier
|
|
||||||
(define (intro-o-shadow id)
|
|
||||||
(syntax-local-introduce (syntax-local-get-shadower id)))
|
|
||||||
|
|
||||||
;; map-def : (identifier -> identifier) (syntax-object -> syntax-object) def -> def
|
;; map-def : (identifier -> identifier) (syntax-object -> syntax-object) def -> def
|
||||||
(define (map-def f g def)
|
(define (map-def f g def)
|
||||||
(cons (map (lambda (x)
|
(cons (map (lambda (x)
|
||||||
|
@ -297,46 +303,46 @@
|
||||||
|
|
||||||
|
|
||||||
;; process-tagged-import/export : syntax-object boolean -> tagged-sig
|
;; process-tagged-import/export : syntax-object boolean -> tagged-sig
|
||||||
(define (process-tagged-import/export spec import?)
|
(define (process-tagged-import/export spec import? bind?)
|
||||||
(define res (box #f))
|
(define res (box #f))
|
||||||
(check-tagged-spec-syntax spec import? identifier?)
|
(check-tagged-spec-syntax spec import? identifier?)
|
||||||
(syntax-case spec (tag)
|
(syntax-case spec (tag)
|
||||||
((tag sym spec)
|
((tag sym spec)
|
||||||
(let ([s (process-import/export #'spec res)])
|
(let ([s (process-import/export #'spec res bind?)])
|
||||||
(list (cons (syntax-e #'sym) (cdr (unbox res)))
|
(list (cons (syntax-e #'sym) (cdr (unbox res)))
|
||||||
(cons (syntax-e #'sym) (car (unbox res)))
|
(cons (syntax-e #'sym) (car (unbox res)))
|
||||||
s)))
|
s)))
|
||||||
((tag . _)
|
((tag . _)
|
||||||
(raise-stx-err "expected (tag symbol <import/export-spec>)" spec))
|
(raise-stx-err "expected (tag symbol <import/export-spec>)" spec))
|
||||||
(_ (let ([s (process-import/export spec res)])
|
(_ (let ([s (process-import/export spec res bind?)])
|
||||||
(list (cons #f (cdr (unbox res)))
|
(list (cons #f (cdr (unbox res)))
|
||||||
(cons #f (car (unbox res)))
|
(cons #f (car (unbox res)))
|
||||||
s)))))
|
s)))))
|
||||||
|
|
||||||
|
|
||||||
;; process-import/export : syntax-object (box (cons identifier) siginfo) -> sig
|
;; process-import/export : syntax-object (box (cons identifier) siginfo) -> sig
|
||||||
(define (process-import/export spec res)
|
(define (process-import/export spec res bind?)
|
||||||
(syntax-case spec (only except prefix rename)
|
(syntax-case spec (only except prefix rename)
|
||||||
(_
|
(_
|
||||||
(identifier? spec)
|
(identifier? spec)
|
||||||
(do-identifier spec res))
|
(do-identifier spec res bind?))
|
||||||
((only sub-spec id ...)
|
((only sub-spec id ...)
|
||||||
(do-only/except (process-import/export #'sub-spec res)
|
(do-only/except (process-import/export #'sub-spec res bind?)
|
||||||
(syntax->list #'(id ...))
|
(syntax->list #'(id ...))
|
||||||
(lambda (x) x)
|
(lambda (x) x)
|
||||||
(lambda (id)
|
(lambda (id)
|
||||||
(car (generate-temporaries #`(#,id))))))
|
(car (generate-temporaries #`(#,id))))))
|
||||||
((except sub-spec id ...)
|
((except sub-spec id ...)
|
||||||
(do-only/except (process-import/export #'sub-spec res)
|
(do-only/except (process-import/export #'sub-spec res bind?)
|
||||||
(syntax->list #'(id ...))
|
(syntax->list #'(id ...))
|
||||||
(lambda (id)
|
(lambda (id)
|
||||||
(car (generate-temporaries #`(#,id))))
|
(car (generate-temporaries #`(#,id))))
|
||||||
(lambda (x) x)))
|
(lambda (x) x)))
|
||||||
((prefix pid sub-spec)
|
((prefix pid sub-spec)
|
||||||
(do-prefix (process-import/export #'sub-spec res) #'pid))
|
(do-prefix (process-import/export #'sub-spec res bind?) #'pid))
|
||||||
((rename sub-spec (internal external) ...)
|
((rename sub-spec (internal external) ...)
|
||||||
(let* ((sig-res
|
(let* ((sig-res
|
||||||
(do-rename (process-import/export #'sub-spec res)
|
(do-rename (process-import/export #'sub-spec res bind?)
|
||||||
#'(internal ...)
|
#'(internal ...)
|
||||||
#'(external ...)))
|
#'(external ...)))
|
||||||
(dup (check-duplicate-identifier (sig-int-names sig-res))))
|
(dup (check-duplicate-identifier (sig-int-names sig-res))))
|
||||||
|
@ -347,21 +353,14 @@
|
||||||
sig-res))))
|
sig-res))))
|
||||||
|
|
||||||
(define (process-tagged-import spec)
|
(define (process-tagged-import spec)
|
||||||
(process-tagged-import/export spec #t))
|
(process-tagged-import/export spec #t #t))
|
||||||
(define (process-tagged-export spec)
|
(define (process-tagged-export spec)
|
||||||
(process-tagged-import/export spec #f))
|
(process-tagged-import/export spec #f #t))
|
||||||
|
|
||||||
;; process-spec : syntax-object -> sig
|
;; process-spec : syntax-object -> sig
|
||||||
(define (process-spec spec)
|
(define (process-spec spec)
|
||||||
(check-tagged-spec-syntax spec #f identifier?)
|
(check-tagged-spec-syntax spec #f identifier?)
|
||||||
(process-import/export spec (box #f)))
|
(process-import/export spec (box #f) #t))
|
||||||
|
|
||||||
;; process-spec2 : syntax-object -> identifier?
|
|
||||||
(define (process-spec2 spec)
|
|
||||||
(define b (box #f))
|
|
||||||
(check-tagged-spec-syntax spec #t identifier?)
|
|
||||||
(process-import/export spec b)
|
|
||||||
(car (unbox b)))
|
|
||||||
|
|
||||||
|
|
||||||
; ;; extract-siginfo : (union import-spec export-spec) -> ???
|
; ;; extract-siginfo : (union import-spec export-spec) -> ???
|
||||||
|
|
|
@ -221,7 +221,8 @@
|
||||||
(list (cons (list (quote-syntax sid) ...)
|
(list (cons (list (quote-syntax sid) ...)
|
||||||
((syntax-local-certifier)
|
((syntax-local-certifier)
|
||||||
(quote-syntax sbody)))
|
(quote-syntax sbody)))
|
||||||
...))))))))
|
...)
|
||||||
|
(quote-syntax #,sigid))))))))
|
||||||
(else
|
(else
|
||||||
(syntax-case (car sig-exprs) (define-values define-syntaxes)
|
(syntax-case (car sig-exprs) (define-values define-syntaxes)
|
||||||
(x
|
(x
|
||||||
|
@ -1274,7 +1275,8 @@
|
||||||
(make-unit-info ((syntax-local-certifier) (quote-syntax u))
|
(make-unit-info ((syntax-local-certifier) (quote-syntax u))
|
||||||
(list (cons 'itag (quote-syntax isig)) ...)
|
(list (cons 'itag (quote-syntax isig)) ...)
|
||||||
(list (cons 'etag (quote-syntax esig)) ...)
|
(list (cons 'etag (quote-syntax esig)) ...)
|
||||||
(list (cons 'deptag (quote-syntax deptag)) ...))))))))))
|
(list (cons 'deptag (quote-syntax deptag)) ...)
|
||||||
|
(quote-syntax name))))))))))
|
||||||
((_)
|
((_)
|
||||||
(raise-stx-err err-msg))))
|
(raise-stx-err err-msg))))
|
||||||
|
|
||||||
|
@ -1356,9 +1358,12 @@
|
||||||
(define-syntax/err-param (define-values/invoke-unit/infer stx)
|
(define-syntax/err-param (define-values/invoke-unit/infer stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
((_ u)
|
((_ u)
|
||||||
(let ((ui (lookup-def-unit #'u)))
|
(let* ((ui (lookup-def-unit #'u))
|
||||||
(with-syntax (((sig ...) (map unprocess-tagged-id (unit-info-export-sig-ids ui)))
|
(unprocess (let ([i (make-syntax-delta-introducer #'u (unit-info-orig-binder ui))])
|
||||||
((isig ...) (map unprocess-tagged-id (unit-info-import-sig-ids ui))))
|
(lambda (p)
|
||||||
|
(unprocess-tagged-id (cons (car p) (i (cdr p))))))))
|
||||||
|
(with-syntax (((sig ...) (map unprocess (unit-info-export-sig-ids ui)))
|
||||||
|
((isig ...) (map unprocess (unit-info-import-sig-ids ui))))
|
||||||
(quasisyntax/loc stx
|
(quasisyntax/loc stx
|
||||||
(define-values/invoke-unit u (import isig ...) (export sig ...))))))
|
(define-values/invoke-unit u (import isig ...) (export sig ...))))))
|
||||||
((_)
|
((_)
|
||||||
|
@ -1437,19 +1442,23 @@
|
||||||
s))
|
s))
|
||||||
(apply make-link-record l))
|
(apply make-link-record l))
|
||||||
|
|
||||||
(define (process-tagged-sigid sid)
|
(define ((process-tagged-sigid introducer) sid)
|
||||||
(make-link-record (car sid) #f (cdr sid) (signature-siginfo (lookup-signature (cdr sid)))))
|
(make-link-record (car sid) #f (introducer (cdr sid)) (signature-siginfo (lookup-signature (cdr sid)))))
|
||||||
|
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
(((import ...)
|
(((import ...)
|
||||||
(export ...)
|
(export ...)
|
||||||
(((out ...) u l ...) ...))
|
(((out ...) u l ...) ...))
|
||||||
(let* ([units (map lookup-def-unit (syntax->list #'(u ...)))]
|
(let* ([us (syntax->list #'(u ...))]
|
||||||
|
[units (map lookup-def-unit us)]
|
||||||
[import-sigs (map process-signature
|
[import-sigs (map process-signature
|
||||||
(syntax->list #'(import ...)))]
|
(syntax->list #'(import ...)))]
|
||||||
|
[sig-introducers (map (lambda (unit u)
|
||||||
|
(make-syntax-delta-introducer u (unit-info-orig-binder unit)))
|
||||||
|
units us)]
|
||||||
[sub-outs
|
[sub-outs
|
||||||
(map
|
(map
|
||||||
(lambda (outs unit)
|
(lambda (outs unit sig-introducer)
|
||||||
(define o
|
(define o
|
||||||
(map
|
(map
|
||||||
(lambda (clause)
|
(lambda (clause)
|
||||||
|
@ -1457,10 +1466,11 @@
|
||||||
(make-link-record (car c) (cadr c) (cddr c)
|
(make-link-record (car c) (cadr c) (cddr c)
|
||||||
(signature-siginfo (lookup-signature (cddr c)))))
|
(signature-siginfo (lookup-signature (cddr c)))))
|
||||||
(syntax->list outs)))
|
(syntax->list outs)))
|
||||||
(complete-exports (map process-tagged-sigid (unit-info-export-sig-ids unit))
|
(complete-exports (map (process-tagged-sigid sig-introducer) (unit-info-export-sig-ids unit))
|
||||||
o))
|
o))
|
||||||
(syntax->list #'((out ...) ...))
|
(syntax->list #'((out ...) ...))
|
||||||
units)]
|
units
|
||||||
|
sig-introducers)]
|
||||||
[link-defs (append import-sigs (apply append sub-outs))])
|
[link-defs (append import-sigs (apply append sub-outs))])
|
||||||
|
|
||||||
(define lnk-table (make-bound-identifier-mapping))
|
(define lnk-table (make-bound-identifier-mapping))
|
||||||
|
@ -1486,7 +1496,7 @@
|
||||||
|
|
||||||
(let ([sub-ins
|
(let ([sub-ins
|
||||||
(map
|
(map
|
||||||
(lambda (ins unit unit-stx)
|
(lambda (ins unit sig-introducer unit-stx)
|
||||||
(define is (syntax->list ins))
|
(define is (syntax->list ins))
|
||||||
(define lrs
|
(define lrs
|
||||||
(map
|
(map
|
||||||
|
@ -1510,12 +1520,13 @@
|
||||||
is)
|
is)
|
||||||
(complete-imports sig-table
|
(complete-imports sig-table
|
||||||
lrs
|
lrs
|
||||||
(map process-tagged-sigid
|
(map (process-tagged-sigid sig-introducer)
|
||||||
(unit-info-import-sig-ids unit))
|
(unit-info-import-sig-ids unit))
|
||||||
unit-stx))
|
unit-stx))
|
||||||
(syntax->list #'((l ...) ...))
|
(syntax->list #'((l ...) ...))
|
||||||
units
|
units
|
||||||
(syntax->list #'(u ...)))]
|
sig-introducers
|
||||||
|
us)]
|
||||||
[exports
|
[exports
|
||||||
(map
|
(map
|
||||||
(lambda (e)
|
(lambda (e)
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
#lang scheme/base (provide stamp) (define stamp "13oct2008")
|
#lang scheme/base (provide stamp) (define stamp "16oct2008")
|
||||||
|
|
|
@ -467,12 +467,12 @@ it around flattened out.
|
||||||
|
|
||||||
(define (do-contract-name name/c name/dc list-of-subcontracts fields attrs)
|
(define (do-contract-name name/c name/dc list-of-subcontracts fields attrs)
|
||||||
(cond
|
(cond
|
||||||
[(and (andmap contract? list-of-subcontracts) (not attrs))
|
[(and (andmap name-pred? list-of-subcontracts) (not attrs))
|
||||||
(apply build-compound-type-name name/c list-of-subcontracts)]
|
(apply build-compound-type-name name/c list-of-subcontracts)]
|
||||||
[else
|
[else
|
||||||
(let ([fields
|
(let ([fields
|
||||||
(map (λ (field ctc)
|
(map (λ (field ctc)
|
||||||
(if (contract? ctc)
|
(if (name-pred? ctc)
|
||||||
(build-compound-type-name field ctc)
|
(build-compound-type-name field ctc)
|
||||||
(build-compound-type-name field '...)))
|
(build-compound-type-name field '...)))
|
||||||
fields
|
fields
|
||||||
|
|
|
@ -143,7 +143,7 @@
|
||||||
;; returns #f if the argument could not be coerced to a contract
|
;; returns #f if the argument could not be coerced to a contract
|
||||||
(define (coerce-contract/f x)
|
(define (coerce-contract/f x)
|
||||||
(cond
|
(cond
|
||||||
[(contract? x) x]
|
[(proj-pred? x) x]
|
||||||
[(and (procedure? x) (procedure-arity-includes? x 1))
|
[(and (procedure? x) (procedure-arity-includes? x 1))
|
||||||
(make-predicate-contract (or (object-name x) '???) x)]
|
(make-predicate-contract (or (object-name x) '???) x)]
|
||||||
[(or (symbol? x) (boolean? x) (char? x) (null? x)) (make-eq-contract x)]
|
[(or (symbol? x) (boolean? x) (char? x) (null? x)) (make-eq-contract x)]
|
||||||
|
@ -363,7 +363,7 @@
|
||||||
(let ([ctc (coerce-contract 'contract-name ctc)])
|
(let ([ctc (coerce-contract 'contract-name ctc)])
|
||||||
((name-get ctc) ctc)))
|
((name-get ctc) ctc)))
|
||||||
|
|
||||||
(define (contract? x) (proj-pred? x))
|
(define (contract? x) (and (coerce-contract/f x) #t))
|
||||||
(define (contract-proc ctc) ((proj-get ctc) ctc))
|
(define (contract-proc ctc) ((proj-get ctc) ctc))
|
||||||
|
|
||||||
(define (check-flat-contract predicate) (coerce-flat-contract 'flat-contract predicate))
|
(define (check-flat-contract predicate) (coerce-flat-contract 'flat-contract predicate))
|
||||||
|
@ -381,7 +381,7 @@
|
||||||
'()]
|
'()]
|
||||||
[else (let ([sub (car subs)])
|
[else (let ([sub (car subs)])
|
||||||
(cond
|
(cond
|
||||||
[(contract? sub)
|
[(name-pred? sub)
|
||||||
(let ([mk-sub-name (contract-name sub)])
|
(let ([mk-sub-name (contract-name sub)])
|
||||||
`(,mk-sub-name ,@(loop (cdr subs))))]
|
`(,mk-sub-name ,@(loop (cdr subs))))]
|
||||||
[else `(,sub ,@(loop (cdr subs)))]))])))
|
[else `(,sub ,@(loop (cdr subs)))]))])))
|
||||||
|
|
|
@ -948,17 +948,12 @@ improve method arity mismatch contract violation error messages?
|
||||||
(syntax (make-proj-contract
|
(syntax (make-proj-contract
|
||||||
'(recursive-contract arg)
|
'(recursive-contract arg)
|
||||||
(λ (pos-blame neg-blame src str)
|
(λ (pos-blame neg-blame src str)
|
||||||
(let ([proc (contract-proc arg)])
|
(let ([ctc (coerce-contract 'recursive-contract arg)])
|
||||||
(λ (val)
|
(let ([proc (contract-proc ctc)])
|
||||||
((proc pos-blame neg-blame src str) val))))
|
(λ (val)
|
||||||
|
((proc pos-blame neg-blame src str) val)))))
|
||||||
#f))]))
|
#f))]))
|
||||||
|
|
||||||
(define (check-contract ctc)
|
|
||||||
(unless (contract? ctc)
|
|
||||||
(error 'recursive-contract "expected a contract, got ~e" ctc))
|
|
||||||
ctc)
|
|
||||||
|
|
||||||
|
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
;
|
;
|
||||||
|
|
|
@ -12,7 +12,9 @@
|
||||||
scheme/stxparam
|
scheme/stxparam
|
||||||
scheme/serialize
|
scheme/serialize
|
||||||
setup/main-collects
|
setup/main-collects
|
||||||
(for-syntax scheme/base)
|
(for-syntax scheme/base
|
||||||
|
syntax/boundmap
|
||||||
|
syntax/kerncase)
|
||||||
(for-label scheme/base
|
(for-label scheme/base
|
||||||
scheme/class))
|
scheme/class))
|
||||||
|
|
||||||
|
@ -739,13 +741,16 @@
|
||||||
[(_ [[proto result] ...] desc ...)
|
[(_ [[proto result] ...] desc ...)
|
||||||
(defproc* #:mode procedure #:within #f [[proto result] ...] desc ...)]
|
(defproc* #:mode procedure #:within #f [[proto result] ...] desc ...)]
|
||||||
[(_ #:mode m #:within cl [[proto result] ...] desc ...)
|
[(_ #:mode m #:within cl [[proto result] ...] desc ...)
|
||||||
(*defproc 'm (quote-syntax/loc cl)
|
(with-togetherable-scheme-variables
|
||||||
(list (extract-proc-id proto) ...)
|
()
|
||||||
'[proto ...]
|
([proc proto] ...)
|
||||||
(list (arg-contracts proto) ...)
|
(*defproc 'm (quote-syntax/loc cl)
|
||||||
(list (arg-defaults proto) ...)
|
(list (extract-proc-id proto) ...)
|
||||||
(list (lambda () (result-contract result)) ...)
|
'[proto ...]
|
||||||
(lambda () (list desc ...)))]))
|
(list (arg-contracts proto) ...)
|
||||||
|
(list (arg-defaults proto) ...)
|
||||||
|
(list (lambda () (result-contract result)) ...)
|
||||||
|
(lambda () (list desc ...))))]))
|
||||||
(define-syntax defstruct
|
(define-syntax defstruct
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
[(_ name fields #:mutable #:inspector #f desc ...)
|
[(_ name fields #:mutable #:inspector #f desc ...)
|
||||||
|
@ -762,10 +767,13 @@
|
||||||
(**defstruct name fields #t #f desc ...)]))
|
(**defstruct name fields #t #f desc ...)]))
|
||||||
(define-syntax-rule (**defstruct name ([field field-contract] ...) immutable?
|
(define-syntax-rule (**defstruct name ([field field-contract] ...) immutable?
|
||||||
transparent? desc ...)
|
transparent? desc ...)
|
||||||
(*defstruct (quote-syntax/loc name) 'name
|
(with-togetherable-scheme-variables
|
||||||
'([field field-contract] ...)
|
()
|
||||||
(list (lambda () (schemeblock0 field-contract)) ...)
|
()
|
||||||
immutable? transparent? (lambda () (list desc ...))))
|
(*defstruct (quote-syntax/loc name) 'name
|
||||||
|
'([field field-contract] ...)
|
||||||
|
(list (lambda () (schemeblock0 field-contract)) ...)
|
||||||
|
immutable? transparent? (lambda () (list desc ...)))))
|
||||||
(define-syntax (defform*/subs stx)
|
(define-syntax (defform*/subs stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
[(_ #:id defined-id #:literals (lit ...) [spec spec1 ...]
|
[(_ #:id defined-id #:literals (lit ...) [spec spec1 ...]
|
||||||
|
@ -783,16 +791,20 @@
|
||||||
spec
|
spec
|
||||||
spec)]
|
spec)]
|
||||||
[_ spec])))])
|
[_ spec])))])
|
||||||
#'(*defforms (quote-syntax/loc defined-id) '(lit ...)
|
#'(with-togetherable-scheme-variables
|
||||||
'(spec spec1 ...)
|
(lit ...)
|
||||||
(list (lambda (x) (schemeblock0/form new-spec))
|
([form spec] [form spec1] ...
|
||||||
(lambda (ignored) (schemeblock0/form spec1)) ...)
|
[non-term (non-term-id non-term-form ...)] ...)
|
||||||
'((non-term-id non-term-form ...) ...)
|
(*defforms (quote-syntax/loc defined-id)
|
||||||
(list (list (lambda () (scheme non-term-id))
|
'(spec spec1 ...)
|
||||||
(lambda () (schemeblock0/form non-term-form))
|
(list (lambda (x) (schemeblock0/form new-spec))
|
||||||
...)
|
(lambda (ignored) (schemeblock0/form spec1)) ...)
|
||||||
...)
|
'((non-term-id non-term-form ...) ...)
|
||||||
(lambda () (list desc ...))))]
|
(list (list (lambda () (scheme non-term-id))
|
||||||
|
(lambda () (schemeblock0/form non-term-form))
|
||||||
|
...)
|
||||||
|
...)
|
||||||
|
(lambda () (list desc ...)))))]
|
||||||
[(fm #:id id [spec spec1 ...] ([non-term-id non-term-form ...] ...)
|
[(fm #:id id [spec spec1 ...] ([non-term-id non-term-form ...] ...)
|
||||||
desc ...)
|
desc ...)
|
||||||
#'(fm #:id id #:literals () [spec spec1 ...]
|
#'(fm #:id id #:literals () [spec spec1 ...]
|
||||||
|
@ -839,46 +851,60 @@
|
||||||
(define-syntax (defform/none stx)
|
(define-syntax (defform/none stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
[(_ #:literals (lit ...) spec desc ...)
|
[(_ #:literals (lit ...) spec desc ...)
|
||||||
#'(*defforms #f '(lit ...)
|
#'(with-togetherable-scheme-variables
|
||||||
'(spec) (list (lambda (ignored) (schemeblock0/form spec)))
|
(lit ...)
|
||||||
null null
|
([form spec])
|
||||||
(lambda () (list desc ...)))]
|
(*defforms #f
|
||||||
|
'(spec) (list (lambda (ignored) (schemeblock0/form spec)))
|
||||||
|
null null
|
||||||
|
(lambda () (list desc ...))))]
|
||||||
[(_ spec desc ...)
|
[(_ spec desc ...)
|
||||||
#'(defform/none #:literals () spec desc ...)]))
|
#'(defform/none #:literals () spec desc ...)]))
|
||||||
(define-syntax (defidform stx)
|
(define-syntax (defidform stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
[(_ spec-id desc ...)
|
[(_ spec-id desc ...)
|
||||||
#'(*defforms (quote-syntax/loc spec-id) null
|
#'(with-togetherable-scheme-variables
|
||||||
'(spec-id)
|
()
|
||||||
(list (lambda (x) (make-omitable-paragraph (list x))))
|
()
|
||||||
null
|
(*defforms (quote-syntax/loc spec-id)
|
||||||
null
|
'(spec-id)
|
||||||
(lambda () (list desc ...)))]))
|
(list (lambda (x) (make-omitable-paragraph (list x))))
|
||||||
|
null
|
||||||
|
null
|
||||||
|
(lambda () (list desc ...))))]))
|
||||||
(define-syntax (defsubform stx)
|
(define-syntax (defsubform stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
[(_ . rest) #'(into-blockquote (defform . rest))]))
|
[(_ . rest) #'(into-blockquote (defform . rest))]))
|
||||||
(define-syntax (defsubform* stx)
|
(define-syntax (defsubform* stx)
|
||||||
(syntax-case stx ()
|
(syntax-case stx ()
|
||||||
[(_ . rest) #'(into-blockquote (defform* . rest))]))
|
[(_ . rest) #'(into-blockquote (defform* . rest))]))
|
||||||
|
(define-syntax spec?form/subs
|
||||||
|
(syntax-rules ()
|
||||||
|
[(_ has-kw? #:literals (lit ...) spec ([non-term-id non-term-form ...] ...)
|
||||||
|
desc ...)
|
||||||
|
(with-scheme-variables
|
||||||
|
(lit ...)
|
||||||
|
([form/maybe (has-kw? spec)]
|
||||||
|
[non-term (non-term-id non-term-form ...)] ...)
|
||||||
|
(*specsubform 'spec '(lit ...) (lambda () (schemeblock0/form spec))
|
||||||
|
'((non-term-id non-term-form ...) ...)
|
||||||
|
(list (list (lambda () (scheme non-term-id))
|
||||||
|
(lambda () (schemeblock0/form non-term-form))
|
||||||
|
...)
|
||||||
|
...)
|
||||||
|
(lambda () (list desc ...))))]))
|
||||||
(define-syntax specsubform
|
(define-syntax specsubform
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
[(_ #:literals (lit ...) spec desc ...)
|
[(_ #:literals (lit ...) spec desc ...)
|
||||||
(*specsubform 'spec #f '(lit ...) (lambda () (schemeblock0/form spec))
|
(spec?form/subs #f #:literals (lit ...) spec () desc ...)]
|
||||||
null null (lambda () (list desc ...)))]
|
|
||||||
[(_ spec desc ...)
|
[(_ spec desc ...)
|
||||||
(*specsubform 'spec #f null (lambda () (schemeblock0/form spec))
|
(specsubform #:literals () spec desc ...)]))
|
||||||
null null (lambda () (list desc ...)))]))
|
|
||||||
(define-syntax specsubform/subs
|
(define-syntax specsubform/subs
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
[(_ #:literals (lit ...) spec ([non-term-id non-term-form ...] ...)
|
[(_ #:literals (lit ...) spec ([non-term-id non-term-form ...] ...)
|
||||||
desc ...)
|
desc ...)
|
||||||
(*specsubform 'spec #f '(lit ...) (lambda () (schemeblock0/form spec))
|
(spec?form/subs #f #:literals (lit ...) spec ([non-term-id non-term-form ...] ...)
|
||||||
'((non-term-id non-term-form ...) ...)
|
desc ...)]
|
||||||
(list (list (lambda () (scheme non-term-id))
|
|
||||||
(lambda () (schemeblock0/form non-term-form))
|
|
||||||
...)
|
|
||||||
...)
|
|
||||||
(lambda () (list desc ...)))]
|
|
||||||
[(_ spec subs desc ...)
|
[(_ spec subs desc ...)
|
||||||
(specsubform/subs #:literals () spec subs desc ...)]))
|
(specsubform/subs #:literals () spec subs desc ...)]))
|
||||||
(define-syntax-rule (specspecsubform spec desc ...)
|
(define-syntax-rule (specspecsubform spec desc ...)
|
||||||
|
@ -888,37 +914,37 @@
|
||||||
(define-syntax specform
|
(define-syntax specform
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
[(_ #:literals (lit ...) spec desc ...)
|
[(_ #:literals (lit ...) spec desc ...)
|
||||||
(*specsubform 'spec #t '(lit ...) (lambda () (schemeblock0/form spec))
|
(spec?form/subs #t #:literals (lit ...) spec () desc ...)]
|
||||||
null null (lambda () (list desc ...)))]
|
|
||||||
[(_ spec desc ...)
|
[(_ spec desc ...)
|
||||||
(*specsubform 'spec #t null (lambda () (schemeblock0/form spec))
|
(specform #:literals () spec desc ...)]))
|
||||||
null null (lambda () (list desc ...)))]))
|
|
||||||
(define-syntax specform/subs
|
(define-syntax specform/subs
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
[(_ #:literals (lit ...) spec ([non-term-id non-term-form ...] ...)
|
[(_ #:literals (lit ...) spec ([non-term-id non-term-form ...] ...)
|
||||||
desc ...)
|
desc ...)
|
||||||
(*specsubform 'spec #t
|
(spec?form/subs #t #:literals (lit ...) spec ([non-term-id non-term-form ...] ...)
|
||||||
'(lit ...)
|
desc ...)]
|
||||||
(lambda () (schemeblock0/form spec))
|
|
||||||
'((non-term-id non-term-form ...) ...)
|
|
||||||
(list (list (lambda () (scheme non-term-id))
|
|
||||||
(lambda () (schemeblock0/form non-term-form))
|
|
||||||
...)
|
|
||||||
...)
|
|
||||||
(lambda () (list desc ...)))]
|
|
||||||
[(_ spec ([non-term-id non-term-form ...] ...) desc ...)
|
[(_ spec ([non-term-id non-term-form ...] ...) desc ...)
|
||||||
(specform/subs #:literals () spec ([non-term-id non-term-form ...] ...)
|
(specform/subs #:literals () spec ([non-term-id non-term-form ...] ...)
|
||||||
desc ...)]))
|
desc ...)]))
|
||||||
(define-syntax-rule (specsubform/inline spec desc ...)
|
(define-syntax-rule (specsubform/inline spec desc ...)
|
||||||
(*specsubform 'spec #f null #f null null (lambda () (list desc ...))))
|
(with-scheme-variables
|
||||||
|
()
|
||||||
|
([form/maybe (#f spec)])
|
||||||
|
(*specsubform 'spec null #f null null (lambda () (list desc ...)))))
|
||||||
(define-syntax-rule (defthing id result desc ...)
|
(define-syntax-rule (defthing id result desc ...)
|
||||||
(*defthing (list (quote-syntax/loc id)) (list 'id) #f
|
(with-togetherable-scheme-variables
|
||||||
(list (schemeblock0 result))
|
()
|
||||||
(lambda () (list desc ...))))
|
()
|
||||||
|
(*defthing (list (quote-syntax/loc id)) (list 'id) #f
|
||||||
|
(list (schemeblock0 result))
|
||||||
|
(lambda () (list desc ...)))))
|
||||||
(define-syntax-rule (defthing* ([id result] ...) desc ...)
|
(define-syntax-rule (defthing* ([id result] ...) desc ...)
|
||||||
(*defthing (list (quote-syntax/loc id) ...) (list 'id ...) #f
|
(with-togetherable-scheme-variables
|
||||||
(list (schemeblock0 result) ...)
|
()
|
||||||
(lambda () (list desc ...))))
|
()
|
||||||
|
(*defthing (list (quote-syntax/loc id) ...) (list 'id ...) #f
|
||||||
|
(list (schemeblock0 result) ...)
|
||||||
|
(lambda () (list desc ...)))))
|
||||||
(define-syntax-rule (defparam id arg contract desc ...)
|
(define-syntax-rule (defparam id arg contract desc ...)
|
||||||
(defproc* ([(id) contract] [(id [arg contract]) void?]) desc ...))
|
(defproc* ([(id) contract] [(id [arg contract]) void?]) desc ...))
|
||||||
(define-syntax-rule (defparam* id arg in-contract out-contract desc ...)
|
(define-syntax-rule (defparam* id arg in-contract out-contract desc ...)
|
||||||
|
@ -928,20 +954,26 @@
|
||||||
(define-syntax schemegrammar
|
(define-syntax schemegrammar
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
[(_ #:literals (lit ...) id clause ...)
|
[(_ #:literals (lit ...) id clause ...)
|
||||||
(*schemegrammar '(lit ...)
|
(with-scheme-variables
|
||||||
'(id clause ...)
|
(lit ...)
|
||||||
(lambda ()
|
([non-term (id clause ...)])
|
||||||
(list (list (scheme id)
|
(*schemegrammar '(lit ...)
|
||||||
(schemeblock0/form clause) ...))))]
|
'(id clause ...)
|
||||||
|
(lambda ()
|
||||||
|
(list (list (scheme id)
|
||||||
|
(schemeblock0/form clause) ...)))))]
|
||||||
[(_ id clause ...) (schemegrammar #:literals () id clause ...)]))
|
[(_ id clause ...) (schemegrammar #:literals () id clause ...)]))
|
||||||
(define-syntax schemegrammar*
|
(define-syntax schemegrammar*
|
||||||
(syntax-rules ()
|
(syntax-rules ()
|
||||||
[(_ #:literals (lit ...) [id clause ...] ...)
|
[(_ #:literals (lit ...) [id clause ...] ...)
|
||||||
(*schemegrammar '(lit ...)
|
(with-scheme-variables
|
||||||
'(id ... clause ... ...)
|
(lit ...)
|
||||||
(lambda ()
|
([non-term (id clause ...)] ...)
|
||||||
(list (list (scheme id) (schemeblock0/form clause) ...)
|
(*schemegrammar '(lit ...)
|
||||||
...)))]
|
'(id ... clause ... ...)
|
||||||
|
(lambda ()
|
||||||
|
(list (list (scheme id) (schemeblock0/form clause) ...)
|
||||||
|
...))))]
|
||||||
[(_ [id clause ...] ...)
|
[(_ [id clause ...] ...)
|
||||||
(schemegrammar* #:literals () [id clause ...] ...)]))
|
(schemegrammar* #:literals () [id clause ...] ...)]))
|
||||||
(define-syntax-rule (var id)
|
(define-syntax-rule (var id)
|
||||||
|
@ -949,6 +981,75 @@
|
||||||
(define-syntax-rule (svar id)
|
(define-syntax-rule (svar id)
|
||||||
(*var 'id))
|
(*var 'id))
|
||||||
|
|
||||||
|
(define-syntax (with-togetherable-scheme-variables stx)
|
||||||
|
(syntax-case stx ()
|
||||||
|
[(_ . rest)
|
||||||
|
;; Make it transparent, so deftogether is allowed to pull it apart
|
||||||
|
(syntax-property
|
||||||
|
(syntax/loc stx
|
||||||
|
(with-togetherable-scheme-variables* . rest))
|
||||||
|
'certify-mode
|
||||||
|
'transparent)]))
|
||||||
|
|
||||||
|
(define-syntax-rule (with-togetherable-scheme-variables* . rest)
|
||||||
|
(with-scheme-variables . rest))
|
||||||
|
|
||||||
|
(define-syntax (with-scheme-variables stx)
|
||||||
|
(syntax-case stx ()
|
||||||
|
[(_ lits ([kind s-exp] ...) body)
|
||||||
|
(let ([ht (make-bound-identifier-mapping)]
|
||||||
|
[lits (syntax->datum #'lits)])
|
||||||
|
(for-each (lambda (kind s-exp)
|
||||||
|
(case (syntax-e kind)
|
||||||
|
[(proc)
|
||||||
|
(for-each
|
||||||
|
(lambda (arg)
|
||||||
|
(if (identifier? arg)
|
||||||
|
(unless (or (eq? (syntax-e arg) '...)
|
||||||
|
(eq? (syntax-e arg) '...+)
|
||||||
|
(memq (syntax-e arg) lits))
|
||||||
|
(bound-identifier-mapping-put! ht arg #t))
|
||||||
|
(syntax-case arg ()
|
||||||
|
[(kw arg . rest)
|
||||||
|
(keyword? (syntax-e #'kw))
|
||||||
|
(bound-identifier-mapping-put! ht #'arg #t)]
|
||||||
|
[(arg . rest)
|
||||||
|
(identifier? #'arg)
|
||||||
|
(bound-identifier-mapping-put! ht #'arg #t)])))
|
||||||
|
(cdr (syntax->list s-exp)))]
|
||||||
|
[(form form/maybe non-term)
|
||||||
|
(let loop ([form (case (syntax-e kind)
|
||||||
|
[(form) (if (identifier? s-exp)
|
||||||
|
null
|
||||||
|
(cdr (syntax-e s-exp)))]
|
||||||
|
[(form/maybe)
|
||||||
|
(syntax-case s-exp ()
|
||||||
|
[(#f form) #'form]
|
||||||
|
[(#t (id . form)) #'form])]
|
||||||
|
[(non-term) s-exp])])
|
||||||
|
(if (identifier? form)
|
||||||
|
(unless (or (eq? (syntax-e form) '...)
|
||||||
|
(eq? (syntax-e form) '...+)
|
||||||
|
(eq? (syntax-e form) '?)
|
||||||
|
(memq (syntax-e form) lits))
|
||||||
|
(bound-identifier-mapping-put! ht form #t))
|
||||||
|
(syntax-case form (unsyntax)
|
||||||
|
[(unsyntax _) (void)]
|
||||||
|
[(a . b) (loop #'a) (loop #'b)]
|
||||||
|
[#(a ...) (loop #'(a ...))]
|
||||||
|
[_ (void)])))]
|
||||||
|
[else
|
||||||
|
(raise-syntax-error
|
||||||
|
#f
|
||||||
|
"unknown variable mode"
|
||||||
|
stx
|
||||||
|
kind)]))
|
||||||
|
(syntax->list #'(kind ...))
|
||||||
|
(syntax->list #'(s-exp ...)))
|
||||||
|
(with-syntax ([(id ...) (bound-identifier-mapping-map ht (lambda (k v) k))])
|
||||||
|
#'(parameterize ([current-variable-list '(id ...)])
|
||||||
|
body)))]))
|
||||||
|
|
||||||
(define (defthing/proc id contract descs)
|
(define (defthing/proc id contract descs)
|
||||||
(*defthing (list id) (list (syntax-e id)) #f (list contract)
|
(*defthing (list id) (list (syntax-e id)) #f (list contract)
|
||||||
(lambda () descs)))
|
(lambda () descs)))
|
||||||
|
@ -1009,7 +1110,7 @@
|
||||||
(lambda (render part ri)
|
(lambda (render part ri)
|
||||||
(proc (or (get-exporting-libraries render part ri) null)))))
|
(proc (or (get-exporting-libraries render part ri) null)))))
|
||||||
|
|
||||||
(define-struct (box-splice splice) (var-list))
|
(define-struct (box-splice splice) ())
|
||||||
|
|
||||||
(define (*deftogether boxes body-thunk)
|
(define (*deftogether boxes body-thunk)
|
||||||
(make-splice
|
(make-splice
|
||||||
|
@ -1029,12 +1130,33 @@
|
||||||
"together"
|
"together"
|
||||||
(table-flowss (car (splice-run box))))))))
|
(table-flowss (car (splice-run box))))))))
|
||||||
boxes))
|
boxes))
|
||||||
(parameterize ([current-variable-list
|
(body-thunk))))
|
||||||
(append-map box-splice-var-list boxes)])
|
|
||||||
(body-thunk)))))
|
|
||||||
|
|
||||||
(define-syntax-rule (deftogether (box ...) . body)
|
(define-syntax (deftogether stx)
|
||||||
(*deftogether (list box ...) (lambda () (list . body))))
|
(syntax-case stx ()
|
||||||
|
[(_ (def ...) . body)
|
||||||
|
(with-syntax ([((_ (lit ...) (var ...) decl) ...)
|
||||||
|
(map (lambda (def)
|
||||||
|
(let ([exp-def (local-expand
|
||||||
|
def
|
||||||
|
'expression
|
||||||
|
(cons
|
||||||
|
#'with-togetherable-scheme-variables*
|
||||||
|
(kernel-form-identifier-list)))])
|
||||||
|
(syntax-case exp-def (with-togetherable-scheme-variables*)
|
||||||
|
[(with-togetherable-scheme-variables* lits vars decl)
|
||||||
|
exp-def]
|
||||||
|
[_
|
||||||
|
(raise-syntax-error
|
||||||
|
#f
|
||||||
|
"sub-form is not a documentation form that can be combined"
|
||||||
|
stx
|
||||||
|
def)])))
|
||||||
|
(syntax->list #'(def ...)))])
|
||||||
|
#'(with-togetherable-scheme-variables
|
||||||
|
(lit ... ...)
|
||||||
|
(var ... ...)
|
||||||
|
(*deftogether (list decl ...) (lambda () (list . body)))))]))
|
||||||
|
|
||||||
(define-struct arg
|
(define-struct arg
|
||||||
(special? kw id optional? starts-optional? ends-optional? num-closers))
|
(special? kw id optional? starts-optional? ends-optional? num-closers))
|
||||||
|
@ -1365,22 +1487,20 @@
|
||||||
(define var-list
|
(define var-list
|
||||||
(filter-map (lambda (a) (and (not (arg-special? a)) (arg-id a)))
|
(filter-map (lambda (a) (and (not (arg-special? a)) (arg-id a)))
|
||||||
(append* all-args)))
|
(append* all-args)))
|
||||||
(parameterize ([current-variable-list var-list])
|
(make-box-splice
|
||||||
(make-box-splice
|
(cons
|
||||||
(cons
|
(make-table
|
||||||
(make-table
|
'boxed
|
||||||
'boxed
|
(append-map
|
||||||
(append-map
|
do-one
|
||||||
do-one
|
stx-ids prototypes all-args arg-contractss arg-valss result-contracts
|
||||||
stx-ids prototypes all-args arg-contractss arg-valss result-contracts
|
(let loop ([ps prototypes] [accum null])
|
||||||
(let loop ([ps prototypes] [accum null])
|
(cond [(null? ps) null]
|
||||||
(cond [(null? ps) null]
|
[(ormap (lambda (a) (eq? (extract-id (car ps)) a)) accum)
|
||||||
[(ormap (lambda (a) (eq? (extract-id (car ps)) a)) accum)
|
(cons #f (loop (cdr ps) accum))]
|
||||||
(cons #f (loop (cdr ps) accum))]
|
[else (cons #t (loop (cdr ps)
|
||||||
[else (cons #t (loop (cdr ps)
|
(cons (extract-id (car ps)) accum)))]))))
|
||||||
(cons (extract-id (car ps)) accum)))]))))
|
(content-thunk))))
|
||||||
(content-thunk))
|
|
||||||
var-list)))
|
|
||||||
|
|
||||||
(define (make-target-element* inner-make-target-element stx-id content wrappers)
|
(define (make-target-element* inner-make-target-element stx-id content wrappers)
|
||||||
(if (null? wrappers)
|
(if (null? wrappers)
|
||||||
|
@ -1577,8 +1697,7 @@
|
||||||
(make-flow (list (field-contract))))))))]
|
(make-flow (list (field-contract))))))))]
|
||||||
[else null]))
|
[else null]))
|
||||||
fields field-contracts)))
|
fields field-contracts)))
|
||||||
(content-thunk))
|
(content-thunk))))
|
||||||
null))
|
|
||||||
|
|
||||||
(define (*defthing stx-ids names form? result-contracts content-thunk)
|
(define (*defthing stx-ids names form? result-contracts content-thunk)
|
||||||
(make-box-splice
|
(make-box-splice
|
||||||
|
@ -1623,24 +1742,12 @@
|
||||||
result-contract
|
result-contract
|
||||||
(make-omitable-paragraph (list result-contract)))))))))))
|
(make-omitable-paragraph (list result-contract)))))))))))
|
||||||
stx-ids names result-contracts))
|
stx-ids names result-contracts))
|
||||||
(content-thunk))
|
(content-thunk))))
|
||||||
null))
|
|
||||||
|
|
||||||
(define (meta-symbol? s) (memq s '(... ...+ ?)))
|
(define (meta-symbol? s) (memq s '(... ...+ ?)))
|
||||||
|
|
||||||
(define (*defforms kw-id lits forms form-procs subs sub-procs content-thunk)
|
(define (*defforms kw-id forms form-procs subs sub-procs content-thunk)
|
||||||
(define var-list
|
(parameterize ([current-meta-list '(... ...+)])
|
||||||
(let loop ([form (cons forms subs)])
|
|
||||||
(cond [(symbol? form)
|
|
||||||
(if (or (meta-symbol? form)
|
|
||||||
(and kw-id (eq? form (syntax-e kw-id)))
|
|
||||||
(memq form lits))
|
|
||||||
null
|
|
||||||
(list form))]
|
|
||||||
[(pair? form) (append (loop (car form)) (loop (cdr form)))]
|
|
||||||
[else null])))
|
|
||||||
(parameterize ([current-variable-list var-list]
|
|
||||||
[current-meta-list '(... ...+)])
|
|
||||||
(make-box-splice
|
(make-box-splice
|
||||||
(cons
|
(cons
|
||||||
(make-table
|
(make-table
|
||||||
|
@ -1689,23 +1796,10 @@
|
||||||
(*schemerawgrammars "specgrammar"
|
(*schemerawgrammars "specgrammar"
|
||||||
(map car l)
|
(map car l)
|
||||||
(map cdr l))))))))))
|
(map cdr l))))))))))
|
||||||
(content-thunk))
|
(content-thunk)))))
|
||||||
var-list)))
|
|
||||||
|
|
||||||
(define (*specsubform form has-kw? lits form-thunk subs sub-procs content-thunk)
|
(define (*specsubform form lits form-thunk subs sub-procs content-thunk)
|
||||||
(parameterize ([current-variable-list
|
(parameterize ([current-meta-list '(... ...+)])
|
||||||
(append (let loop ([form (cons (if has-kw? (cdr form) form)
|
|
||||||
subs)])
|
|
||||||
(cond
|
|
||||||
[(symbol? form) (if (or (meta-symbol? form)
|
|
||||||
(memq form lits))
|
|
||||||
null
|
|
||||||
(list form))]
|
|
||||||
[(pair? form) (append (loop (car form))
|
|
||||||
(loop (cdr form)))]
|
|
||||||
[else null]))
|
|
||||||
(current-variable-list))]
|
|
||||||
[current-meta-list '(... ...+)])
|
|
||||||
(make-blockquote
|
(make-blockquote
|
||||||
"leftindent"
|
"leftindent"
|
||||||
(cons
|
(cons
|
||||||
|
@ -1754,23 +1848,14 @@
|
||||||
(*schemerawgrammars style (list nonterm) (list (cons clause1 clauses))))
|
(*schemerawgrammars style (list nonterm) (list (cons clause1 clauses))))
|
||||||
|
|
||||||
(define (*schemegrammar lits s-expr clauseses-thunk)
|
(define (*schemegrammar lits s-expr clauseses-thunk)
|
||||||
(parameterize ([current-variable-list
|
(let ([l (clauseses-thunk)])
|
||||||
(let loop ([form s-expr])
|
(*schemerawgrammars #f
|
||||||
(cond
|
(map (lambda (x)
|
||||||
[(symbol? form) (if (memq form lits)
|
(make-element #f
|
||||||
null
|
(list (hspace 2)
|
||||||
(list form))]
|
(car x))))
|
||||||
[(pair? form) (append (loop (car form))
|
l)
|
||||||
(loop (cdr form)))]
|
(map cdr l))))
|
||||||
[else null]))])
|
|
||||||
(let ([l (clauseses-thunk)])
|
|
||||||
(*schemerawgrammars #f
|
|
||||||
(map (lambda (x)
|
|
||||||
(make-element #f
|
|
||||||
(list (hspace 2)
|
|
||||||
(car x))))
|
|
||||||
l)
|
|
||||||
(map cdr l)))))
|
|
||||||
|
|
||||||
(define (*var id)
|
(define (*var id)
|
||||||
(to-element (*var-sym id)))
|
(to-element (*var-sym id)))
|
||||||
|
@ -2425,16 +2510,22 @@
|
||||||
signature-desc)
|
signature-desc)
|
||||||
|
|
||||||
(define-syntax-rule (defsignature name (super ...) body ...)
|
(define-syntax-rule (defsignature name (super ...) body ...)
|
||||||
(*defsignature (quote-syntax name)
|
(with-togetherable-scheme-variables
|
||||||
(list (quote-syntax super) ...)
|
()
|
||||||
(lambda () (list body ...))
|
()
|
||||||
#t))
|
(*defsignature (quote-syntax name)
|
||||||
|
(list (quote-syntax super) ...)
|
||||||
|
(lambda () (list body ...))
|
||||||
|
#t)))
|
||||||
|
|
||||||
(define-syntax-rule (defsignature/splice name (super ...) body ...)
|
(define-syntax-rule (defsignature/splice name (super ...) body ...)
|
||||||
(*defsignature (quote-syntax name)
|
(with-togetherable-scheme-variables
|
||||||
(list (quote-syntax super) ...)
|
()
|
||||||
(lambda () (list body ...))
|
()
|
||||||
#f))
|
(*defsignature (quote-syntax name)
|
||||||
|
(list (quote-syntax super) ...)
|
||||||
|
(lambda () (list body ...))
|
||||||
|
#f)))
|
||||||
|
|
||||||
(define-struct sig-desc (in))
|
(define-struct sig-desc (in))
|
||||||
(define (signature-desc . l)
|
(define (signature-desc . l)
|
||||||
|
|
|
@ -25,7 +25,7 @@ Sometimes, a bitmap object creation fails in a low-level manner. In
|
||||||
[width (integer-in 1 10000)]
|
[width (integer-in 1 10000)]
|
||||||
[height (integer-in 1 10000)]))]{
|
[height (integer-in 1 10000)]))]{
|
||||||
|
|
||||||
When @scheme[with] and @scheme[height] are provided: Creates a new
|
When @scheme[width] and @scheme[height] are provided: Creates a new
|
||||||
bitmap. If @scheme[monochrome?] is @scheme[#f], the bitmap matches
|
bitmap. If @scheme[monochrome?] is @scheme[#f], the bitmap matches
|
||||||
the display depth of the screen. The initial content of the bitmap is
|
the display depth of the screen. The initial content of the bitmap is
|
||||||
undefined.
|
undefined.
|
||||||
|
|
|
@ -391,7 +391,7 @@ fast-clause [id fast-seq]
|
||||||
]
|
]
|
||||||
|
|
||||||
@schemegrammar[
|
@schemegrammar[
|
||||||
#:literals [in-range in-naturals in-list in-vector in-string in-bytes stop-before stop-after]
|
#:literals [in-range in-naturals in-list in-vector in-string in-bytes in-value stop-before stop-after]
|
||||||
fast-seq (in-range expr expr)
|
fast-seq (in-range expr expr)
|
||||||
(in-range expr expr expr)
|
(in-range expr expr expr)
|
||||||
(in-naturals)
|
(in-naturals)
|
||||||
|
|
|
@ -144,7 +144,8 @@ such macros, the programmer much use the more general
|
||||||
@scheme[define-syntax] form along with the @scheme[syntax-rules]
|
@scheme[define-syntax] form along with the @scheme[syntax-rules]
|
||||||
transformer form:
|
transformer form:
|
||||||
|
|
||||||
@specform[(define-syntax id
|
@specform[#:literals (syntax-rules)
|
||||||
|
(define-syntax id
|
||||||
(syntax-rules (literal-id ...)
|
(syntax-rules (literal-id ...)
|
||||||
[pattern template]
|
[pattern template]
|
||||||
...))]
|
...))]
|
||||||
|
@ -260,7 +261,8 @@ clock 3)] expands to @scheme[(put-clock! 3)].
|
||||||
The @scheme[syntax-id-rules] form is like @scheme[syntax-rules], but
|
The @scheme[syntax-id-rules] form is like @scheme[syntax-rules], but
|
||||||
it creates a transformer that acts as an identifier macro:
|
it creates a transformer that acts as an identifier macro:
|
||||||
|
|
||||||
@specform[(define-syntax id
|
@specform[#:literals (syntax-id-rules)
|
||||||
|
(define-syntax id
|
||||||
(syntax-id-rules (literal-id ...)
|
(syntax-id-rules (literal-id ...)
|
||||||
[pattern template]
|
[pattern template]
|
||||||
...))]
|
...))]
|
||||||
|
|
|
@ -310,7 +310,7 @@ checking will not terminate.}
|
||||||
|
|
||||||
@defform[(flat-murec-contract ([id flat-contract-expr ...] ...) body ...+)]{
|
@defform[(flat-murec-contract ([id flat-contract-expr ...] ...) body ...+)]{
|
||||||
|
|
||||||
A generalization of @scheme[flat-rec-contracts] for defining several
|
A generalization of @scheme[flat-rec-contract] for defining several
|
||||||
mutually recursive flat contracts simultaneously. Each @scheme[id] is
|
mutually recursive flat contracts simultaneously. Each @scheme[id] is
|
||||||
visible in the entire @scheme[flat-murec-contract] form, and the
|
visible in the entire @scheme[flat-murec-contract] form, and the
|
||||||
result of the final @scheme[body] is the result of the entire form.}
|
result of the final @scheme[body] is the result of the entire form.}
|
||||||
|
@ -1045,9 +1045,9 @@ raised by the contract system.}
|
||||||
|
|
||||||
@defproc[(contract? [v any/c]) boolean?]{
|
@defproc[(contract? [v any/c]) boolean?]{
|
||||||
|
|
||||||
Returns @scheme[#t] if its argument is a contract (ie, constructed
|
Returns @scheme[#t] if its argument is a contract (i.e., constructed
|
||||||
with one of the combinators described in this section), @scheme[#f]
|
with one of the combinators described in this section or a value that
|
||||||
otherwise.}
|
can be used as a contract) and @scheme[#f] otherwise.}
|
||||||
|
|
||||||
@defproc[(flat-contract? [v any/c]) boolean?]{
|
@defproc[(flat-contract? [v any/c]) boolean?]{
|
||||||
|
|
||||||
|
|
|
@ -440,6 +440,20 @@ mark}. Multiple applications of the same
|
||||||
@scheme[make-syntax-introducer] result procedure use the same mark,
|
@scheme[make-syntax-introducer] result procedure use the same mark,
|
||||||
and different result procedures use distinct marks.}
|
and different result procedures use distinct marks.}
|
||||||
|
|
||||||
|
@defproc[(make-syntax-delta-introducer [ext-stx syntax?] [base-stx syntax?])
|
||||||
|
(syntax? . -> . syntax?)]{
|
||||||
|
|
||||||
|
Produces a procedure that behaves like
|
||||||
|
@scheme[syntax-local-introduce], but using the @tech{syntax
|
||||||
|
marks} of @scheme[ext-stx] that are not shared with @scheme[base-stx].
|
||||||
|
|
||||||
|
This procedure is useful when @scheme[_m-id] has a transformer binding
|
||||||
|
that records some @scheme[_orig-id], and a use of @scheme[_m-id]
|
||||||
|
introduces a binding of @scheme[_orig-id]. In that case, the
|
||||||
|
@tech{syntax marks} in the use of @scheme[_m-id] since the binding of
|
||||||
|
@scheme[_m-id] should be transferred to the binding instance of
|
||||||
|
@scheme[_orig-id], so that it captures uses with the same lexical
|
||||||
|
context as the use of @scheme[_m-id].}
|
||||||
|
|
||||||
@defproc[(syntax-local-transforming-module-provides?) boolean?]{
|
@defproc[(syntax-local-transforming-module-provides?) boolean?]{
|
||||||
|
|
||||||
|
|
|
@ -91,7 +91,7 @@ time is a portion of the time reported by
|
||||||
|
|
||||||
|
|
||||||
@defproc[(time-apply [proc procedure?]
|
@defproc[(time-apply [proc procedure?]
|
||||||
[arg any/c] ...)
|
[lst list?])
|
||||||
(values list?
|
(values list?
|
||||||
exact-integer?
|
exact-integer?
|
||||||
exact-integer?
|
exact-integer?
|
||||||
|
|
|
@ -110,8 +110,12 @@ basic properties of images.
|
||||||
For the composition of images, you must know about @emph{pinholes}. Each
|
For the composition of images, you must know about @emph{pinholes}. Each
|
||||||
image, including primitive ones, come with a pinhole. For images created
|
image, including primitive ones, come with a pinhole. For images created
|
||||||
with the above primitives, the pinhole is at the center of the shape except
|
with the above primitives, the pinhole is at the center of the shape except
|
||||||
for those created from @scheme[line] and @scheme[text], which have pinholes
|
for those created from @scheme[line] and @scheme[text].
|
||||||
at the top left. The pinhole can be moved, of course, and compositions
|
The @scheme[text] function puts the pinhole at the upper left corner of
|
||||||
|
the image, and @scheme[line] puts the pinhole at the beginning of the line
|
||||||
|
(meaning that if the first two arguments to @scheme[line] are positive,
|
||||||
|
the pinhole is also in the upper left corner).
|
||||||
|
The pinhole can be moved, of course, and compositions
|
||||||
locate pinholes according to their own rules. When in doubt you can always
|
locate pinholes according to their own rules. When in doubt you can always
|
||||||
find out where the pinhole is and place it where convenient.
|
find out where the pinhole is and place it where convenient.
|
||||||
|
|
||||||
|
|
|
@ -263,7 +263,7 @@
|
||||||
|
|
||||||
(define (build-test-engine)
|
(define (build-test-engine)
|
||||||
(let ([engine (make-object scheme-test%)])
|
(let ([engine (make-object scheme-test%)])
|
||||||
(send engine setup-info 'check-require)
|
(send engine setup-info 'test-check)
|
||||||
engine))
|
engine))
|
||||||
|
|
||||||
(define (insert-test test-info test) (send test-info add-test test))
|
(define (insert-test test-info test) (send test-info add-test test))
|
||||||
|
|
|
@ -26,6 +26,27 @@
|
||||||
(set! drscheme-frame df)
|
(set! drscheme-frame df)
|
||||||
(set! src-editor ed))
|
(set! src-editor ed))
|
||||||
|
|
||||||
|
(define (docked?)
|
||||||
|
(and drscheme-frame
|
||||||
|
(get-preference 'test:test-window:docked?
|
||||||
|
(lambda () (put-preferences '(test:test-window:docked?) '(#f)) #f))))
|
||||||
|
|
||||||
|
(define/public (report-success)
|
||||||
|
(when current-rep
|
||||||
|
(unless current-tab
|
||||||
|
(set! current-tab (send (send current-rep get-definitions-text) get-tab)))
|
||||||
|
(unless drscheme-frame
|
||||||
|
(set! drscheme-frame (send current-rep get-top-level-window)))
|
||||||
|
(let ([curr-win (and current-tab (send current-tab get-test-window))]
|
||||||
|
[content (make-object (editor:standard-style-list-mixin text%))])
|
||||||
|
(send this insert-test-results content test-info src-editor)
|
||||||
|
(send content lock #t)
|
||||||
|
(when curr-win (send curr-win update-editor content))
|
||||||
|
(when current-tab (send current-tab current-test-editor content))
|
||||||
|
(when (and curr-win (docked?))
|
||||||
|
(send drscheme-frame display-test-panel content)
|
||||||
|
(send curr-win show #f)))))
|
||||||
|
|
||||||
(define/public (display-results)
|
(define/public (display-results)
|
||||||
(let* ([curr-win (and current-tab (send current-tab get-test-window))]
|
(let* ([curr-win (and current-tab (send current-tab get-test-window))]
|
||||||
[window (or curr-win (make-object test-window%))]
|
[window (or curr-win (make-object test-window%))]
|
||||||
|
@ -48,14 +69,9 @@
|
||||||
(send drscheme-frame deregister-test-window window)
|
(send drscheme-frame deregister-test-window window)
|
||||||
(send current-tab current-test-window #f)
|
(send current-tab current-test-window #f)
|
||||||
(send current-tab current-test-editor #f)))))
|
(send current-tab current-test-editor #f)))))
|
||||||
(if (and drscheme-frame
|
(if (docked?)
|
||||||
(get-preference 'test:test-window:docked?
|
(send drscheme-frame display-test-panel content)
|
||||||
(lambda ()
|
(send window show #t))))
|
||||||
(put-preferences '(test:test-window:docked?)
|
|
||||||
'(#f))
|
|
||||||
#f)))
|
|
||||||
(send drscheme-frame display-test-panel content)
|
|
||||||
(send window show #t))))
|
|
||||||
|
|
||||||
(define/pubment (insert-test-results editor test-info src-editor)
|
(define/pubment (insert-test-results editor test-info src-editor)
|
||||||
(let* ([style (send test-info test-style)]
|
(let* ([style (send test-info test-style)]
|
||||||
|
@ -79,31 +95,33 @@
|
||||||
[(= failed-tests total-tests) "0 tests passed.\n"]
|
[(= failed-tests total-tests) "0 tests passed.\n"]
|
||||||
[else (format "~a of the ~a tests failed.\n\n" failed-tests total-tests)]))))]
|
[else (format "~a of the ~a tests failed.\n\n" failed-tests total-tests)]))))]
|
||||||
[check-outcomes
|
[check-outcomes
|
||||||
(lambda (zero-message)
|
(lambda (zero-message ck)
|
||||||
(send editor insert
|
(send editor insert
|
||||||
(cond
|
(cond
|
||||||
[(zero? total-checks) zero-message]
|
[(zero? total-checks) zero-message]
|
||||||
[(= 1 total-checks) "Ran 1 check.\n"]
|
[(= 1 total-checks) (format "Ran 1 ~a.\n" ck)]
|
||||||
[else (format "Ran ~a checks.\n" total-checks)]))
|
[else (format "Ran ~a ~as.\n" total-checks ck)]))
|
||||||
(when (> total-checks 0)
|
(when (> total-checks 0)
|
||||||
(send editor insert
|
(send editor insert
|
||||||
(cond
|
(cond
|
||||||
[(and (zero? failed-checks) (= 1 total-checks))
|
[(and (zero? failed-checks) (= 1 total-checks))
|
||||||
"Check passed!\n\n"]
|
(format "The ~a passed!\n\n" ck)]
|
||||||
[(zero? failed-checks) "All checks passed!\n\n"]
|
[(zero? failed-checks) (format "All ~as passed!\n\n" ck)]
|
||||||
[(= failed-checks total-checks) "0 checks passed.\n"]
|
[(= failed-checks total-checks) (format "0 ~as passed.\n" ck)]
|
||||||
[else (format "~a of the ~a checks failed.\n\n"
|
[else (format "~a of the ~a ~as failed.\n\n"
|
||||||
failed-checks total-checks)]))))])
|
failed-checks ck total-checks)]))))])
|
||||||
(case style
|
(case style
|
||||||
[(test-require)
|
[(test-require)
|
||||||
(test-outcomes "This program must be tested!\n")
|
(test-outcomes "This program must be tested!\n")
|
||||||
(check-outcomes "This program is unchecked!\n")]
|
(check-outcomes "This program is unchecked!\n" "check")]
|
||||||
[(check-require)
|
[(check-require)
|
||||||
(check-outcomes "This program is unchecked!\n")]
|
(check-outcomes "This program is unchecked!\n" "check")]
|
||||||
[(test-basic)
|
[(test-basic)
|
||||||
(test-outcomes "")
|
(test-outcomes "")
|
||||||
(check-outcomes "")]
|
(check-outcomes "" "check")]
|
||||||
[else (check-outcomes "")])
|
[(test-check)
|
||||||
|
(check-outcomes "This program must be tested.\n" "test")]
|
||||||
|
[else (check-outcomes "" "check")])
|
||||||
|
|
||||||
(unless (and (zero? total-checks) (zero? total-tests))
|
(unless (and (zero? total-checks) (zero? total-tests))
|
||||||
(inner (display-check-failures (send test-info failed-checks)
|
(inner (display-check-failures (send test-info failed-checks)
|
||||||
|
|
|
@ -75,6 +75,8 @@
|
||||||
(failed-check-src failed-check))
|
(failed-check-src failed-check))
|
||||||
(printf "~a" "\n")))
|
(printf "~a" "\n")))
|
||||||
|
|
||||||
|
(define/public (report-success) (void))
|
||||||
|
|
||||||
(define/public (next-line) (printf "~a" "\n\t"))
|
(define/public (next-line) (printf "~a" "\n\t"))
|
||||||
|
|
||||||
;; make-link: (listof (U string snip%)) src -> void
|
;; make-link: (listof (U string snip%)) src -> void
|
||||||
|
@ -130,24 +132,27 @@
|
||||||
(when (test-execute)
|
(when (test-execute)
|
||||||
(unless test-display (setup-display #f #f))
|
(unless test-display (setup-display #f #f))
|
||||||
(let ([result (send test-info summarize-results)])
|
(let ([result (send test-info summarize-results)])
|
||||||
|
(send test-display install-info test-info)
|
||||||
(case result
|
(case result
|
||||||
[(no-tests) (send this display-untested port)]
|
[(no-tests) (send this display-untested port)]
|
||||||
[(all-passed) (send this display-success port)]
|
[(all-passed) (send this display-success port display-event-space)]
|
||||||
[(mixed-results)
|
[(mixed-results)
|
||||||
(send this display-results display-rep display-event-space)]))))
|
(send this display-results display-rep display-event-space)]))))
|
||||||
|
|
||||||
(define/public (display-success port)
|
(define/public (display-success port event)
|
||||||
|
(when event
|
||||||
|
(parameterize ([(dynamic-require 'scheme/gui 'current-eventspace) event])
|
||||||
|
((dynamic-require 'scheme/gui 'queue-callback)
|
||||||
|
(lambda () (send test-display report-success)))))
|
||||||
(unless (test-silence)
|
(unless (test-silence)
|
||||||
(fprintf port "All tests passed!~n")))
|
(fprintf port "All tests passed!~n")))
|
||||||
(define/public (display-untested port)
|
(define/public (display-untested port)
|
||||||
(unless (test-silence)
|
(unless (test-silence)
|
||||||
(fprintf port "This program should be tested.~n")))
|
(fprintf port "This program should be tested.~n")))
|
||||||
(define/public (display-results rep event-space)
|
(define/public (display-results rep event-space)
|
||||||
(send test-display install-info test-info)
|
|
||||||
(cond
|
(cond
|
||||||
[(and rep event-space)
|
[(and rep event-space)
|
||||||
(parameterize ([(dynamic-require 'scheme/gui 'current-eventspace)
|
(parameterize ([(dynamic-require 'scheme/gui 'current-eventspace) event-space])
|
||||||
event-space])
|
|
||||||
((dynamic-require 'scheme/gui 'queue-callback)
|
((dynamic-require 'scheme/gui 'queue-callback)
|
||||||
(lambda () (send rep display-test-results test-display))))]
|
(lambda () (send rep display-test-results test-display))))]
|
||||||
[event-space
|
[event-space
|
||||||
|
|
|
@ -3942,6 +3942,13 @@
|
||||||
f))])
|
f))])
|
||||||
((((contract ctc f 'pos 'neg) 1) 2) 3))))
|
((((contract ctc f 'pos 'neg) 1) 2) 3))))
|
||||||
|
|
||||||
|
(test/spec-passed
|
||||||
|
'recursive-contract5
|
||||||
|
'(contract (recursive-contract #f)
|
||||||
|
#f
|
||||||
|
'pos
|
||||||
|
'neg))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;
|
;
|
||||||
|
@ -4754,6 +4761,9 @@ so that propagation occurs.
|
||||||
(define-struct s (a b))
|
(define-struct s (a b))
|
||||||
(struct/c s any/c any/c)))
|
(struct/c s any/c any/c)))
|
||||||
|
|
||||||
|
(ctest #t contract? 1)
|
||||||
|
(ctest #t contract? (-> 1 1))
|
||||||
|
|
||||||
(test-flat-contract '(and/c number? integer?) 1 3/2)
|
(test-flat-contract '(and/c number? integer?) 1 3/2)
|
||||||
|
|
||||||
(test-flat-contract '(not/c integer?) #t 1)
|
(test-flat-contract '(not/c integer?) #t 1)
|
||||||
|
|
|
@ -406,7 +406,7 @@
|
||||||
[else (build 'primitive e)]))
|
[else (build 'primitive e)]))
|
||||||
|
|
||||||
(define: (initial-table [name : atom]) : atom
|
(define: (initial-table [name : atom]) : atom
|
||||||
(error))
|
(error 'fail))
|
||||||
|
|
||||||
(define: (*identifier [e : atom] [tbl : table]) : SExp
|
(define: (*identifier [e : atom] [tbl : table]) : SExp
|
||||||
(lookup-in-table e tbl initial-table))
|
(lookup-in-table e tbl initial-table))
|
||||||
|
@ -420,10 +420,10 @@
|
||||||
[(#t #f cons car cdr null? eq? atom? zero? add1 sub1 number?) *const]
|
[(#t #f cons car cdr null? eq? atom? zero? add1 sub1 number?) *const]
|
||||||
[else *identifier])]))
|
[else *identifier])]))
|
||||||
|
|
||||||
(define: (*quote [a : atom] [t : table]) : SExp (error))
|
(define: (*quote [a : atom] [t : table]) : SExp (error 'fail))
|
||||||
(define: (*lambda [a : atom] [t : table]) : SExp (error))
|
(define: (*lambda [a : atom] [t : table]) : SExp (error 'fail))
|
||||||
(define: (*cond [a : atom] [t : table]) : SExp (error))
|
(define: (*cond [a : atom] [t : table]) : SExp (error 'fail))
|
||||||
(define: (*application [a : atom] [t : table]) : SExp (error))
|
(define: (*application [a : atom] [t : table]) : SExp (error 'fail))
|
||||||
|
|
||||||
(define: (list->action [e : (list-of SExp)]) : action
|
(define: (list->action [e : (list-of SExp)]) : action
|
||||||
(cond*
|
(cond*
|
||||||
|
|
|
@ -1640,3 +1640,40 @@
|
||||||
(define x 19))
|
(define x 19))
|
||||||
(test '(3 4 19 18)
|
(test '(3 4 19 18)
|
||||||
(invoke-unit (compound-unit/infer (import) (export) (link u2 u1)))))
|
(invoke-unit (compound-unit/infer (import) (export) (link u2 u1)))))
|
||||||
|
|
||||||
|
|
||||||
|
(define-signature sig^ (u-a))
|
||||||
|
|
||||||
|
(define unit@
|
||||||
|
(unit
|
||||||
|
(import)
|
||||||
|
(export sig^)
|
||||||
|
|
||||||
|
(define u-a 'zero)))
|
||||||
|
|
||||||
|
(define-syntax (use-unit stx)
|
||||||
|
(syntax-case stx ()
|
||||||
|
[(_)
|
||||||
|
#'(let ()
|
||||||
|
(define-values/invoke-unit unit@ (import) (export sig^))
|
||||||
|
u-a)]))
|
||||||
|
|
||||||
|
(define-syntax (use-unit-badly1 stx)
|
||||||
|
(syntax-case stx ()
|
||||||
|
[(_ u-a)
|
||||||
|
#'(let ()
|
||||||
|
(define-values/invoke-unit unit@ (import) (export sig^))
|
||||||
|
u-a)]))
|
||||||
|
|
||||||
|
(define-syntax (use-unit-badly2 stx)
|
||||||
|
(syntax-case stx ()
|
||||||
|
[(_ sig^)
|
||||||
|
#'(let ()
|
||||||
|
(define-values/invoke-unit unit@ (import) (export sig^))
|
||||||
|
u-a)]))
|
||||||
|
|
||||||
|
(test 'zero (use-unit))
|
||||||
|
(test-runtime-error exn:fail:contract:variable? "context mismatch; no u-a"
|
||||||
|
(use-unit-badly1 u-a))
|
||||||
|
(test-runtime-error exn:fail:contract:variable? "context mismatch; no u-a"
|
||||||
|
(use-unit-badly2 sig^))
|
||||||
|
|
|
@ -211,8 +211,11 @@
|
||||||
(add-type-name-reference #'id)
|
(add-type-name-reference #'id)
|
||||||
;(printf "found a type name ~a~n" #'id)
|
;(printf "found a type name ~a~n" #'id)
|
||||||
(make-Name #'id)]
|
(make-Name #'id)]
|
||||||
|
[(eq? '-> (syntax-e #'id))
|
||||||
|
(tc-error/delayed "Incorrect use of -> type constructor")
|
||||||
|
Univ]
|
||||||
[else
|
[else
|
||||||
(tc-error/delayed "unbound type name ~a" (syntax-e #'id))
|
(tc-error/delayed "Unbound type name ~a" (syntax-e #'id))
|
||||||
Univ])]
|
Univ])]
|
||||||
|
|
||||||
[(All . rest) (eq? (syntax-e #'All) 'All) (tc-error "All: bad syntax")]
|
[(All . rest) (eq? (syntax-e #'All) 'All) (tc-error "All: bad syntax")]
|
||||||
|
|
|
@ -160,24 +160,28 @@ This file defines two sorts of primitives. All of them are provided into any mod
|
||||||
(syntax-property #'arg 'type-ascription #'ty)]))
|
(syntax-property #'arg 'type-ascription #'ty)]))
|
||||||
|
|
||||||
(define-syntax (: stx)
|
(define-syntax (: stx)
|
||||||
(let ([stx*
|
(define stx*
|
||||||
;; make it possible to add another colon after the id for clarity
|
;; make it possible to add another colon after the id for clarity
|
||||||
(syntax-case stx (:)
|
;; and in that case, a `->' on the RHS does not need to be
|
||||||
[(: id : . more) (syntax/loc stx (: id . more))]
|
;; explicitly parenthesized
|
||||||
[_ stx])])
|
(syntax-case stx (:)
|
||||||
(syntax-case stx* ()
|
[(: id : x ...)
|
||||||
[(_ id ty)
|
(ormap (lambda (x) (eq? '-> (syntax-e x))) (syntax->list #'(x ...)))
|
||||||
(identifier? #'id)
|
(syntax/loc stx (: id (x ...)))]
|
||||||
(syntax-property
|
[(: id : . more) (syntax/loc stx (: id . more))]
|
||||||
(internal (syntax/loc stx (:-internal id ty)))
|
[_ stx]))
|
||||||
'disappeared-use #'id)]
|
(define (err str . sub)
|
||||||
[(_ id ty)
|
(apply raise-syntax-error '|type declaration| str stx sub))
|
||||||
(raise-syntax-error '|type declaration| "can only annotate identifiers with types"
|
(syntax-case stx* ()
|
||||||
stx #'id)]
|
[(_ id ty)
|
||||||
[(_ _ _ _ . _)
|
(identifier? #'id)
|
||||||
(raise-syntax-error '|type declaration| "too many arguments" stx)]
|
(syntax-property (internal (syntax/loc stx (:-internal id ty)))
|
||||||
[(_ _)
|
'disappeared-use #'id)]
|
||||||
(raise-syntax-error '|type declaration| "too few arguments" stx)])))
|
[(_ id x ...)
|
||||||
|
(case (length (syntax->list #'(x ...)))
|
||||||
|
[(1) (err "can only annotate identifiers with types" #'id)]
|
||||||
|
[(0) (err "missing type")]
|
||||||
|
[else (err "bad syntax (multiple types after identifier)")])]))
|
||||||
|
|
||||||
(define-syntax (inst stx)
|
(define-syntax (inst stx)
|
||||||
(syntax-case stx (:)
|
(syntax-case stx (:)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,49,46,50,50,0,0,0,1,0,0,6,0,9,0,
|
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,49,46,51,50,0,0,0,1,0,0,6,0,9,0,
|
||||||
13,0,26,0,29,0,34,0,41,0,46,0,51,0,58,0,65,0,69,0,78,
|
13,0,26,0,29,0,34,0,41,0,46,0,51,0,58,0,65,0,69,0,78,
|
||||||
0,84,0,98,0,112,0,115,0,119,0,121,0,132,0,134,0,148,0,155,0,
|
0,84,0,98,0,112,0,115,0,119,0,121,0,132,0,134,0,148,0,155,0,
|
||||||
177,0,179,0,193,0,253,0,23,1,32,1,41,1,51,1,68,1,107,1,146,
|
177,0,179,0,193,0,253,0,23,1,32,1,41,1,51,1,68,1,107,1,146,
|
||||||
|
@ -59,10 +59,10 @@
|
||||||
115,101,116,45,102,105,114,115,116,11,2,24,201,250,22,74,2,20,9,248,22,
|
115,101,116,45,102,105,114,115,116,11,2,24,201,250,22,74,2,20,9,248,22,
|
||||||
65,203,27,248,22,65,248,22,132,4,23,197,1,28,248,22,71,23,194,2,20,
|
65,203,27,248,22,65,248,22,132,4,23,197,1,28,248,22,71,23,194,2,20,
|
||||||
15,159,36,35,36,249,22,189,3,80,158,38,35,27,248,22,132,4,248,22,64,
|
15,159,36,35,36,249,22,189,3,80,158,38,35,27,248,22,132,4,248,22,64,
|
||||||
23,198,2,28,249,22,160,8,62,61,62,248,22,190,3,248,22,88,23,197,2,
|
23,198,2,28,249,22,161,8,62,61,62,248,22,190,3,248,22,88,23,197,2,
|
||||||
250,22,73,2,20,248,22,73,249,22,73,21,93,2,25,248,22,64,199,250,22,
|
250,22,73,2,20,248,22,73,249,22,73,21,93,2,25,248,22,64,199,250,22,
|
||||||
74,2,8,249,22,73,2,25,249,22,73,248,22,97,203,2,25,248,22,65,202,
|
74,2,8,249,22,73,2,25,249,22,73,248,22,97,203,2,25,248,22,65,202,
|
||||||
251,22,73,2,17,28,249,22,160,8,248,22,190,3,248,22,64,23,201,2,64,
|
251,22,73,2,17,28,249,22,161,8,248,22,190,3,248,22,64,23,201,2,64,
|
||||||
101,108,115,101,10,248,22,64,23,198,2,250,22,74,2,20,9,248,22,65,23,
|
101,108,115,101,10,248,22,64,23,198,2,250,22,74,2,20,9,248,22,65,23,
|
||||||
201,1,249,22,63,2,8,248,22,65,23,203,1,99,8,31,8,30,8,29,8,
|
201,1,249,22,63,2,8,248,22,65,23,203,1,99,8,31,8,30,8,29,8,
|
||||||
28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,57,57,56,50,16,4,
|
28,8,27,16,4,11,11,2,18,3,1,7,101,110,118,57,57,56,50,16,4,
|
||||||
|
@ -99,7 +99,7 @@
|
||||||
EVAL_ONE_SIZED_STR((char *)expr, 2032);
|
EVAL_ONE_SIZED_STR((char *)expr, 2032);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,49,46,50,60,0,0,0,1,0,0,3,0,16,0,
|
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,49,46,51,60,0,0,0,1,0,0,3,0,16,0,
|
||||||
21,0,38,0,53,0,71,0,87,0,97,0,115,0,135,0,151,0,169,0,200,
|
21,0,38,0,53,0,71,0,87,0,97,0,115,0,135,0,151,0,169,0,200,
|
||||||
0,229,0,251,0,9,1,15,1,29,1,34,1,44,1,52,1,80,1,112,1,
|
0,229,0,251,0,9,1,15,1,29,1,34,1,44,1,52,1,80,1,112,1,
|
||||||
157,1,202,1,226,1,9,2,11,2,68,2,158,3,199,3,33,5,137,5,241,
|
157,1,202,1,226,1,9,2,11,2,68,2,158,3,199,3,33,5,137,5,241,
|
||||||
|
@ -131,177 +131,177 @@
|
||||||
111,114,32,98,121,116,101,32,115,116,114,105,110,103,6,36,36,99,97,110,110,
|
111,114,32,98,121,116,101,32,115,116,114,105,110,103,6,36,36,99,97,110,110,
|
||||||
111,116,32,97,100,100,32,97,32,115,117,102,102,105,120,32,116,111,32,97,32,
|
111,116,32,97,100,100,32,97,32,115,117,102,102,105,120,32,116,111,32,97,32,
|
||||||
114,111,111,116,32,112,97,116,104,58,32,5,0,27,20,14,159,80,158,36,50,
|
114,111,111,116,32,112,97,116,104,58,32,5,0,27,20,14,159,80,158,36,50,
|
||||||
250,80,158,39,51,249,22,27,11,80,158,41,50,22,176,12,10,248,22,153,5,
|
250,80,158,39,51,249,22,27,11,80,158,41,50,22,177,12,10,248,22,154,5,
|
||||||
23,196,2,28,248,22,150,6,23,194,2,12,87,94,248,22,163,8,23,194,1,
|
23,196,2,28,248,22,151,6,23,194,2,12,87,94,248,22,164,8,23,194,1,
|
||||||
248,80,159,37,53,36,195,28,248,22,71,23,195,2,9,27,248,22,64,23,196,
|
248,80,159,37,53,36,195,28,248,22,71,23,195,2,9,27,248,22,64,23,196,
|
||||||
2,27,28,248,22,157,13,23,195,2,23,194,1,28,248,22,156,13,23,195,2,
|
2,27,28,248,22,158,13,23,195,2,23,194,1,28,248,22,157,13,23,195,2,
|
||||||
249,22,158,13,23,196,1,250,80,158,42,48,248,22,172,13,2,20,11,10,250,
|
249,22,159,13,23,196,1,250,80,158,42,48,248,22,173,13,2,20,11,10,250,
|
||||||
80,158,40,48,248,22,172,13,2,20,23,197,1,10,28,23,193,2,249,22,63,
|
80,158,40,48,248,22,173,13,2,20,23,197,1,10,28,23,193,2,249,22,63,
|
||||||
248,22,160,13,249,22,158,13,23,198,1,247,22,173,13,27,248,22,65,23,200,
|
248,22,161,13,249,22,159,13,23,198,1,247,22,174,13,27,248,22,65,23,200,
|
||||||
1,28,248,22,71,23,194,2,9,27,248,22,64,23,195,2,27,28,248,22,157,
|
1,28,248,22,71,23,194,2,9,27,248,22,64,23,195,2,27,28,248,22,158,
|
||||||
13,23,195,2,23,194,1,28,248,22,156,13,23,195,2,249,22,158,13,23,196,
|
13,23,195,2,23,194,1,28,248,22,157,13,23,195,2,249,22,159,13,23,196,
|
||||||
1,250,80,158,47,48,248,22,172,13,2,20,11,10,250,80,158,45,48,248,22,
|
1,250,80,158,47,48,248,22,173,13,2,20,11,10,250,80,158,45,48,248,22,
|
||||||
172,13,2,20,23,197,1,10,28,23,193,2,249,22,63,248,22,160,13,249,22,
|
173,13,2,20,23,197,1,10,28,23,193,2,249,22,63,248,22,161,13,249,22,
|
||||||
158,13,23,198,1,247,22,173,13,248,80,159,45,52,36,248,22,65,23,199,1,
|
159,13,23,198,1,247,22,174,13,248,80,159,45,52,36,248,22,65,23,199,1,
|
||||||
87,94,23,193,1,248,80,159,43,52,36,248,22,65,23,197,1,87,94,23,193,
|
87,94,23,193,1,248,80,159,43,52,36,248,22,65,23,197,1,87,94,23,193,
|
||||||
1,27,248,22,65,23,198,1,28,248,22,71,23,194,2,9,27,248,22,64,23,
|
1,27,248,22,65,23,198,1,28,248,22,71,23,194,2,9,27,248,22,64,23,
|
||||||
195,2,27,28,248,22,157,13,23,195,2,23,194,1,28,248,22,156,13,23,195,
|
195,2,27,28,248,22,158,13,23,195,2,23,194,1,28,248,22,157,13,23,195,
|
||||||
2,249,22,158,13,23,196,1,250,80,158,45,48,248,22,172,13,2,20,11,10,
|
2,249,22,159,13,23,196,1,250,80,158,45,48,248,22,173,13,2,20,11,10,
|
||||||
250,80,158,43,48,248,22,172,13,2,20,23,197,1,10,28,23,193,2,249,22,
|
250,80,158,43,48,248,22,173,13,2,20,23,197,1,10,28,23,193,2,249,22,
|
||||||
63,248,22,160,13,249,22,158,13,23,198,1,247,22,173,13,248,80,159,43,52,
|
63,248,22,161,13,249,22,159,13,23,198,1,247,22,174,13,248,80,159,43,52,
|
||||||
36,248,22,65,23,199,1,248,80,159,41,52,36,248,22,65,196,27,248,22,133,
|
36,248,22,65,23,199,1,248,80,159,41,52,36,248,22,65,196,27,248,22,134,
|
||||||
13,23,195,2,28,23,193,2,192,87,94,23,193,1,28,248,22,155,6,23,195,
|
13,23,195,2,28,23,193,2,192,87,94,23,193,1,28,248,22,156,6,23,195,
|
||||||
2,27,248,22,155,13,195,28,192,192,248,22,156,13,195,11,87,94,28,28,248,
|
2,27,248,22,156,13,195,28,192,192,248,22,157,13,195,11,87,94,28,28,248,
|
||||||
22,134,13,23,195,2,10,27,248,22,133,13,23,196,2,28,23,193,2,192,87,
|
22,135,13,23,195,2,10,27,248,22,134,13,23,196,2,28,23,193,2,192,87,
|
||||||
94,23,193,1,28,248,22,155,6,23,196,2,27,248,22,155,13,23,197,2,28,
|
94,23,193,1,28,248,22,156,6,23,196,2,27,248,22,156,13,23,197,2,28,
|
||||||
23,193,2,192,87,94,23,193,1,248,22,156,13,23,197,2,11,12,250,22,190,
|
23,193,2,192,87,94,23,193,1,248,22,157,13,23,197,2,11,12,250,22,191,
|
||||||
8,76,110,111,114,109,97,108,45,112,97,116,104,45,99,97,115,101,6,42,42,
|
8,76,110,111,114,109,97,108,45,112,97,116,104,45,99,97,115,101,6,42,42,
|
||||||
112,97,116,104,32,40,102,111,114,32,97,110,121,32,115,121,115,116,101,109,41,
|
112,97,116,104,32,40,102,111,114,32,97,110,121,32,115,121,115,116,101,109,41,
|
||||||
32,111,114,32,118,97,108,105,100,45,112,97,116,104,32,115,116,114,105,110,103,
|
32,111,114,32,118,97,108,105,100,45,112,97,116,104,32,115,116,114,105,110,103,
|
||||||
23,197,2,28,28,248,22,134,13,23,195,2,249,22,160,8,248,22,135,13,23,
|
23,197,2,28,28,248,22,135,13,23,195,2,249,22,161,8,248,22,136,13,23,
|
||||||
197,2,2,21,249,22,160,8,247,22,174,7,2,21,27,28,248,22,155,6,23,
|
197,2,2,21,249,22,161,8,247,22,175,7,2,21,27,28,248,22,156,6,23,
|
||||||
196,2,23,195,2,248,22,164,7,248,22,138,13,23,197,2,28,249,22,185,13,
|
196,2,23,195,2,248,22,165,7,248,22,139,13,23,197,2,28,249,22,186,13,
|
||||||
0,21,35,114,120,34,94,91,92,92,93,91,92,92,93,91,63,93,91,92,92,
|
0,21,35,114,120,34,94,91,92,92,93,91,92,92,93,91,63,93,91,92,92,
|
||||||
93,34,23,195,2,28,248,22,155,6,195,248,22,141,13,195,194,27,248,22,130,
|
93,34,23,195,2,28,248,22,156,6,195,248,22,142,13,195,194,27,248,22,131,
|
||||||
7,23,195,1,249,22,142,13,248,22,167,7,250,22,191,13,0,6,35,114,120,
|
7,23,195,1,249,22,143,13,248,22,168,7,250,22,128,14,0,6,35,114,120,
|
||||||
34,47,34,28,249,22,185,13,0,22,35,114,120,34,91,47,92,92,93,91,46,
|
34,47,34,28,249,22,186,13,0,22,35,114,120,34,91,47,92,92,93,91,46,
|
||||||
32,93,43,91,47,92,92,93,42,36,34,23,201,2,23,199,1,250,22,191,13,
|
32,93,43,91,47,92,92,93,42,36,34,23,201,2,23,199,1,250,22,128,14,
|
||||||
0,19,35,114,120,34,91,32,46,93,43,40,91,47,92,92,93,42,41,36,34,
|
0,19,35,114,120,34,91,32,46,93,43,40,91,47,92,92,93,42,41,36,34,
|
||||||
23,202,1,6,2,2,92,49,80,158,43,36,2,21,28,248,22,155,6,194,248,
|
23,202,1,6,2,2,92,49,80,158,43,36,2,21,28,248,22,156,6,194,248,
|
||||||
22,141,13,194,193,87,94,28,27,248,22,133,13,23,196,2,28,23,193,2,192,
|
22,142,13,194,193,87,94,28,27,248,22,134,13,23,196,2,28,23,193,2,192,
|
||||||
87,94,23,193,1,28,248,22,155,6,23,196,2,27,248,22,155,13,23,197,2,
|
87,94,23,193,1,28,248,22,156,6,23,196,2,27,248,22,156,13,23,197,2,
|
||||||
28,23,193,2,192,87,94,23,193,1,248,22,156,13,23,197,2,11,12,250,22,
|
28,23,193,2,192,87,94,23,193,1,248,22,157,13,23,197,2,11,12,250,22,
|
||||||
190,8,23,196,2,2,22,23,197,2,28,248,22,155,13,23,195,2,12,248,22,
|
191,8,23,196,2,2,22,23,197,2,28,248,22,156,13,23,195,2,12,248,22,
|
||||||
152,11,249,22,161,10,248,22,184,6,250,22,139,7,2,23,23,200,1,23,201,
|
153,11,249,22,162,10,248,22,185,6,250,22,140,7,2,23,23,200,1,23,201,
|
||||||
1,247,22,23,87,94,28,27,248,22,133,13,23,196,2,28,23,193,2,192,87,
|
1,247,22,23,87,94,28,27,248,22,134,13,23,196,2,28,23,193,2,192,87,
|
||||||
94,23,193,1,28,248,22,155,6,23,196,2,27,248,22,155,13,23,197,2,28,
|
94,23,193,1,28,248,22,156,6,23,196,2,27,248,22,156,13,23,197,2,28,
|
||||||
23,193,2,192,87,94,23,193,1,248,22,156,13,23,197,2,11,12,250,22,190,
|
23,193,2,192,87,94,23,193,1,248,22,157,13,23,197,2,11,12,250,22,191,
|
||||||
8,23,196,2,2,22,23,197,2,28,248,22,155,13,23,195,2,12,248,22,152,
|
8,23,196,2,2,22,23,197,2,28,248,22,156,13,23,195,2,12,248,22,153,
|
||||||
11,249,22,161,10,248,22,184,6,250,22,139,7,2,23,23,200,1,23,201,1,
|
11,249,22,162,10,248,22,185,6,250,22,140,7,2,23,23,200,1,23,201,1,
|
||||||
247,22,23,87,94,87,94,28,27,248,22,133,13,23,196,2,28,23,193,2,192,
|
247,22,23,87,94,87,94,28,27,248,22,134,13,23,196,2,28,23,193,2,192,
|
||||||
87,94,23,193,1,28,248,22,155,6,23,196,2,27,248,22,155,13,23,197,2,
|
87,94,23,193,1,28,248,22,156,6,23,196,2,27,248,22,156,13,23,197,2,
|
||||||
28,23,193,2,192,87,94,23,193,1,248,22,156,13,23,197,2,11,12,250,22,
|
28,23,193,2,192,87,94,23,193,1,248,22,157,13,23,197,2,11,12,250,22,
|
||||||
190,8,195,2,22,23,197,2,28,248,22,155,13,23,195,2,12,248,22,152,11,
|
191,8,195,2,22,23,197,2,28,248,22,156,13,23,195,2,12,248,22,153,11,
|
||||||
249,22,161,10,248,22,184,6,250,22,139,7,2,23,199,23,201,1,247,22,23,
|
249,22,162,10,248,22,185,6,250,22,140,7,2,23,199,23,201,1,247,22,23,
|
||||||
249,22,3,89,162,8,44,36,49,9,223,2,33,34,196,248,22,152,11,249,22,
|
249,22,3,89,162,8,44,36,49,9,223,2,33,34,196,248,22,153,11,249,22,
|
||||||
191,10,23,196,1,247,22,23,87,94,250,80,159,38,39,36,2,7,196,197,251,
|
128,11,23,196,1,247,22,23,87,94,250,80,159,38,39,36,2,7,196,197,251,
|
||||||
80,159,39,41,36,2,7,32,0,89,162,8,44,36,44,9,222,33,36,197,198,
|
80,159,39,41,36,2,7,32,0,89,162,8,44,36,44,9,222,33,36,197,198,
|
||||||
32,38,89,162,43,41,58,65,99,108,111,111,112,222,33,39,28,248,22,71,23,
|
32,38,89,162,43,41,58,65,99,108,111,111,112,222,33,39,28,248,22,71,23,
|
||||||
199,2,87,94,23,198,1,248,23,196,1,251,22,139,7,2,24,23,199,1,28,
|
199,2,87,94,23,198,1,248,23,196,1,251,22,140,7,2,24,23,199,1,28,
|
||||||
248,22,71,23,203,2,87,94,23,202,1,23,201,1,250,22,1,22,151,13,23,
|
248,22,71,23,203,2,87,94,23,202,1,23,201,1,250,22,1,22,152,13,23,
|
||||||
204,1,23,205,1,23,198,1,27,249,22,151,13,248,22,64,23,202,2,23,199,
|
204,1,23,205,1,23,198,1,27,249,22,152,13,248,22,64,23,202,2,23,199,
|
||||||
2,28,248,22,146,13,23,194,2,27,250,22,1,22,151,13,23,197,1,23,202,
|
2,28,248,22,147,13,23,194,2,27,250,22,1,22,152,13,23,197,1,23,202,
|
||||||
2,28,248,22,146,13,23,194,2,192,87,94,23,193,1,27,248,22,65,23,202,
|
2,28,248,22,147,13,23,194,2,192,87,94,23,193,1,27,248,22,65,23,202,
|
||||||
1,28,248,22,71,23,194,2,87,94,23,193,1,248,23,199,1,251,22,139,7,
|
1,28,248,22,71,23,194,2,87,94,23,193,1,248,23,199,1,251,22,140,7,
|
||||||
2,24,23,202,1,28,248,22,71,23,206,2,87,94,23,205,1,23,204,1,250,
|
2,24,23,202,1,28,248,22,71,23,206,2,87,94,23,205,1,23,204,1,250,
|
||||||
22,1,22,151,13,23,207,1,23,208,1,23,201,1,27,249,22,151,13,248,22,
|
22,1,22,152,13,23,207,1,23,208,1,23,201,1,27,249,22,152,13,248,22,
|
||||||
64,23,197,2,23,202,2,28,248,22,146,13,23,194,2,27,250,22,1,22,151,
|
64,23,197,2,23,202,2,28,248,22,147,13,23,194,2,27,250,22,1,22,152,
|
||||||
13,23,197,1,204,28,248,22,146,13,193,192,253,2,38,203,204,205,206,23,15,
|
13,23,197,1,204,28,248,22,147,13,193,192,253,2,38,203,204,205,206,23,15,
|
||||||
248,22,65,201,253,2,38,202,203,204,205,206,248,22,65,200,87,94,23,193,1,
|
248,22,65,201,253,2,38,202,203,204,205,206,248,22,65,200,87,94,23,193,1,
|
||||||
27,248,22,65,23,201,1,28,248,22,71,23,194,2,87,94,23,193,1,248,23,
|
27,248,22,65,23,201,1,28,248,22,71,23,194,2,87,94,23,193,1,248,23,
|
||||||
198,1,251,22,139,7,2,24,23,201,1,28,248,22,71,23,205,2,87,94,23,
|
198,1,251,22,140,7,2,24,23,201,1,28,248,22,71,23,205,2,87,94,23,
|
||||||
204,1,23,203,1,250,22,1,22,151,13,23,206,1,23,207,1,23,200,1,27,
|
204,1,23,203,1,250,22,1,22,152,13,23,206,1,23,207,1,23,200,1,27,
|
||||||
249,22,151,13,248,22,64,23,197,2,23,201,2,28,248,22,146,13,23,194,2,
|
249,22,152,13,248,22,64,23,197,2,23,201,2,28,248,22,147,13,23,194,2,
|
||||||
27,250,22,1,22,151,13,23,197,1,203,28,248,22,146,13,193,192,253,2,38,
|
27,250,22,1,22,152,13,23,197,1,203,28,248,22,147,13,193,192,253,2,38,
|
||||||
202,203,204,205,206,248,22,65,201,253,2,38,201,202,203,204,205,248,22,65,200,
|
202,203,204,205,206,248,22,65,201,253,2,38,201,202,203,204,205,248,22,65,200,
|
||||||
27,247,22,174,13,253,2,38,198,199,200,201,202,198,87,95,28,28,248,22,134,
|
27,247,22,175,13,253,2,38,198,199,200,201,202,198,87,95,28,28,248,22,135,
|
||||||
13,23,194,2,10,27,248,22,133,13,23,195,2,28,23,193,2,192,87,94,23,
|
13,23,194,2,10,27,248,22,134,13,23,195,2,28,23,193,2,192,87,94,23,
|
||||||
193,1,28,248,22,155,6,23,195,2,27,248,22,155,13,23,196,2,28,23,193,
|
193,1,28,248,22,156,6,23,195,2,27,248,22,156,13,23,196,2,28,23,193,
|
||||||
2,192,87,94,23,193,1,248,22,156,13,23,196,2,11,12,252,22,190,8,23,
|
2,192,87,94,23,193,1,248,22,157,13,23,196,2,11,12,252,22,191,8,23,
|
||||||
200,2,2,25,35,23,198,2,23,199,2,28,28,248,22,155,6,23,195,2,10,
|
200,2,2,25,35,23,198,2,23,199,2,28,28,248,22,156,6,23,195,2,10,
|
||||||
248,22,143,7,23,195,2,87,94,23,194,1,12,252,22,190,8,23,200,2,2,
|
248,22,144,7,23,195,2,87,94,23,194,1,12,252,22,191,8,23,200,2,2,
|
||||||
26,36,23,198,2,23,199,1,91,159,38,11,90,161,38,35,11,248,22,154,13,
|
26,36,23,198,2,23,199,1,91,159,38,11,90,161,38,35,11,248,22,155,13,
|
||||||
23,197,2,87,94,23,195,1,87,94,28,192,12,250,22,191,8,23,201,1,2,
|
23,197,2,87,94,23,195,1,87,94,28,192,12,250,22,128,9,23,201,1,2,
|
||||||
27,23,199,1,249,22,7,194,195,91,159,37,11,90,161,37,35,11,87,95,28,
|
27,23,199,1,249,22,7,194,195,91,159,37,11,90,161,37,35,11,87,95,28,
|
||||||
28,248,22,134,13,23,196,2,10,27,248,22,133,13,23,197,2,28,23,193,2,
|
28,248,22,135,13,23,196,2,10,27,248,22,134,13,23,197,2,28,23,193,2,
|
||||||
192,87,94,23,193,1,28,248,22,155,6,23,197,2,27,248,22,155,13,23,198,
|
192,87,94,23,193,1,28,248,22,156,6,23,197,2,27,248,22,156,13,23,198,
|
||||||
2,28,23,193,2,192,87,94,23,193,1,248,22,156,13,23,198,2,11,12,252,
|
2,28,23,193,2,192,87,94,23,193,1,248,22,157,13,23,198,2,11,12,252,
|
||||||
22,190,8,2,10,2,25,35,23,200,2,23,201,2,28,28,248,22,155,6,23,
|
22,191,8,2,10,2,25,35,23,200,2,23,201,2,28,28,248,22,156,6,23,
|
||||||
197,2,10,248,22,143,7,23,197,2,12,252,22,190,8,2,10,2,26,36,23,
|
197,2,10,248,22,144,7,23,197,2,12,252,22,191,8,2,10,2,26,36,23,
|
||||||
200,2,23,201,2,91,159,38,11,90,161,38,35,11,248,22,154,13,23,199,2,
|
200,2,23,201,2,91,159,38,11,90,161,38,35,11,248,22,155,13,23,199,2,
|
||||||
87,94,23,195,1,87,94,28,23,193,2,12,250,22,191,8,2,10,2,27,23,
|
87,94,23,195,1,87,94,28,23,193,2,12,250,22,128,9,2,10,2,27,23,
|
||||||
201,2,249,22,7,23,195,1,23,196,1,27,249,22,143,13,250,22,190,13,0,
|
201,2,249,22,7,23,195,1,23,196,1,27,249,22,144,13,250,22,191,13,0,
|
||||||
18,35,114,120,35,34,40,91,46,93,91,94,46,93,42,124,41,36,34,248,22,
|
18,35,114,120,35,34,40,91,46,93,91,94,46,93,42,124,41,36,34,248,22,
|
||||||
139,13,23,201,1,28,248,22,155,6,23,203,2,249,22,167,7,23,204,1,8,
|
140,13,23,201,1,28,248,22,156,6,23,203,2,249,22,168,7,23,204,1,8,
|
||||||
63,23,202,1,28,248,22,134,13,23,199,2,248,22,135,13,23,199,1,87,94,
|
63,23,202,1,28,248,22,135,13,23,199,2,248,22,136,13,23,199,1,87,94,
|
||||||
23,198,1,247,22,136,13,28,248,22,133,13,194,249,22,151,13,195,194,192,91,
|
23,198,1,247,22,137,13,28,248,22,134,13,194,249,22,152,13,195,194,192,91,
|
||||||
159,37,11,90,161,37,35,11,87,95,28,28,248,22,134,13,23,196,2,10,27,
|
159,37,11,90,161,37,35,11,87,95,28,28,248,22,135,13,23,196,2,10,27,
|
||||||
248,22,133,13,23,197,2,28,23,193,2,192,87,94,23,193,1,28,248,22,155,
|
248,22,134,13,23,197,2,28,23,193,2,192,87,94,23,193,1,28,248,22,156,
|
||||||
6,23,197,2,27,248,22,155,13,23,198,2,28,23,193,2,192,87,94,23,193,
|
6,23,197,2,27,248,22,156,13,23,198,2,28,23,193,2,192,87,94,23,193,
|
||||||
1,248,22,156,13,23,198,2,11,12,252,22,190,8,2,11,2,25,35,23,200,
|
1,248,22,157,13,23,198,2,11,12,252,22,191,8,2,11,2,25,35,23,200,
|
||||||
2,23,201,2,28,28,248,22,155,6,23,197,2,10,248,22,143,7,23,197,2,
|
2,23,201,2,28,28,248,22,156,6,23,197,2,10,248,22,144,7,23,197,2,
|
||||||
12,252,22,190,8,2,11,2,26,36,23,200,2,23,201,2,91,159,38,11,90,
|
12,252,22,191,8,2,11,2,26,36,23,200,2,23,201,2,91,159,38,11,90,
|
||||||
161,38,35,11,248,22,154,13,23,199,2,87,94,23,195,1,87,94,28,23,193,
|
161,38,35,11,248,22,155,13,23,199,2,87,94,23,195,1,87,94,28,23,193,
|
||||||
2,12,250,22,191,8,2,11,2,27,23,201,2,249,22,7,23,195,1,23,196,
|
2,12,250,22,128,9,2,11,2,27,23,201,2,249,22,7,23,195,1,23,196,
|
||||||
1,27,249,22,143,13,249,22,153,7,250,22,191,13,0,9,35,114,120,35,34,
|
1,27,249,22,144,13,249,22,154,7,250,22,128,14,0,9,35,114,120,35,34,
|
||||||
91,46,93,34,248,22,139,13,23,203,1,6,1,1,95,28,248,22,155,6,23,
|
91,46,93,34,248,22,140,13,23,203,1,6,1,1,95,28,248,22,156,6,23,
|
||||||
202,2,249,22,167,7,23,203,1,8,63,23,201,1,28,248,22,134,13,23,199,
|
202,2,249,22,168,7,23,203,1,8,63,23,201,1,28,248,22,135,13,23,199,
|
||||||
2,248,22,135,13,23,199,1,87,94,23,198,1,247,22,136,13,28,248,22,133,
|
2,248,22,136,13,23,199,1,87,94,23,198,1,247,22,137,13,28,248,22,134,
|
||||||
13,194,249,22,151,13,195,194,192,249,247,22,186,4,194,11,249,80,158,37,46,
|
13,194,249,22,152,13,195,194,192,249,247,22,187,4,194,11,249,80,158,37,46,
|
||||||
9,9,249,80,158,37,46,195,9,27,247,22,176,13,249,80,158,38,47,28,23,
|
9,9,249,80,158,37,46,195,9,27,247,22,177,13,249,80,158,38,47,28,23,
|
||||||
195,2,27,248,22,172,7,6,11,11,80,76,84,67,79,76,76,69,67,84,83,
|
195,2,27,248,22,173,7,6,11,11,80,76,84,67,79,76,76,69,67,84,83,
|
||||||
28,192,192,6,0,0,6,0,0,27,28,23,196,1,250,22,151,13,248,22,172,
|
28,192,192,6,0,0,6,0,0,27,28,23,196,1,250,22,152,13,248,22,173,
|
||||||
13,69,97,100,100,111,110,45,100,105,114,247,22,170,7,6,8,8,99,111,108,
|
13,69,97,100,100,111,110,45,100,105,114,247,22,171,7,6,8,8,99,111,108,
|
||||||
108,101,99,116,115,11,27,248,80,159,41,52,36,250,22,77,23,203,1,248,22,
|
108,101,99,116,115,11,27,248,80,159,41,52,36,250,22,77,23,203,1,248,22,
|
||||||
73,248,22,172,13,72,99,111,108,108,101,99,116,115,45,100,105,114,23,204,1,
|
73,248,22,173,13,72,99,111,108,108,101,99,116,115,45,100,105,114,23,204,1,
|
||||||
28,23,194,2,249,22,63,23,196,1,23,195,1,192,32,48,89,162,8,44,38,
|
28,23,194,2,249,22,63,23,196,1,23,195,1,192,32,48,89,162,8,44,38,
|
||||||
54,2,19,222,33,49,27,249,22,183,13,23,197,2,23,198,2,28,23,193,2,
|
54,2,19,222,33,49,27,249,22,184,13,23,197,2,23,198,2,28,23,193,2,
|
||||||
87,94,23,196,1,27,248,22,88,23,195,2,27,27,248,22,97,23,197,1,27,
|
87,94,23,196,1,27,248,22,88,23,195,2,27,27,248,22,97,23,197,1,27,
|
||||||
249,22,183,13,23,201,2,23,196,2,28,23,193,2,87,94,23,194,1,27,248,
|
249,22,184,13,23,201,2,23,196,2,28,23,193,2,87,94,23,194,1,27,248,
|
||||||
22,88,23,195,2,27,250,2,48,23,203,2,23,204,1,248,22,97,23,199,1,
|
22,88,23,195,2,27,250,2,48,23,203,2,23,204,1,248,22,97,23,199,1,
|
||||||
28,249,22,149,7,23,196,2,2,28,249,22,77,23,202,2,194,249,22,63,248,
|
28,249,22,150,7,23,196,2,2,28,249,22,77,23,202,2,194,249,22,63,248,
|
||||||
22,142,13,23,197,1,23,195,1,87,95,23,199,1,23,193,1,28,249,22,149,
|
22,143,13,23,197,1,23,195,1,87,95,23,199,1,23,193,1,28,249,22,150,
|
||||||
7,23,196,2,2,28,249,22,77,23,200,2,9,249,22,63,248,22,142,13,23,
|
7,23,196,2,2,28,249,22,77,23,200,2,9,249,22,63,248,22,143,13,23,
|
||||||
197,1,9,28,249,22,149,7,23,196,2,2,28,249,22,77,197,194,87,94,23,
|
197,1,9,28,249,22,150,7,23,196,2,2,28,249,22,77,197,194,87,94,23,
|
||||||
196,1,249,22,63,248,22,142,13,23,197,1,194,87,94,23,193,1,28,249,22,
|
196,1,249,22,63,248,22,143,13,23,197,1,194,87,94,23,193,1,28,249,22,
|
||||||
149,7,23,198,2,2,28,249,22,77,195,9,87,94,23,194,1,249,22,63,248,
|
150,7,23,198,2,2,28,249,22,77,195,9,87,94,23,194,1,249,22,63,248,
|
||||||
22,142,13,23,199,1,9,87,95,28,28,248,22,143,7,194,10,248,22,155,6,
|
22,143,13,23,199,1,9,87,95,28,28,248,22,144,7,194,10,248,22,156,6,
|
||||||
194,12,250,22,190,8,2,14,6,21,21,98,121,116,101,32,115,116,114,105,110,
|
194,12,250,22,191,8,2,14,6,21,21,98,121,116,101,32,115,116,114,105,110,
|
||||||
103,32,111,114,32,115,116,114,105,110,103,196,28,28,248,22,72,195,249,22,4,
|
103,32,111,114,32,115,116,114,105,110,103,196,28,28,248,22,72,195,249,22,4,
|
||||||
22,133,13,196,11,12,250,22,190,8,2,14,6,13,13,108,105,115,116,32,111,
|
22,134,13,196,11,12,250,22,191,8,2,14,6,13,13,108,105,115,116,32,111,
|
||||||
102,32,112,97,116,104,115,197,250,2,48,197,195,28,248,22,155,6,197,248,22,
|
102,32,112,97,116,104,115,197,250,2,48,197,195,28,248,22,156,6,197,248,22,
|
||||||
166,7,197,196,32,51,89,162,8,44,39,57,2,19,222,33,54,32,52,89,162,
|
167,7,197,196,32,51,89,162,8,44,39,57,2,19,222,33,54,32,52,89,162,
|
||||||
8,44,38,54,70,102,111,117,110,100,45,101,120,101,99,222,33,53,28,23,193,
|
8,44,38,54,70,102,111,117,110,100,45,101,120,101,99,222,33,53,28,23,193,
|
||||||
2,91,159,38,11,90,161,38,35,11,248,22,154,13,23,199,2,87,95,23,195,
|
2,91,159,38,11,90,161,38,35,11,248,22,155,13,23,199,2,87,95,23,195,
|
||||||
1,23,194,1,27,28,23,198,2,27,248,22,159,13,23,201,2,28,249,22,162,
|
1,23,194,1,27,28,23,198,2,27,248,22,160,13,23,201,2,28,249,22,163,
|
||||||
8,23,195,2,23,202,2,11,28,248,22,155,13,23,194,2,250,2,52,23,201,
|
8,23,195,2,23,202,2,11,28,248,22,156,13,23,194,2,250,2,52,23,201,
|
||||||
2,23,202,2,249,22,151,13,23,200,2,23,198,1,250,2,52,23,201,2,23,
|
2,23,202,2,249,22,152,13,23,200,2,23,198,1,250,2,52,23,201,2,23,
|
||||||
202,2,23,196,1,11,28,23,193,2,192,87,94,23,193,1,27,28,248,22,133,
|
202,2,23,196,1,11,28,23,193,2,192,87,94,23,193,1,27,28,248,22,134,
|
||||||
13,23,196,2,27,249,22,151,13,23,198,2,23,201,2,28,28,248,22,146,13,
|
13,23,196,2,27,249,22,152,13,23,198,2,23,201,2,28,28,248,22,147,13,
|
||||||
193,10,248,22,145,13,193,192,11,11,28,23,193,2,192,87,94,23,193,1,28,
|
193,10,248,22,146,13,193,192,11,11,28,23,193,2,192,87,94,23,193,1,28,
|
||||||
23,199,2,11,27,248,22,159,13,23,202,2,28,249,22,162,8,23,195,2,23,
|
23,199,2,11,27,248,22,160,13,23,202,2,28,249,22,163,8,23,195,2,23,
|
||||||
203,1,11,28,248,22,155,13,23,194,2,250,2,52,23,202,1,23,203,1,249,
|
203,1,11,28,248,22,156,13,23,194,2,250,2,52,23,202,1,23,203,1,249,
|
||||||
22,151,13,23,201,1,23,198,1,250,2,52,201,202,195,194,28,248,22,71,23,
|
22,152,13,23,201,1,23,198,1,250,2,52,201,202,195,194,28,248,22,71,23,
|
||||||
197,2,11,27,248,22,158,13,248,22,64,23,199,2,27,249,22,151,13,23,196,
|
197,2,11,27,248,22,159,13,248,22,64,23,199,2,27,249,22,152,13,23,196,
|
||||||
1,23,197,2,28,248,22,145,13,23,194,2,250,2,52,198,199,195,87,94,23,
|
1,23,197,2,28,248,22,146,13,23,194,2,250,2,52,198,199,195,87,94,23,
|
||||||
193,1,27,248,22,65,23,200,1,28,248,22,71,23,194,2,11,27,248,22,158,
|
193,1,27,248,22,65,23,200,1,28,248,22,71,23,194,2,11,27,248,22,159,
|
||||||
13,248,22,64,23,196,2,27,249,22,151,13,23,196,1,23,200,2,28,248,22,
|
13,248,22,64,23,196,2,27,249,22,152,13,23,196,1,23,200,2,28,248,22,
|
||||||
145,13,23,194,2,250,2,52,201,202,195,87,94,23,193,1,27,248,22,65,23,
|
146,13,23,194,2,250,2,52,201,202,195,87,94,23,193,1,27,248,22,65,23,
|
||||||
197,1,28,248,22,71,23,194,2,11,27,248,22,158,13,248,22,64,195,27,249,
|
197,1,28,248,22,71,23,194,2,11,27,248,22,159,13,248,22,64,195,27,249,
|
||||||
22,151,13,23,196,1,202,28,248,22,145,13,193,250,2,52,204,205,195,251,2,
|
22,152,13,23,196,1,202,28,248,22,146,13,193,250,2,52,204,205,195,251,2,
|
||||||
51,204,205,206,248,22,65,199,87,95,28,27,248,22,133,13,23,196,2,28,23,
|
51,204,205,206,248,22,65,199,87,95,28,27,248,22,134,13,23,196,2,28,23,
|
||||||
193,2,192,87,94,23,193,1,28,248,22,155,6,23,196,2,27,248,22,155,13,
|
193,2,192,87,94,23,193,1,28,248,22,156,6,23,196,2,27,248,22,156,13,
|
||||||
23,197,2,28,23,193,2,192,87,94,23,193,1,248,22,156,13,23,197,2,11,
|
23,197,2,28,23,193,2,192,87,94,23,193,1,248,22,157,13,23,197,2,11,
|
||||||
12,250,22,190,8,2,15,6,25,25,112,97,116,104,32,111,114,32,115,116,114,
|
12,250,22,191,8,2,15,6,25,25,112,97,116,104,32,111,114,32,115,116,114,
|
||||||
105,110,103,32,40,115,97,110,115,32,110,117,108,41,23,197,2,28,28,23,195,
|
105,110,103,32,40,115,97,110,115,32,110,117,108,41,23,197,2,28,28,23,195,
|
||||||
2,28,27,248,22,133,13,23,197,2,28,23,193,2,192,87,94,23,193,1,28,
|
2,28,27,248,22,134,13,23,197,2,28,23,193,2,192,87,94,23,193,1,28,
|
||||||
248,22,155,6,23,197,2,27,248,22,155,13,23,198,2,28,23,193,2,192,87,
|
248,22,156,6,23,197,2,27,248,22,156,13,23,198,2,28,23,193,2,192,87,
|
||||||
94,23,193,1,248,22,156,13,23,198,2,11,248,22,155,13,23,196,2,11,10,
|
94,23,193,1,248,22,157,13,23,198,2,11,248,22,156,13,23,196,2,11,10,
|
||||||
12,250,22,190,8,2,15,6,29,29,35,102,32,111,114,32,114,101,108,97,116,
|
12,250,22,191,8,2,15,6,29,29,35,102,32,111,114,32,114,101,108,97,116,
|
||||||
105,118,101,32,112,97,116,104,32,111,114,32,115,116,114,105,110,103,23,198,2,
|
105,118,101,32,112,97,116,104,32,111,114,32,115,116,114,105,110,103,23,198,2,
|
||||||
28,28,248,22,155,13,23,195,2,91,159,38,11,90,161,38,35,11,248,22,154,
|
28,28,248,22,156,13,23,195,2,91,159,38,11,90,161,38,35,11,248,22,155,
|
||||||
13,23,198,2,249,22,160,8,194,68,114,101,108,97,116,105,118,101,11,27,248,
|
13,23,198,2,249,22,161,8,194,68,114,101,108,97,116,105,118,101,11,27,248,
|
||||||
22,172,7,6,4,4,80,65,84,72,251,2,51,23,199,1,23,200,1,23,201,
|
22,173,7,6,4,4,80,65,84,72,251,2,51,23,199,1,23,200,1,23,201,
|
||||||
1,28,23,197,2,27,249,80,158,43,47,23,200,1,9,28,249,22,160,8,247,
|
1,28,23,197,2,27,249,80,158,43,47,23,200,1,9,28,249,22,161,8,247,
|
||||||
22,174,7,2,21,249,22,63,248,22,142,13,5,1,46,23,195,1,192,9,27,
|
22,175,7,2,21,249,22,63,248,22,143,13,5,1,46,23,195,1,192,9,27,
|
||||||
248,22,158,13,23,196,1,28,248,22,145,13,193,250,2,52,198,199,195,11,250,
|
248,22,159,13,23,196,1,28,248,22,146,13,193,250,2,52,198,199,195,11,250,
|
||||||
80,158,38,48,196,197,11,250,80,158,38,48,196,11,11,87,94,249,22,146,6,
|
80,158,38,48,196,197,11,250,80,158,38,48,196,11,11,87,94,249,22,147,6,
|
||||||
247,22,182,4,195,248,22,172,5,249,22,169,3,35,249,22,153,3,197,198,27,
|
247,22,183,4,195,248,22,173,5,249,22,169,3,35,249,22,153,3,197,198,27,
|
||||||
28,23,197,2,87,95,23,196,1,23,195,1,23,197,1,87,94,23,197,1,27,
|
28,23,197,2,87,95,23,196,1,23,195,1,23,197,1,87,94,23,197,1,27,
|
||||||
248,22,172,13,2,20,27,249,80,158,40,48,23,196,1,11,27,27,248,22,172,
|
248,22,173,13,2,20,27,249,80,158,40,48,23,196,1,11,27,27,248,22,172,
|
||||||
3,23,200,1,28,192,192,35,27,27,248,22,172,3,23,202,1,28,192,192,35,
|
3,23,200,1,28,192,192,35,27,27,248,22,172,3,23,202,1,28,192,192,35,
|
||||||
249,22,149,5,23,197,1,83,158,39,20,97,95,89,162,8,44,35,47,9,224,
|
249,22,150,5,23,197,1,83,158,39,20,97,95,89,162,8,44,35,47,9,224,
|
||||||
3,2,33,58,23,195,1,23,196,1,27,248,22,134,5,23,195,1,248,80,159,
|
3,2,33,58,23,195,1,23,196,1,27,248,22,135,5,23,195,1,248,80,159,
|
||||||
38,53,36,193,159,35,20,103,159,35,16,1,65,98,101,103,105,110,16,0,83,
|
38,53,36,193,159,35,20,103,159,35,16,1,65,98,101,103,105,110,16,0,83,
|
||||||
158,41,20,100,138,67,35,37,117,116,105,108,115,2,1,11,11,10,10,42,80,
|
158,41,20,100,138,67,35,37,117,116,105,108,115,2,1,11,11,10,10,42,80,
|
||||||
158,35,35,20,103,159,37,16,17,30,2,1,2,2,193,30,2,1,2,3,193,
|
158,35,35,20,103,159,37,16,17,30,2,1,2,2,193,30,2,1,2,3,193,
|
||||||
|
@ -319,7 +319,7 @@
|
||||||
0,16,0,16,0,35,35,16,0,16,17,83,158,35,16,2,89,162,43,36,48,
|
0,16,0,16,0,35,35,16,0,16,17,83,158,35,16,2,89,162,43,36,48,
|
||||||
2,19,223,0,33,29,80,159,35,53,36,83,158,35,16,2,89,162,8,44,36,
|
2,19,223,0,33,29,80,159,35,53,36,83,158,35,16,2,89,162,8,44,36,
|
||||||
55,2,19,223,0,33,30,80,159,35,52,36,83,158,35,16,2,32,0,89,162,
|
55,2,19,223,0,33,30,80,159,35,52,36,83,158,35,16,2,32,0,89,162,
|
||||||
43,36,44,2,2,222,33,31,80,159,35,35,36,83,158,35,16,2,249,22,157,
|
43,36,44,2,2,222,33,31,80,159,35,35,36,83,158,35,16,2,249,22,158,
|
||||||
6,7,92,7,92,80,159,35,36,36,83,158,35,16,2,89,162,43,36,53,2,
|
6,7,92,7,92,80,159,35,36,36,83,158,35,16,2,89,162,43,36,53,2,
|
||||||
4,223,0,33,32,80,159,35,37,36,83,158,35,16,2,32,0,89,162,8,44,
|
4,223,0,33,32,80,159,35,37,36,83,158,35,16,2,32,0,89,162,8,44,
|
||||||
37,49,2,5,222,33,33,80,159,35,38,36,83,158,35,16,2,32,0,89,162,
|
37,49,2,5,222,33,33,80,159,35,38,36,83,158,35,16,2,32,0,89,162,
|
||||||
|
@ -332,8 +332,8 @@
|
||||||
35,16,2,32,0,89,162,43,36,43,2,12,222,33,44,80,159,35,45,36,83,
|
35,16,2,32,0,89,162,43,36,43,2,12,222,33,44,80,159,35,45,36,83,
|
||||||
158,35,16,2,83,158,38,20,96,96,2,13,89,162,43,35,43,9,223,0,33,
|
158,35,16,2,83,158,38,20,96,96,2,13,89,162,43,35,43,9,223,0,33,
|
||||||
45,89,162,43,36,44,9,223,0,33,46,89,162,43,37,54,9,223,0,33,47,
|
45,89,162,43,36,44,9,223,0,33,46,89,162,43,37,54,9,223,0,33,47,
|
||||||
80,159,35,46,36,83,158,35,16,2,27,248,22,179,13,248,22,166,7,27,28,
|
80,159,35,46,36,83,158,35,16,2,27,248,22,180,13,248,22,167,7,27,28,
|
||||||
249,22,160,8,247,22,174,7,2,21,6,1,1,59,6,1,1,58,250,22,139,
|
249,22,161,8,247,22,175,7,2,21,6,1,1,59,6,1,1,58,250,22,140,
|
||||||
7,6,14,14,40,91,94,126,97,93,42,41,126,97,40,46,42,41,23,196,2,
|
7,6,14,14,40,91,94,126,97,93,42,41,126,97,40,46,42,41,23,196,2,
|
||||||
23,196,1,89,162,8,44,37,47,2,14,223,0,33,50,80,159,35,47,36,83,
|
23,196,1,89,162,8,44,37,47,2,14,223,0,33,50,80,159,35,47,36,83,
|
||||||
158,35,16,2,83,158,38,20,96,96,2,15,89,162,8,44,38,53,9,223,0,
|
158,35,16,2,83,158,38,20,96,96,2,15,89,162,8,44,38,53,9,223,0,
|
||||||
|
@ -344,7 +344,7 @@
|
||||||
EVAL_ONE_SIZED_STR((char *)expr, 5080);
|
EVAL_ONE_SIZED_STR((char *)expr, 5080);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,49,46,50,8,0,0,0,1,0,0,6,0,19,0,
|
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,49,46,51,8,0,0,0,1,0,0,6,0,19,0,
|
||||||
34,0,48,0,62,0,76,0,111,0,0,0,255,0,0,0,65,113,117,111,116,
|
34,0,48,0,62,0,76,0,111,0,0,0,255,0,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,
|
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,
|
110,101,116,119,111,114,107,11,29,94,2,1,68,35,37,112,97,114,97,109,122,
|
||||||
|
@ -361,7 +361,7 @@
|
||||||
EVAL_ONE_SIZED_STR((char *)expr, 292);
|
EVAL_ONE_SIZED_STR((char *)expr, 292);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,49,46,50,52,0,0,0,1,0,0,3,0,14,0,
|
static MZCOMPILED_STRING_FAR unsigned char expr[] = {35,126,7,52,46,49,46,49,46,51,52,0,0,0,1,0,0,3,0,14,0,
|
||||||
41,0,47,0,60,0,74,0,96,0,122,0,134,0,152,0,172,0,184,0,200,
|
41,0,47,0,60,0,74,0,96,0,122,0,134,0,152,0,172,0,184,0,200,
|
||||||
0,223,0,3,1,8,1,13,1,18,1,23,1,54,1,58,1,66,1,74,1,
|
0,223,0,3,1,8,1,13,1,18,1,23,1,54,1,58,1,66,1,74,1,
|
||||||
82,1,185,1,230,1,250,1,29,2,64,2,98,2,108,2,155,2,165,2,172,
|
82,1,185,1,230,1,250,1,29,2,64,2,98,2,108,2,155,2,165,2,172,
|
||||||
|
@ -383,31 +383,31 @@
|
||||||
64,108,111,111,112,1,29,115,116,97,110,100,97,114,100,45,109,111,100,117,108,
|
64,108,111,111,112,1,29,115,116,97,110,100,97,114,100,45,109,111,100,117,108,
|
||||||
101,45,110,97,109,101,45,114,101,115,111,108,118,101,114,63,108,105,98,67,105,
|
101,45,110,97,109,101,45,114,101,115,111,108,118,101,114,63,108,105,98,67,105,
|
||||||
103,110,111,114,101,100,249,22,14,195,80,158,37,45,249,80,159,37,48,36,195,
|
103,110,111,114,101,100,249,22,14,195,80,158,37,45,249,80,159,37,48,36,195,
|
||||||
10,27,28,23,195,2,28,249,22,160,8,23,197,2,80,158,38,46,87,94,23,
|
10,27,28,23,195,2,28,249,22,161,8,23,197,2,80,158,38,46,87,94,23,
|
||||||
195,1,80,158,36,47,27,248,22,169,4,23,197,2,28,248,22,133,13,23,194,
|
195,1,80,158,36,47,27,248,22,170,4,23,197,2,28,248,22,134,13,23,194,
|
||||||
2,91,159,38,11,90,161,38,35,11,248,22,154,13,23,197,1,87,95,83,160,
|
2,91,159,38,11,90,161,38,35,11,248,22,155,13,23,197,1,87,95,83,160,
|
||||||
37,11,80,158,40,46,198,83,160,37,11,80,158,40,47,192,192,11,11,28,23,
|
37,11,80,158,40,46,198,83,160,37,11,80,158,40,47,192,192,11,11,28,23,
|
||||||
193,2,192,87,94,23,193,1,27,247,22,187,4,28,192,192,247,22,173,13,20,
|
193,2,192,87,94,23,193,1,27,247,22,188,4,28,192,192,247,22,174,13,20,
|
||||||
14,159,80,158,35,39,250,80,158,38,40,249,22,27,11,80,158,40,39,22,187,
|
14,159,80,158,35,39,250,80,158,38,40,249,22,27,11,80,158,40,39,22,188,
|
||||||
4,28,248,22,133,13,23,198,2,23,197,1,87,94,23,197,1,247,22,173,13,
|
4,28,248,22,134,13,23,198,2,23,197,1,87,94,23,197,1,247,22,174,13,
|
||||||
247,194,250,22,151,13,23,197,1,23,199,1,249,80,158,42,38,23,198,1,2,
|
247,194,250,22,152,13,23,197,1,23,199,1,249,80,158,42,38,23,198,1,2,
|
||||||
18,252,22,151,13,23,199,1,23,201,1,6,6,6,110,97,116,105,118,101,247,
|
18,252,22,152,13,23,199,1,23,201,1,6,6,6,110,97,116,105,118,101,247,
|
||||||
22,175,7,249,80,158,44,38,23,200,1,80,158,44,35,87,94,23,194,1,27,
|
22,176,7,249,80,158,44,38,23,200,1,80,158,44,35,87,94,23,194,1,27,
|
||||||
23,194,1,27,250,22,168,13,196,11,32,0,89,162,8,44,35,40,9,222,11,
|
23,194,1,27,250,22,169,13,196,11,32,0,89,162,8,44,35,40,9,222,11,
|
||||||
28,192,249,22,63,195,194,11,27,248,23,195,1,23,196,1,27,250,22,168,13,
|
28,192,249,22,63,195,194,11,27,248,23,195,1,23,196,1,27,250,22,169,13,
|
||||||
196,11,32,0,89,162,8,44,35,40,9,222,11,28,192,249,22,63,195,194,11,
|
196,11,32,0,89,162,8,44,35,40,9,222,11,28,192,249,22,63,195,194,11,
|
||||||
249,247,22,178,13,248,22,64,195,195,27,250,22,151,13,23,198,1,23,200,1,
|
249,247,22,179,13,248,22,64,195,195,27,250,22,152,13,23,198,1,23,200,1,
|
||||||
249,80,158,43,38,23,199,1,2,18,27,250,22,168,13,196,11,32,0,89,162,
|
249,80,158,43,38,23,199,1,2,18,27,250,22,169,13,196,11,32,0,89,162,
|
||||||
8,44,35,40,9,222,11,28,192,249,22,63,195,194,11,249,247,22,185,4,248,
|
8,44,35,40,9,222,11,28,192,249,22,63,195,194,11,249,247,22,186,4,248,
|
||||||
22,64,195,195,249,247,22,185,4,194,195,87,94,28,248,80,158,36,37,23,195,
|
22,64,195,195,249,247,22,186,4,194,195,87,94,28,248,80,158,36,37,23,195,
|
||||||
2,12,250,22,190,8,77,108,111,97,100,47,117,115,101,45,99,111,109,112,105,
|
2,12,250,22,191,8,77,108,111,97,100,47,117,115,101,45,99,111,109,112,105,
|
||||||
108,101,100,6,25,25,112,97,116,104,32,111,114,32,118,97,108,105,100,45,112,
|
108,101,100,6,25,25,112,97,116,104,32,111,114,32,118,97,108,105,100,45,112,
|
||||||
97,116,104,32,115,116,114,105,110,103,23,197,2,91,159,41,11,90,161,36,35,
|
97,116,104,32,115,116,114,105,110,103,23,197,2,91,159,41,11,90,161,36,35,
|
||||||
11,28,248,22,157,13,23,201,2,23,200,1,27,247,22,187,4,28,23,193,2,
|
11,28,248,22,158,13,23,201,2,23,200,1,27,247,22,188,4,28,23,193,2,
|
||||||
249,22,158,13,23,203,1,23,195,1,200,90,161,38,36,11,248,22,154,13,23,
|
249,22,159,13,23,203,1,23,195,1,200,90,161,38,36,11,248,22,155,13,23,
|
||||||
194,2,87,94,23,196,1,90,161,36,39,11,28,249,22,160,8,23,196,2,68,
|
194,2,87,94,23,196,1,90,161,36,39,11,28,249,22,161,8,23,196,2,68,
|
||||||
114,101,108,97,116,105,118,101,87,94,23,194,1,2,17,23,194,1,90,161,36,
|
114,101,108,97,116,105,118,101,87,94,23,194,1,2,17,23,194,1,90,161,36,
|
||||||
40,11,247,22,175,13,27,89,162,43,36,49,62,122,111,225,7,5,3,33,27,
|
40,11,247,22,176,13,27,89,162,43,36,49,62,122,111,225,7,5,3,33,27,
|
||||||
27,89,162,43,36,51,9,225,8,6,4,33,28,27,249,22,5,89,162,8,44,
|
27,89,162,43,36,51,9,225,8,6,4,33,28,27,249,22,5,89,162,8,44,
|
||||||
36,47,9,223,5,33,29,23,203,2,27,28,23,195,2,27,249,22,5,83,158,
|
36,47,9,223,5,33,29,23,203,2,27,28,23,195,2,27,249,22,5,83,158,
|
||||||
39,20,97,94,89,162,8,44,36,47,9,223,5,33,30,23,198,1,23,205,2,
|
39,20,97,94,89,162,8,44,36,47,9,223,5,33,30,23,198,1,23,205,2,
|
||||||
|
@ -420,11 +420,11 @@
|
||||||
199,193,11,11,11,11,28,192,249,80,159,48,54,36,203,89,162,43,35,45,9,
|
199,193,11,11,11,11,28,192,249,80,159,48,54,36,203,89,162,43,35,45,9,
|
||||||
224,15,2,33,33,249,80,159,48,54,36,203,89,162,43,35,44,9,224,15,7,
|
224,15,2,33,33,249,80,159,48,54,36,203,89,162,43,35,44,9,224,15,7,
|
||||||
33,34,32,36,89,162,8,44,36,54,2,19,222,33,38,0,17,35,114,120,34,
|
33,34,32,36,89,162,8,44,36,54,2,19,222,33,38,0,17,35,114,120,34,
|
||||||
94,40,46,42,63,41,47,40,46,42,41,36,34,27,249,22,183,13,2,37,23,
|
94,40,46,42,63,41,47,40,46,42,41,36,34,27,249,22,184,13,2,37,23,
|
||||||
196,2,28,23,193,2,87,94,23,194,1,249,22,63,248,22,88,23,196,2,27,
|
196,2,28,23,193,2,87,94,23,194,1,249,22,63,248,22,88,23,196,2,27,
|
||||||
248,22,97,23,197,1,27,249,22,183,13,2,37,23,196,2,28,23,193,2,87,
|
248,22,97,23,197,1,27,249,22,184,13,2,37,23,196,2,28,23,193,2,87,
|
||||||
94,23,194,1,249,22,63,248,22,88,23,196,2,27,248,22,97,23,197,1,27,
|
94,23,194,1,249,22,63,248,22,88,23,196,2,27,248,22,97,23,197,1,27,
|
||||||
249,22,183,13,2,37,23,196,2,28,23,193,2,87,94,23,194,1,249,22,63,
|
249,22,184,13,2,37,23,196,2,28,23,193,2,87,94,23,194,1,249,22,63,
|
||||||
248,22,88,23,196,2,248,2,36,248,22,97,23,197,1,248,22,73,194,248,22,
|
248,22,88,23,196,2,248,2,36,248,22,97,23,197,1,248,22,73,194,248,22,
|
||||||
73,194,248,22,73,194,32,39,89,162,43,36,54,2,19,222,33,40,28,248,22,
|
73,194,248,22,73,194,32,39,89,162,43,36,54,2,19,222,33,40,28,248,22,
|
||||||
71,248,22,65,23,195,2,249,22,7,9,248,22,64,195,91,159,37,11,90,161,
|
71,248,22,65,23,195,2,249,22,7,9,248,22,64,195,91,159,37,11,90,161,
|
||||||
|
@ -435,96 +435,96 @@
|
||||||
249,22,7,249,22,63,248,22,64,23,200,1,23,197,1,23,196,1,249,22,7,
|
249,22,7,249,22,63,248,22,64,23,200,1,23,197,1,23,196,1,249,22,7,
|
||||||
249,22,63,248,22,64,23,200,1,23,197,1,23,196,1,249,22,7,249,22,63,
|
249,22,63,248,22,64,23,200,1,23,197,1,23,196,1,249,22,7,249,22,63,
|
||||||
248,22,64,23,200,1,23,197,1,195,27,248,2,36,23,195,1,28,194,192,248,
|
248,22,64,23,200,1,23,197,1,195,27,248,2,36,23,195,1,28,194,192,248,
|
||||||
2,39,193,87,95,28,248,22,167,4,195,12,250,22,190,8,2,20,6,20,20,
|
2,39,193,87,95,28,248,22,168,4,195,12,250,22,191,8,2,20,6,20,20,
|
||||||
114,101,115,111,108,118,101,100,45,109,111,100,117,108,101,45,112,97,116,104,197,
|
114,101,115,111,108,118,101,100,45,109,111,100,117,108,101,45,112,97,116,104,197,
|
||||||
28,24,193,2,248,24,194,1,195,87,94,23,193,1,12,27,27,250,22,137,2,
|
28,24,193,2,248,24,194,1,195,87,94,23,193,1,12,27,27,250,22,137,2,
|
||||||
80,158,41,42,248,22,139,14,247,22,180,11,11,28,23,193,2,192,87,94,23,
|
80,158,41,42,248,22,140,14,247,22,181,11,11,28,23,193,2,192,87,94,23,
|
||||||
193,1,27,247,22,121,87,94,250,22,135,2,80,158,42,42,248,22,139,14,247,
|
193,1,27,247,22,121,87,94,250,22,135,2,80,158,42,42,248,22,140,14,247,
|
||||||
22,180,11,195,192,250,22,135,2,195,198,66,97,116,116,97,99,104,251,211,197,
|
22,181,11,195,192,250,22,135,2,195,198,66,97,116,116,97,99,104,251,211,197,
|
||||||
198,199,10,28,192,250,22,189,8,11,196,195,248,22,187,8,194,28,249,22,161,
|
198,199,10,28,192,250,22,190,8,11,196,195,248,22,188,8,194,28,249,22,162,
|
||||||
6,194,6,1,1,46,2,17,28,249,22,161,6,194,6,2,2,46,46,62,117,
|
6,194,6,1,1,46,2,17,28,249,22,162,6,194,6,2,2,46,46,62,117,
|
||||||
112,192,28,249,22,162,8,248,22,65,23,200,2,23,197,1,28,249,22,160,8,
|
112,192,28,249,22,163,8,248,22,65,23,200,2,23,197,1,28,249,22,161,8,
|
||||||
248,22,64,23,200,2,23,196,1,251,22,187,8,2,20,6,26,26,99,121,99,
|
248,22,64,23,200,2,23,196,1,251,22,188,8,2,20,6,26,26,99,121,99,
|
||||||
108,101,32,105,110,32,108,111,97,100,105,110,103,32,97,116,32,126,101,58,32,
|
108,101,32,105,110,32,108,111,97,100,105,110,103,32,97,116,32,126,101,58,32,
|
||||||
126,101,23,200,1,249,22,2,22,65,248,22,78,249,22,63,23,206,1,23,202,
|
126,101,23,200,1,249,22,2,22,65,248,22,78,249,22,63,23,206,1,23,202,
|
||||||
1,12,12,247,192,20,14,159,80,158,39,44,249,22,63,247,22,180,11,23,197,
|
1,12,12,247,192,20,14,159,80,158,39,44,249,22,63,247,22,181,11,23,197,
|
||||||
1,20,14,159,80,158,39,39,250,80,158,42,40,249,22,27,11,80,158,44,39,
|
1,20,14,159,80,158,39,39,250,80,158,42,40,249,22,27,11,80,158,44,39,
|
||||||
22,149,4,23,196,1,249,247,22,186,4,23,198,1,248,22,52,248,22,137,13,
|
22,150,4,23,196,1,249,247,22,187,4,23,198,1,248,22,52,248,22,138,13,
|
||||||
23,198,1,87,94,28,28,248,22,133,13,23,197,2,10,248,22,173,4,23,197,
|
23,198,1,87,94,28,28,248,22,134,13,23,197,2,10,248,22,174,4,23,197,
|
||||||
2,12,28,23,198,2,250,22,189,8,11,6,15,15,98,97,100,32,109,111,100,
|
2,12,28,23,198,2,250,22,190,8,11,6,15,15,98,97,100,32,109,111,100,
|
||||||
117,108,101,32,112,97,116,104,23,201,2,250,22,190,8,2,20,6,19,19,109,
|
117,108,101,32,112,97,116,104,23,201,2,250,22,191,8,2,20,6,19,19,109,
|
||||||
111,100,117,108,101,45,112,97,116,104,32,111,114,32,112,97,116,104,23,199,2,
|
111,100,117,108,101,45,112,97,116,104,32,111,114,32,112,97,116,104,23,199,2,
|
||||||
28,28,248,22,61,23,197,2,249,22,160,8,248,22,64,23,199,2,2,4,11,
|
28,28,248,22,61,23,197,2,249,22,161,8,248,22,64,23,199,2,2,4,11,
|
||||||
248,22,168,4,248,22,88,197,28,28,248,22,61,23,197,2,249,22,160,8,248,
|
248,22,169,4,248,22,88,197,28,28,248,22,61,23,197,2,249,22,161,8,248,
|
||||||
22,64,23,199,2,66,112,108,97,110,101,116,11,87,94,28,207,12,20,14,159,
|
22,64,23,199,2,66,112,108,97,110,101,116,11,87,94,28,207,12,20,14,159,
|
||||||
80,158,37,39,250,80,158,40,40,249,22,27,11,80,158,42,39,22,180,11,23,
|
80,158,37,39,250,80,158,40,40,249,22,27,11,80,158,42,39,22,181,11,23,
|
||||||
197,1,90,161,36,35,10,249,22,150,4,21,94,2,21,6,18,18,112,108,97,
|
197,1,90,161,36,35,10,249,22,151,4,21,94,2,21,6,18,18,112,108,97,
|
||||||
110,101,116,47,114,101,115,111,108,118,101,114,46,115,115,1,27,112,108,97,110,
|
110,101,116,47,114,101,115,111,108,118,101,114,46,115,115,1,27,112,108,97,110,
|
||||||
101,116,45,109,111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,
|
101,116,45,109,111,100,117,108,101,45,110,97,109,101,45,114,101,115,111,108,118,
|
||||||
101,114,12,251,211,199,200,201,202,87,94,23,193,1,27,89,162,8,44,36,45,
|
101,114,12,251,211,199,200,201,202,87,94,23,193,1,27,89,162,8,44,36,45,
|
||||||
79,115,104,111,119,45,99,111,108,108,101,99,116,105,111,110,45,101,114,114,223,
|
79,115,104,111,119,45,99,111,108,108,101,99,116,105,111,110,45,101,114,114,223,
|
||||||
6,33,44,27,28,248,22,51,23,199,2,27,250,22,137,2,80,158,43,43,249,
|
6,33,44,27,28,248,22,51,23,199,2,27,250,22,137,2,80,158,43,43,249,
|
||||||
22,63,23,204,2,247,22,174,13,11,28,23,193,2,192,87,94,23,193,1,91,
|
22,63,23,204,2,247,22,175,13,11,28,23,193,2,192,87,94,23,193,1,91,
|
||||||
159,37,11,90,161,37,35,11,249,80,159,44,48,36,248,22,54,23,204,2,11,
|
159,37,11,90,161,37,35,11,249,80,159,44,48,36,248,22,54,23,204,2,11,
|
||||||
27,251,80,158,47,50,2,20,23,202,1,28,248,22,71,23,199,2,23,199,2,
|
27,251,80,158,47,50,2,20,23,202,1,28,248,22,71,23,199,2,23,199,2,
|
||||||
248,22,64,23,199,2,28,248,22,71,23,199,2,9,248,22,65,23,199,2,249,
|
248,22,64,23,199,2,28,248,22,71,23,199,2,9,248,22,65,23,199,2,249,
|
||||||
22,151,13,23,195,1,28,248,22,71,23,197,1,87,94,23,197,1,6,7,7,
|
22,152,13,23,195,1,28,248,22,71,23,197,1,87,94,23,197,1,6,7,7,
|
||||||
109,97,105,110,46,115,115,249,22,178,6,23,199,1,6,3,3,46,115,115,28,
|
109,97,105,110,46,115,115,249,22,179,6,23,199,1,6,3,3,46,115,115,28,
|
||||||
248,22,155,6,23,199,2,87,94,23,194,1,27,248,80,159,41,55,36,23,201,
|
248,22,156,6,23,199,2,87,94,23,194,1,27,248,80,159,41,55,36,23,201,
|
||||||
2,27,250,22,137,2,80,158,44,43,249,22,63,23,205,2,23,199,2,11,28,
|
2,27,250,22,137,2,80,158,44,43,249,22,63,23,205,2,23,199,2,11,28,
|
||||||
23,193,2,192,87,94,23,193,1,91,159,37,11,90,161,37,35,11,249,80,159,
|
23,193,2,192,87,94,23,193,1,91,159,37,11,90,161,37,35,11,249,80,159,
|
||||||
45,48,36,23,204,2,11,250,22,1,22,151,13,23,199,1,249,22,77,249,22,
|
45,48,36,23,204,2,11,250,22,1,22,152,13,23,199,1,249,22,77,249,22,
|
||||||
2,32,0,89,162,8,44,36,43,9,222,33,45,23,200,1,248,22,73,23,200,
|
2,32,0,89,162,8,44,36,43,9,222,33,45,23,200,1,248,22,73,23,200,
|
||||||
1,28,248,22,133,13,23,199,2,87,94,23,194,1,28,248,22,156,13,23,199,
|
1,28,248,22,134,13,23,199,2,87,94,23,194,1,28,248,22,157,13,23,199,
|
||||||
2,23,198,2,248,22,73,6,26,26,32,40,97,32,112,97,116,104,32,109,117,
|
2,23,198,2,248,22,73,6,26,26,32,40,97,32,112,97,116,104,32,109,117,
|
||||||
115,116,32,98,101,32,97,98,115,111,108,117,116,101,41,28,249,22,160,8,248,
|
115,116,32,98,101,32,97,98,115,111,108,117,116,101,41,28,249,22,161,8,248,
|
||||||
22,64,23,201,2,2,21,27,250,22,137,2,80,158,43,43,249,22,63,23,204,
|
22,64,23,201,2,2,21,27,250,22,137,2,80,158,43,43,249,22,63,23,204,
|
||||||
2,247,22,174,13,11,28,23,193,2,192,87,94,23,193,1,91,159,38,11,90,
|
2,247,22,175,13,11,28,23,193,2,192,87,94,23,193,1,91,159,38,11,90,
|
||||||
161,37,35,11,249,80,159,45,48,36,248,22,88,23,205,2,11,90,161,36,37,
|
161,37,35,11,249,80,159,45,48,36,248,22,88,23,205,2,11,90,161,36,37,
|
||||||
11,28,248,22,71,248,22,90,23,204,2,28,248,22,71,23,194,2,249,22,185,
|
11,28,248,22,71,248,22,90,23,204,2,28,248,22,71,23,194,2,249,22,186,
|
||||||
13,0,8,35,114,120,34,91,46,93,34,23,196,2,11,10,27,27,28,23,197,
|
13,0,8,35,114,120,34,91,46,93,34,23,196,2,11,10,27,27,28,23,197,
|
||||||
2,249,22,77,28,248,22,71,248,22,90,23,208,2,21,93,6,5,5,109,122,
|
2,249,22,77,28,248,22,71,248,22,90,23,208,2,21,93,6,5,5,109,122,
|
||||||
108,105,98,249,22,1,22,77,249,22,2,80,159,51,56,36,248,22,90,23,211,
|
108,105,98,249,22,1,22,77,249,22,2,80,159,51,56,36,248,22,90,23,211,
|
||||||
2,23,197,2,28,248,22,71,23,196,2,248,22,73,23,197,2,23,195,2,251,
|
2,23,197,2,28,248,22,71,23,196,2,248,22,73,23,197,2,23,195,2,251,
|
||||||
80,158,49,50,2,20,23,204,1,248,22,64,23,198,2,248,22,65,23,198,1,
|
80,158,49,50,2,20,23,204,1,248,22,64,23,198,2,248,22,65,23,198,1,
|
||||||
249,22,151,13,23,195,1,28,23,198,1,87,94,23,196,1,23,197,1,28,248,
|
249,22,152,13,23,195,1,28,23,198,1,87,94,23,196,1,23,197,1,28,248,
|
||||||
22,71,23,197,1,87,94,23,197,1,6,7,7,109,97,105,110,46,115,115,28,
|
22,71,23,197,1,87,94,23,197,1,6,7,7,109,97,105,110,46,115,115,28,
|
||||||
249,22,185,13,0,8,35,114,120,34,91,46,93,34,23,199,2,23,197,1,249,
|
249,22,186,13,0,8,35,114,120,34,91,46,93,34,23,199,2,23,197,1,249,
|
||||||
22,178,6,23,199,1,6,3,3,46,115,115,28,249,22,160,8,248,22,64,23,
|
22,179,6,23,199,1,6,3,3,46,115,115,28,249,22,161,8,248,22,64,23,
|
||||||
201,2,64,102,105,108,101,249,22,158,13,248,22,162,13,248,22,88,23,202,2,
|
201,2,64,102,105,108,101,249,22,159,13,248,22,163,13,248,22,88,23,202,2,
|
||||||
248,80,159,42,55,36,23,202,2,12,87,94,28,28,248,22,133,13,23,194,2,
|
248,80,159,42,55,36,23,202,2,12,87,94,28,28,248,22,134,13,23,194,2,
|
||||||
10,248,22,177,7,23,194,2,87,94,23,200,1,12,28,23,200,2,250,22,189,
|
10,248,22,178,7,23,194,2,87,94,23,200,1,12,28,23,200,2,250,22,190,
|
||||||
8,67,114,101,113,117,105,114,101,249,22,139,7,6,17,17,98,97,100,32,109,
|
8,67,114,101,113,117,105,114,101,249,22,140,7,6,17,17,98,97,100,32,109,
|
||||||
111,100,117,108,101,32,112,97,116,104,126,97,28,23,198,2,248,22,64,23,199,
|
111,100,117,108,101,32,112,97,116,104,126,97,28,23,198,2,248,22,64,23,199,
|
||||||
2,6,0,0,23,203,1,87,94,23,200,1,250,22,190,8,2,20,249,22,139,
|
2,6,0,0,23,203,1,87,94,23,200,1,250,22,191,8,2,20,249,22,140,
|
||||||
7,6,13,13,109,111,100,117,108,101,32,112,97,116,104,126,97,28,23,198,2,
|
7,6,13,13,109,111,100,117,108,101,32,112,97,116,104,126,97,28,23,198,2,
|
||||||
248,22,64,23,199,2,6,0,0,23,201,2,27,28,248,22,177,7,23,195,2,
|
248,22,64,23,199,2,6,0,0,23,201,2,27,28,248,22,178,7,23,195,2,
|
||||||
249,22,182,7,23,196,2,35,249,22,160,13,248,22,161,13,23,197,2,11,27,
|
249,22,183,7,23,196,2,35,249,22,161,13,248,22,162,13,23,197,2,11,27,
|
||||||
28,248,22,177,7,23,196,2,249,22,182,7,23,197,2,36,248,80,158,42,51,
|
28,248,22,178,7,23,196,2,249,22,183,7,23,197,2,36,248,80,158,42,51,
|
||||||
23,195,2,91,159,38,11,90,161,38,35,11,28,248,22,177,7,23,199,2,250,
|
23,195,2,91,159,38,11,90,161,38,35,11,28,248,22,178,7,23,199,2,250,
|
||||||
22,7,2,22,249,22,182,7,23,203,2,37,2,22,248,22,154,13,23,198,2,
|
22,7,2,22,249,22,183,7,23,203,2,37,2,22,248,22,155,13,23,198,2,
|
||||||
87,95,23,195,1,23,193,1,27,28,248,22,177,7,23,200,2,249,22,182,7,
|
87,95,23,195,1,23,193,1,27,28,248,22,178,7,23,200,2,249,22,183,7,
|
||||||
23,201,2,38,249,80,158,47,52,23,197,2,5,0,27,28,248,22,177,7,23,
|
23,201,2,38,249,80,158,47,52,23,197,2,5,0,27,28,248,22,178,7,23,
|
||||||
201,2,249,22,182,7,23,202,2,39,248,22,168,4,23,200,2,27,27,250,22,
|
201,2,249,22,183,7,23,202,2,39,248,22,169,4,23,200,2,27,27,250,22,
|
||||||
137,2,80,158,51,42,248,22,139,14,247,22,180,11,11,28,23,193,2,192,87,
|
137,2,80,158,51,42,248,22,140,14,247,22,181,11,11,28,23,193,2,192,87,
|
||||||
94,23,193,1,27,247,22,121,87,94,250,22,135,2,80,158,52,42,248,22,139,
|
94,23,193,1,27,247,22,121,87,94,250,22,135,2,80,158,52,42,248,22,140,
|
||||||
14,247,22,180,11,195,192,87,95,28,23,209,1,27,250,22,137,2,23,197,2,
|
14,247,22,181,11,195,192,87,95,28,23,209,1,27,250,22,137,2,23,197,2,
|
||||||
197,11,28,23,193,1,12,87,95,27,27,28,248,22,17,80,158,51,45,80,158,
|
197,11,28,23,193,1,12,87,95,27,27,28,248,22,17,80,158,51,45,80,158,
|
||||||
50,45,247,22,19,250,22,25,248,22,23,23,197,2,80,158,53,44,23,196,1,
|
50,45,247,22,19,250,22,25,248,22,23,23,197,2,80,158,53,44,23,196,1,
|
||||||
27,247,22,180,11,249,22,3,83,158,39,20,97,94,89,162,8,44,36,54,9,
|
27,247,22,181,11,249,22,3,83,158,39,20,97,94,89,162,8,44,36,54,9,
|
||||||
226,12,11,2,3,33,46,23,195,1,23,196,1,248,28,248,22,17,80,158,50,
|
226,12,11,2,3,33,46,23,195,1,23,196,1,248,28,248,22,17,80,158,50,
|
||||||
45,32,0,89,162,43,36,41,9,222,33,47,80,159,49,57,36,89,162,43,35,
|
45,32,0,89,162,43,36,41,9,222,33,47,80,159,49,57,36,89,162,43,35,
|
||||||
50,9,227,14,9,8,4,3,33,48,250,22,135,2,23,197,1,197,10,12,28,
|
50,9,227,14,9,8,4,3,33,48,250,22,135,2,23,197,1,197,10,12,28,
|
||||||
28,248,22,177,7,23,202,1,11,27,248,22,155,6,23,208,2,28,192,192,28,
|
28,248,22,178,7,23,202,1,11,27,248,22,156,6,23,208,2,28,192,192,28,
|
||||||
248,22,61,23,208,2,249,22,160,8,248,22,64,23,210,2,2,21,11,250,22,
|
248,22,61,23,208,2,249,22,161,8,248,22,64,23,210,2,2,21,11,250,22,
|
||||||
135,2,80,158,50,43,28,248,22,155,6,23,210,2,249,22,63,23,211,1,248,
|
135,2,80,158,50,43,28,248,22,156,6,23,210,2,249,22,63,23,211,1,248,
|
||||||
80,159,53,55,36,23,213,1,87,94,23,210,1,249,22,63,23,211,1,247,22,
|
80,159,53,55,36,23,213,1,87,94,23,210,1,249,22,63,23,211,1,247,22,
|
||||||
174,13,252,22,179,7,23,208,1,23,207,1,23,205,1,23,203,1,201,12,193,
|
175,13,252,22,180,7,23,208,1,23,207,1,23,205,1,23,203,1,201,12,193,
|
||||||
91,159,37,10,90,161,36,35,10,11,90,161,36,36,10,83,158,38,20,96,96,
|
91,159,37,10,90,161,36,35,10,11,90,161,36,36,10,83,158,38,20,96,96,
|
||||||
2,20,89,162,8,44,36,50,9,224,2,0,33,42,89,162,43,38,48,9,223,
|
2,20,89,162,8,44,36,50,9,224,2,0,33,42,89,162,43,38,48,9,223,
|
||||||
1,33,43,89,162,43,39,8,30,9,225,2,3,0,33,49,208,87,95,248,22,
|
1,33,43,89,162,43,39,8,30,9,225,2,3,0,33,49,208,87,95,248,22,
|
||||||
148,4,248,80,158,37,49,247,22,180,11,248,22,186,4,80,158,36,36,248,22,
|
149,4,248,80,158,37,49,247,22,181,11,248,22,187,4,80,158,36,36,248,22,
|
||||||
171,12,80,159,36,41,36,159,35,20,103,159,35,16,1,65,98,101,103,105,110,
|
172,12,80,159,36,41,36,159,35,20,103,159,35,16,1,65,98,101,103,105,110,
|
||||||
16,0,83,158,41,20,100,138,66,35,37,98,111,111,116,2,1,11,11,10,10,
|
16,0,83,158,41,20,100,138,66,35,37,98,111,111,116,2,1,11,11,10,10,
|
||||||
36,80,158,35,35,20,103,159,39,16,19,30,2,1,2,2,193,30,2,1,2,
|
36,80,158,35,35,20,103,159,39,16,19,30,2,1,2,2,193,30,2,1,2,
|
||||||
3,193,30,2,5,72,112,97,116,104,45,115,116,114,105,110,103,63,10,30,2,
|
3,193,30,2,5,72,112,97,116,104,45,115,116,114,105,110,103,63,10,30,2,
|
||||||
|
@ -545,7 +545,7 @@
|
||||||
44,9,223,0,33,24,80,159,35,56,36,83,158,35,16,2,89,162,43,36,48,
|
44,9,223,0,33,24,80,159,35,56,36,83,158,35,16,2,89,162,43,36,48,
|
||||||
67,103,101,116,45,100,105,114,223,0,33,25,80,159,35,55,36,83,158,35,16,
|
67,103,101,116,45,100,105,114,223,0,33,25,80,159,35,55,36,83,158,35,16,
|
||||||
2,89,162,43,37,48,68,119,105,116,104,45,100,105,114,223,0,33,26,80,159,
|
2,89,162,43,37,48,68,119,105,116,104,45,100,105,114,223,0,33,26,80,159,
|
||||||
35,54,36,83,158,35,16,2,248,22,174,7,69,115,111,45,115,117,102,102,105,
|
35,54,36,83,158,35,16,2,248,22,175,7,69,115,111,45,115,117,102,102,105,
|
||||||
120,80,159,35,35,36,83,158,35,16,2,89,162,43,37,59,2,3,223,0,33,
|
120,80,159,35,35,36,83,158,35,16,2,89,162,43,37,59,2,3,223,0,33,
|
||||||
35,80,159,35,36,36,83,158,35,16,2,32,0,89,162,8,44,36,41,2,7,
|
35,80,159,35,36,36,83,158,35,16,2,32,0,89,162,8,44,36,41,2,7,
|
||||||
222,192,80,159,35,41,36,83,158,35,16,2,247,22,124,80,159,35,42,36,83,
|
222,192,80,159,35,41,36,83,158,35,16,2,247,22,124,80,159,35,42,36,83,
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
#define USE_COMPILED_STARTUP 1
|
#define USE_COMPILED_STARTUP 1
|
||||||
|
|
||||||
#define EXPECTED_PRIM_COUNT 935
|
#define EXPECTED_PRIM_COUNT 936
|
||||||
|
|
||||||
#ifdef MZSCHEME_SOMETHING_OMITTED
|
#ifdef MZSCHEME_SOMETHING_OMITTED
|
||||||
# undef USE_COMPILED_STARTUP
|
# undef USE_COMPILED_STARTUP
|
||||||
|
|
|
@ -13,12 +13,12 @@
|
||||||
consistently.)
|
consistently.)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define MZSCHEME_VERSION "4.1.1.2"
|
#define MZSCHEME_VERSION "4.1.1.3"
|
||||||
|
|
||||||
#define MZSCHEME_VERSION_X 4
|
#define MZSCHEME_VERSION_X 4
|
||||||
#define MZSCHEME_VERSION_Y 1
|
#define MZSCHEME_VERSION_Y 1
|
||||||
#define MZSCHEME_VERSION_Z 1
|
#define MZSCHEME_VERSION_Z 1
|
||||||
#define MZSCHEME_VERSION_W 2
|
#define MZSCHEME_VERSION_W 3
|
||||||
|
|
||||||
#define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y)
|
#define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) + MZSCHEME_VERSION_Y)
|
||||||
#define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W)
|
#define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) + MZSCHEME_VERSION_W)
|
||||||
|
|
|
@ -55,6 +55,7 @@ static Scheme_Object *syntax_original_p(int argc, Scheme_Object **argv);
|
||||||
static Scheme_Object *syntax_property(int argc, Scheme_Object **argv);
|
static Scheme_Object *syntax_property(int argc, Scheme_Object **argv);
|
||||||
static Scheme_Object *syntax_property_keys(int argc, Scheme_Object **argv);
|
static Scheme_Object *syntax_property_keys(int argc, Scheme_Object **argv);
|
||||||
static Scheme_Object *syntax_track_origin(int argc, Scheme_Object **argv);
|
static Scheme_Object *syntax_track_origin(int argc, Scheme_Object **argv);
|
||||||
|
static Scheme_Object *syntax_transfer_intro(int argc, Scheme_Object **argv);
|
||||||
|
|
||||||
static Scheme_Object *bound_eq(int argc, Scheme_Object **argv);
|
static Scheme_Object *bound_eq(int argc, Scheme_Object **argv);
|
||||||
static Scheme_Object *module_eq(int argc, Scheme_Object **argv);
|
static Scheme_Object *module_eq(int argc, Scheme_Object **argv);
|
||||||
|
@ -449,6 +450,12 @@ void scheme_init_stx(Scheme_Env *env)
|
||||||
3, 3),
|
3, 3),
|
||||||
env);
|
env);
|
||||||
|
|
||||||
|
scheme_add_global_constant("make-syntax-delta-introducer",
|
||||||
|
scheme_make_immed_prim(syntax_transfer_intro,
|
||||||
|
"make-syntax-delta-introducer",
|
||||||
|
2, 2),
|
||||||
|
env);
|
||||||
|
|
||||||
scheme_add_global_constant("bound-identifier=?",
|
scheme_add_global_constant("bound-identifier=?",
|
||||||
scheme_make_immed_prim(bound_eq,
|
scheme_make_immed_prim(bound_eq,
|
||||||
"bound-identifier=?",
|
"bound-identifier=?",
|
||||||
|
@ -6761,6 +6768,61 @@ static Scheme_Object *syntax_track_origin(int argc, Scheme_Object **argv)
|
||||||
return scheme_stx_track(argv[0], argv[1], argv[2]);
|
return scheme_stx_track(argv[0], argv[1], argv[2]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Scheme_Object *delta_introducer(int argc, struct Scheme_Object *argv[], Scheme_Object *p)
|
||||||
|
{
|
||||||
|
Scheme_Object *r, *delta;
|
||||||
|
|
||||||
|
r = argv[0];
|
||||||
|
|
||||||
|
if (!SCHEME_STXP(r))
|
||||||
|
scheme_wrong_type("delta-introducer", "syntax", 0, argc, argv);
|
||||||
|
|
||||||
|
delta = SCHEME_PRIM_CLOSURE_ELS(p)[0];
|
||||||
|
|
||||||
|
for(; !SCHEME_NULLP(delta); delta = SCHEME_CDR(delta)) {
|
||||||
|
r = scheme_add_remove_mark(r, SCHEME_CAR(delta));
|
||||||
|
}
|
||||||
|
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Scheme_Object *syntax_transfer_intro(int argc, Scheme_Object **argv)
|
||||||
|
{
|
||||||
|
Scheme_Object *m1, *m2, *delta, *a[1];
|
||||||
|
int l1, l2;
|
||||||
|
|
||||||
|
if (!SCHEME_STXP(argv[0]))
|
||||||
|
scheme_wrong_type("make-syntax-delta-introducer", "syntax", 0, argc, argv);
|
||||||
|
if (!SCHEME_STXP(argv[1]))
|
||||||
|
scheme_wrong_type("make-syntax-delta-introducer", "syntax", 1, argc, argv);
|
||||||
|
|
||||||
|
m1 = scheme_stx_extract_marks(argv[0]);
|
||||||
|
m2 = scheme_stx_extract_marks(argv[1]);
|
||||||
|
|
||||||
|
l1 = scheme_list_length(m1);
|
||||||
|
l2 = scheme_list_length(m2);
|
||||||
|
|
||||||
|
delta = scheme_null;
|
||||||
|
while (l1 > l2) {
|
||||||
|
delta = CONS(SCHEME_CAR(m1), delta);
|
||||||
|
m1 = SCHEME_CDR(m1);
|
||||||
|
l1--;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!scheme_equal(m1, m2)) {
|
||||||
|
/* tails don't match, so keep all marks */
|
||||||
|
while (l1) {
|
||||||
|
delta = CONS(SCHEME_CAR(m1), delta);
|
||||||
|
m1 = SCHEME_CDR(m1);
|
||||||
|
l1--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
a[0] = delta;
|
||||||
|
|
||||||
|
return scheme_make_prim_closure_w_arity(delta_introducer, 1, a, "delta-introducer", 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
static Scheme_Object *bound_eq(int argc, Scheme_Object **argv)
|
static Scheme_Object *bound_eq(int argc, Scheme_Object **argv)
|
||||||
{
|
{
|
||||||
Scheme_Object *phase;
|
Scheme_Object *phase;
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||||
<assemblyIdentity
|
<assemblyIdentity
|
||||||
version="4.1.1.2"
|
version="4.1.1.3"
|
||||||
processorArchitecture="X86"
|
processorArchitecture="X86"
|
||||||
name="Org.PLT-Scheme.MrEd"
|
name="Org.PLT-Scheme.MrEd"
|
||||||
type="win32"
|
type="win32"
|
||||||
|
|
|
@ -20,8 +20,8 @@ APPLICATION ICON DISCARDABLE "mred.ico"
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 4,1,1,2
|
FILEVERSION 4,1,1,3
|
||||||
PRODUCTVERSION 4,1,1,2
|
PRODUCTVERSION 4,1,1,3
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -39,11 +39,11 @@ BEGIN
|
||||||
VALUE "CompanyName", "PLT Scheme Inc.\0"
|
VALUE "CompanyName", "PLT Scheme Inc.\0"
|
||||||
VALUE "FileDescription", "PLT Scheme GUI application\0"
|
VALUE "FileDescription", "PLT Scheme GUI application\0"
|
||||||
VALUE "InternalName", "MrEd\0"
|
VALUE "InternalName", "MrEd\0"
|
||||||
VALUE "FileVersion", "4, 1, 1, 2\0"
|
VALUE "FileVersion", "4, 1, 1, 3\0"
|
||||||
VALUE "LegalCopyright", "Copyright © 1995-2008\0"
|
VALUE "LegalCopyright", "Copyright © 1995-2008\0"
|
||||||
VALUE "OriginalFilename", "MrEd.exe\0"
|
VALUE "OriginalFilename", "MrEd.exe\0"
|
||||||
VALUE "ProductName", "PLT Scheme\0"
|
VALUE "ProductName", "PLT Scheme\0"
|
||||||
VALUE "ProductVersion", "4, 1, 1, 2\0"
|
VALUE "ProductVersion", "4, 1, 1, 3\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
|
@ -53,8 +53,8 @@ END
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 4,1,1,2
|
FILEVERSION 4,1,1,3
|
||||||
PRODUCTVERSION 4,1,1,2
|
PRODUCTVERSION 4,1,1,3
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -70,12 +70,12 @@ BEGIN
|
||||||
BLOCK "040904b0"
|
BLOCK "040904b0"
|
||||||
BEGIN
|
BEGIN
|
||||||
VALUE "FileDescription", "MzCOM Module"
|
VALUE "FileDescription", "MzCOM Module"
|
||||||
VALUE "FileVersion", "4, 1, 1, 2"
|
VALUE "FileVersion", "4, 1, 1, 3"
|
||||||
VALUE "InternalName", "MzCOM"
|
VALUE "InternalName", "MzCOM"
|
||||||
VALUE "LegalCopyright", "Copyright 2000-2008 PLT (Paul Steckler)"
|
VALUE "LegalCopyright", "Copyright 2000-2008 PLT (Paul Steckler)"
|
||||||
VALUE "OriginalFilename", "MzCOM.EXE"
|
VALUE "OriginalFilename", "MzCOM.EXE"
|
||||||
VALUE "ProductName", "MzCOM Module"
|
VALUE "ProductName", "MzCOM Module"
|
||||||
VALUE "ProductVersion", "4, 1, 1, 2"
|
VALUE "ProductVersion", "4, 1, 1, 3"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
|
@ -1,19 +1,19 @@
|
||||||
HKCR
|
HKCR
|
||||||
{
|
{
|
||||||
MzCOM.MzObj.4.1.1.2 = s 'MzObj Class'
|
MzCOM.MzObj.4.1.1.3 = s 'MzObj Class'
|
||||||
{
|
{
|
||||||
CLSID = s '{A3B0AF9E-2AB0-11D4-B6D2-0060089002FE}'
|
CLSID = s '{A3B0AF9E-2AB0-11D4-B6D2-0060089002FE}'
|
||||||
}
|
}
|
||||||
MzCOM.MzObj = s 'MzObj Class'
|
MzCOM.MzObj = s 'MzObj Class'
|
||||||
{
|
{
|
||||||
CLSID = s '{A3B0AF9E-2AB0-11D4-B6D2-0060089002FE}'
|
CLSID = s '{A3B0AF9E-2AB0-11D4-B6D2-0060089002FE}'
|
||||||
CurVer = s 'MzCOM.MzObj.4.1.1.2'
|
CurVer = s 'MzCOM.MzObj.4.1.1.3'
|
||||||
}
|
}
|
||||||
NoRemove CLSID
|
NoRemove CLSID
|
||||||
{
|
{
|
||||||
ForceRemove {A3B0AF9E-2AB0-11D4-B6D2-0060089002FE} = s 'MzObj Class'
|
ForceRemove {A3B0AF9E-2AB0-11D4-B6D2-0060089002FE} = s 'MzObj Class'
|
||||||
{
|
{
|
||||||
ProgID = s 'MzCOM.MzObj.4.1.1.2'
|
ProgID = s 'MzCOM.MzObj.4.1.1.3'
|
||||||
VersionIndependentProgID = s 'MzCOM.MzObj'
|
VersionIndependentProgID = s 'MzCOM.MzObj'
|
||||||
ForceRemove 'Programmable'
|
ForceRemove 'Programmable'
|
||||||
LocalServer32 = s '%MODULE%'
|
LocalServer32 = s '%MODULE%'
|
||||||
|
|
|
@ -29,8 +29,8 @@ APPLICATION ICON DISCARDABLE "mzscheme.ico"
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 4,1,1,2
|
FILEVERSION 4,1,1,3
|
||||||
PRODUCTVERSION 4,1,1,2
|
PRODUCTVERSION 4,1,1,3
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -48,11 +48,11 @@ BEGIN
|
||||||
VALUE "CompanyName", "PLT Scheme Inc.\0"
|
VALUE "CompanyName", "PLT Scheme Inc.\0"
|
||||||
VALUE "FileDescription", "PLT Scheme application\0"
|
VALUE "FileDescription", "PLT Scheme application\0"
|
||||||
VALUE "InternalName", "MzScheme\0"
|
VALUE "InternalName", "MzScheme\0"
|
||||||
VALUE "FileVersion", "4, 1, 1, 2\0"
|
VALUE "FileVersion", "4, 1, 1, 3\0"
|
||||||
VALUE "LegalCopyright", "Copyright <20>© 1995-2008\0"
|
VALUE "LegalCopyright", "Copyright <20>© 1995-2008\0"
|
||||||
VALUE "OriginalFilename", "mzscheme.exe\0"
|
VALUE "OriginalFilename", "mzscheme.exe\0"
|
||||||
VALUE "ProductName", "PLT Scheme\0"
|
VALUE "ProductName", "PLT Scheme\0"
|
||||||
VALUE "ProductVersion", "4, 1, 1, 2\0"
|
VALUE "ProductVersion", "4, 1, 1, 3\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
|
@ -22,8 +22,8 @@ APPLICATION ICON DISCARDABLE "mzstart.ico"
|
||||||
//
|
//
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 4,1,1,2
|
FILEVERSION 4,1,1,3
|
||||||
PRODUCTVERSION 4,1,1,2
|
PRODUCTVERSION 4,1,1,3
|
||||||
FILEFLAGSMASK 0x3fL
|
FILEFLAGSMASK 0x3fL
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
FILEFLAGS 0x1L
|
FILEFLAGS 0x1L
|
||||||
|
@ -45,7 +45,7 @@ BEGIN
|
||||||
#ifdef MZSTART
|
#ifdef MZSTART
|
||||||
VALUE "FileDescription", "PLT Scheme Launcher\0"
|
VALUE "FileDescription", "PLT Scheme Launcher\0"
|
||||||
#endif
|
#endif
|
||||||
VALUE "FileVersion", "4, 1, 1, 2\0"
|
VALUE "FileVersion", "4, 1, 1, 3\0"
|
||||||
#ifdef MRSTART
|
#ifdef MRSTART
|
||||||
VALUE "InternalName", "mrstart\0"
|
VALUE "InternalName", "mrstart\0"
|
||||||
#endif
|
#endif
|
||||||
|
@ -60,7 +60,7 @@ BEGIN
|
||||||
VALUE "OriginalFilename", "MzStart.exe\0"
|
VALUE "OriginalFilename", "MzStart.exe\0"
|
||||||
#endif
|
#endif
|
||||||
VALUE "ProductName", "PLT Scheme\0"
|
VALUE "ProductName", "PLT Scheme\0"
|
||||||
VALUE "ProductVersion", "4, 1, 1, 2\0"
|
VALUE "ProductVersion", "4, 1, 1, 3\0"
|
||||||
END
|
END
|
||||||
END
|
END
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user