mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-19 13:49:17 +02:00
chibi-doc traverses include-library-declarations.
This commit is contained in:
parent
4e52ffc411
commit
7c181ca3fe
4 changed files with 18 additions and 4 deletions
|
@ -790,6 +790,9 @@ div#footer {padding-bottom: 50px}
|
||||||
((find-module-file (module-name->file mod-name))
|
((find-module-file (module-name->file mod-name))
|
||||||
=> (lambda (f) (reverse (extract-file-docs f defs strict? 'module))))
|
=> (lambda (f) (reverse (extract-file-docs f defs strict? 'module))))
|
||||||
(else '()))
|
(else '()))
|
||||||
|
(reverse (append-map (lambda (x)
|
||||||
|
(extract-file-docs x defs strict? 'module))
|
||||||
|
(module-include-library-declarations mod)))
|
||||||
(reverse (append-map (lambda (x) (extract-file-docs x defs strict?))
|
(reverse (append-map (lambda (x) (extract-file-docs x defs strict?))
|
||||||
(module-includes mod)))
|
(module-includes mod)))
|
||||||
(reverse (append-map (lambda (x) (extract-file-docs x defs strict? 'ffi))
|
(reverse (append-map (lambda (x) (extract-file-docs x defs strict? 'ffi))
|
||||||
|
|
|
@ -43,12 +43,18 @@
|
||||||
(lp (cdr ls) (append (reverse (cdar ls)) res)))
|
(lp (cdr ls) (append (reverse (cdar ls)) res)))
|
||||||
(else (lp (cdr ls) res))))))
|
(else (lp (cdr ls) res))))))
|
||||||
|
|
||||||
(define (module-includes mod)
|
(define (module-extract-declaration-files mod decls)
|
||||||
(let* ((mod (if (module? mod) mod (find-module mod)))
|
(let* ((mod (if (module? mod) mod (find-module mod)))
|
||||||
(dir (module-dir mod)))
|
(dir (module-dir mod)))
|
||||||
(define (module-file f)
|
(define (module-file f)
|
||||||
(find-module-file (string-append dir f)))
|
(find-module-file (string-append dir f)))
|
||||||
(map module-file (reverse (module-metas mod '(include))))))
|
(map module-file (reverse (module-metas mod decls)))))
|
||||||
|
|
||||||
|
(define (module-includes mod)
|
||||||
|
(module-extract-declaration-files mod '(include)))
|
||||||
|
|
||||||
|
(define (module-include-library-declarations mod)
|
||||||
|
(module-extract-declaration-files mod '(include-library-declarations)))
|
||||||
|
|
||||||
(define (module-shared-includes mod)
|
(define (module-shared-includes mod)
|
||||||
(let* ((mod (if (module? mod) mod (find-module mod)))
|
(let* ((mod (if (module? mod) mod (find-module mod)))
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
|
|
||||||
(define-library (chibi modules)
|
(define-library (chibi modules)
|
||||||
(export module-name module-dir module-includes module-shared-includes
|
(export module-name module-dir module-includes module-shared-includes
|
||||||
|
module-include-library-declarations
|
||||||
module-ast module-ast-set! module-ref module-contains?
|
module-ast module-ast-set! module-ref module-contains?
|
||||||
analyze-module containing-module load-module module-exports
|
analyze-module containing-module load-module module-exports
|
||||||
module-name->file procedure-analysis find-module
|
module-name->file procedure-analysis find-module
|
||||||
|
|
|
@ -268,7 +268,7 @@
|
||||||
;; Generate the library wrapper.
|
;; Generate the library wrapper.
|
||||||
(set! *this-path*
|
(set! *this-path*
|
||||||
(cons (string-concatenate
|
(cons (string-concatenate
|
||||||
(module-name->strings (reverse (cdr (reverse name))) '()))
|
(module-name->strings (cdr (reverse name)) '()))
|
||||||
*this-path*))
|
*this-path*))
|
||||||
`(,_let ((,tmp ,this-module))
|
`(,_let ((,tmp ,this-module))
|
||||||
(,_define (rewrite-export x)
|
(,_define (rewrite-export x)
|
||||||
|
@ -338,7 +338,11 @@
|
||||||
(error "couldn't find include-library-declarations file" file)))))
|
(error "couldn't find include-library-declarations file" file)))))
|
||||||
(else
|
(else
|
||||||
`(,(rename 'meta-begin)
|
`(,(rename 'meta-begin)
|
||||||
,@(reverse res))))))))
|
,@(reverse res)
|
||||||
|
(,(rename 'set!) ,(rename '*this-module*)
|
||||||
|
(,(rename 'cons) (,(rename 'quote)
|
||||||
|
,(cons 'include-library-declarations (cdr expr)))
|
||||||
|
,(rename '*this-module*))))))))))
|
||||||
|
|
||||||
(define-syntax define-meta-primitive
|
(define-syntax define-meta-primitive
|
||||||
(er-macro-transformer
|
(er-macro-transformer
|
||||||
|
|
Loading…
Add table
Reference in a new issue