+ export make-integer-constant, make-string-constant
+ added generate-binding
This commit is contained in:
parent
7e51c85710
commit
c7a73723dc
|
@ -10,6 +10,9 @@
|
|||
constant-c-value-name
|
||||
constant-type
|
||||
|
||||
make-integer-constant
|
||||
make-string-constant
|
||||
|
||||
make-constant-from-c-name
|
||||
make-constant-from-c-name-integer
|
||||
|
||||
|
@ -17,6 +20,7 @@
|
|||
generate-c-enter-values-function
|
||||
generate-c-gc-protect-globals-function
|
||||
|
||||
generate-binding
|
||||
generate-finite-type-definition
|
||||
make-drop-common-prefix-name-converter))
|
||||
|
||||
|
|
|
@ -28,6 +28,16 @@
|
|||
(define (constant-name->value-name constant-name)
|
||||
(string-append c-value-name-prefix constant-name))
|
||||
|
||||
(define (make-integer-constant c-name scheme-name)
|
||||
(make-constant c-name scheme-name
|
||||
(constant-name->value-name c-name)
|
||||
constant-type-int))
|
||||
|
||||
(define (make-string-constant c-name scheme-name)
|
||||
(make-constant c-name scheme-name
|
||||
(constant-name->value-name c-name)
|
||||
constant-type-string))
|
||||
|
||||
(define (make-constant-from-c-name c-name type)
|
||||
(let ((scheme-name (constant-name->scheme-name c-name)))
|
||||
(make-constant c-name scheme-name
|
||||
|
@ -87,6 +97,11 @@
|
|||
|
||||
;;; generating scheme code
|
||||
|
||||
(define (generate-binding constant)
|
||||
(format "(define ~a (lookup-shared-binding \"~a\"))~%"
|
||||
(constant-scheme-name constant)
|
||||
(constant-c-value-name constant)))
|
||||
|
||||
(define (generate-finite-type-definition ft-name name-converter constants)
|
||||
(let ((predicate-name (string-append ft-name "-object?"))
|
||||
(elements-name (string-append ft-name "-elments"))
|
||||
|
|
Loading…
Reference in New Issue