fix decompiler

original commit: 6cfc0b481d
This commit is contained in:
Matthew Flatt 2010-05-08 06:56:39 -06:00
4 changed files with 8 additions and 5 deletions

View File

@ -92,7 +92,7 @@
(define (decompile-module mod-form stack)
(match mod-form
[(struct mod (name self-modidx prefix provides requires body syntax-body unexported
[(struct mod (name srcname self-modidx prefix provides requires body syntax-body unexported
max-let-depth dummy lang-info internal-context))
(let-values ([(globs defns) (decompile-prefix prefix)]
[(stack) (append '(#%modvars) stack)]

View File

@ -90,9 +90,10 @@
(define (traverse-module mod-form visit)
(match mod-form
[(struct mod (name self-modidx prefix provides requires body syntax-body unexported
[(struct mod (name srcname self-modidx prefix provides requires body syntax-body unexported
max-let-depth dummy lang-info internal-context))
(traverse-data name visit)
(traverse-data srcname visit)
(traverse-data self-modidx visit)
(traverse-prefix prefix visit)
(for-each (lambda (f) (map (lambda (v) (traverse-data v visit)) (cdr f))) requires)
@ -431,7 +432,7 @@
(define (out-module mod-form out)
(match mod-form
[(struct mod (name self-modidx prefix provides requires body syntax-body unexported
[(struct mod (name srcname self-modidx prefix provides requires body syntax-body unexported
max-let-depth dummy lang-info internal-context))
(out-syntax MODULE_EXPD
(let* ([lookup-req (lambda (phase)
@ -504,6 +505,7 @@
[l (list* #f #f l)] ; obsolete `functional?' info
[l (cons lang-info l)] ; lang-info
[l (cons self-modidx l)]
[l (cons srcname l)]
[l (cons name l)])
(make-module-decl l))
out)]))

View File

@ -205,7 +205,7 @@
(define (read-module v)
(match v
[`(,name ,self-modidx ,lang-info ,functional? ,et-functional?
[`(,name ,srcname ,self-modidx ,lang-info ,functional? ,et-functional?
,rename ,max-let-depth ,dummy
,prefix
,indirect-et-provides ,num-indirect-et-provides
@ -218,7 +218,7 @@
[`(,syntax-body ,body
,requires ,syntax-requires ,template-requires ,label-requires
,more-requires-count . ,more-requires)
(make-mod name self-modidx
(make-mod name srcname self-modidx
prefix (let loop ([l phase-data])
(if (null? l)
null

View File

@ -90,6 +90,7 @@
[max-let-depth exact-nonnegative-integer?]))
(define-form-struct (mod form) ([name symbol?]
[srcname symbol?]
[self-modidx module-path-index?]
[prefix prefix?]
[provides (listof (list/c (or/c exact-integer? #f)