code unitized and interface sanitized
original commit: abdf1b56a7cf0d87cba22e2b4177b9e6398a2da4
This commit is contained in:
parent
5c82f510da
commit
cf67831cbe
74
collects/compiler/sig.ss
Normal file
74
collects/compiler/sig.ss
Normal file
|
@ -0,0 +1,74 @@
|
|||
|
||||
(reference-library "compiles.ss")
|
||||
(reference-library "makes.ss" "make")
|
||||
(reference-library "collections.ss" "make")
|
||||
|
||||
;; Compiler options
|
||||
(define-signature compiler:option^
|
||||
(verbose ; default = #f
|
||||
|
||||
setup-prefix ; string to embed in public names;
|
||||
; used mainly for compiling extensions
|
||||
; with the collection name so that
|
||||
; cross-extension conflicts are less
|
||||
; likely in architectures that expose
|
||||
; the public names of loaded extensions
|
||||
; default = ""
|
||||
|
||||
clean-intermediate-files ; #t => keep intermediate .c/.o files
|
||||
; default = #f
|
||||
|
||||
propagate-constants ; default = #t
|
||||
assume-primitives ; #t => car = #%car; default = #f
|
||||
stupid ; allow obvious non-syntactic errors;
|
||||
; e.g.: ((lambda () 0) 1 2 3)
|
||||
|
||||
vehicles ; Controls how closures are compiled:
|
||||
; 'vehicles:automatic,
|
||||
; 'vehicles:functions,
|
||||
; 'vechicles:units, or
|
||||
; 'vehicles:monolithic.
|
||||
; default = 'vehicles:automatic
|
||||
vehicles:monoliths ; Size for 'vehicles:monolithic
|
||||
seed ; Randomizer seed for 'vehicles:monolithic
|
||||
|
||||
max-exprs-per-top-level-set ; Number of top-level Scheme expressions
|
||||
; crammed into one C function; default = 25
|
||||
|
||||
unpack-environments ; default = #t
|
||||
; Maybe #f helps for register-poor architectures?
|
||||
|
||||
debug ; #t => creates debug.txt debugging file
|
||||
test ; #t => ignores top-level expressions with syntax errors
|
||||
))
|
||||
|
||||
;; Compiler procedures
|
||||
(define-signature compiler^
|
||||
(compile-extensions
|
||||
compile-extensions-to-c
|
||||
compile-c-extensions
|
||||
|
||||
compile-extension-parts
|
||||
compile-extension-parts-to-c
|
||||
compile-c-extension-parts
|
||||
|
||||
link-extension-parts
|
||||
|
||||
compile-zos
|
||||
|
||||
compile-collection-extension
|
||||
compile-collection-zos))
|
||||
|
||||
;; Low-level extension compiler interface
|
||||
(define-signature compiler:inner^
|
||||
(compile-extension
|
||||
compile-extension-to-c
|
||||
compile-c-extension
|
||||
compile-extension-part
|
||||
compile-extension-part-to-c
|
||||
compile-c-extension-part
|
||||
eval-compile-prefix))
|
||||
|
||||
;; Low-level multi-file extension linker interface
|
||||
(define-signature compiler:linker^
|
||||
(link-extension))
|
Loading…
Reference in New Issue
Block a user