Changeset 35584 in project
- Timestamp:
- 06/12/18 09:50:49 (3 years ago)
- Location:
- release/5/bind
- Files:
-
- 2 added
- 18 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
release/5/bind/tags/1.1/bind-translator.scm
r34497 r35584 21 21 bind-foreign-lambda*) 22 22 23 (import scheme chicken)24 (import ( only (chicken data-structures) rassoc intersperse identity))25 (import (chicken string))23 (import scheme) 24 (import (chicken base) (chicken file) (chicken port) 25 (chicken syntax) (chicken fixnum)) 26 26 (import (chicken pathname)) 27 27 (import srfi-1) … … 29 29 (import matchable) 30 30 (import (chicken format)) 31 (import (chicken string)) 31 32 (import (chicken pretty-print)) 32 33 -
release/5/bind/tags/1.1/bind.egg
r34025 r35584 2 2 (category ffi) 3 3 (license "public domain") 4 (dependencies silex matchable coops make)4 (dependencies silex matchable coops srfi-1) 5 5 (test-dependencies test) 6 6 (author "[[felix winkelmann]]") 7 7 (components 8 8 (host 9 (extension bind ( dependencies bind-translator))10 (extension bind-translator ( dependencies grammar))9 (extension bind (component-dependencies bind-translator)) 10 (extension bind-translator (component-dependencies grammar)) 11 11 (generated-source-file grammar 12 12 (source "c.l.scm") 13 (custom-build " csi -s runsilex.scm"))13 (custom-build "gen-lexer")) 14 14 (extension cplusplus-object) 15 (program chicken-bind ( dependencies bind-translator)))))15 (program chicken-bind (component-dependencies bind-translator))))) -
release/5/bind/tags/1.1/bind.scm
r34025 r35584 13 13 bind-include-path) 14 14 15 (import scheme chicken foreign)15 (import scheme (chicken base) (chicken foreign) (chicken syntax)) 16 16 17 17 (begin-for-syntax 18 18 (import bind-translator) 19 (import (chicken io)) 19 20 (import srfi-1) 20 (import srfi-13)) 21 (import srfi-13) 22 23 (define emitted-prelude #f) 24 (define prelude #<<EOF 25 #define ___fixnum int 26 #define ___number double 27 #define ___bool int 28 #define ___byte char 29 #define ___scheme_value C_word 30 #define ___scheme_pointer void * 31 #define ___blob void * 32 #define ___pointer_vector void ** 33 #define ___symbol char * 34 #define ___safe 35 #define ___declare(x, y) 36 #define ___specialize 37 #define ___abstract 38 #define ___discard 39 #define ___in 40 #define ___out 41 #define ___inout 42 #define ___mutable 43 #define ___length(var) 44 #define ___pointer 45 #define ___u32 C_u32 46 #define ___s32 C_s32 47 #define ___u64 C_u64 48 #define ___s64 C_s64 49 EOF 50 )) 21 51 22 52 (define-syntax bind 53 (er-macro-transformer 23 54 (lambda (x r c) 24 55 (let ((strs (append (cdr x) '("\n")))) 25 56 `(,(r 'begin) 26 ,@(parse-easy-ffi (string-concatenate strs) r))))) 57 ,@(parse-easy-ffi (string-concatenate strs) r)))))) 27 58 28 59 (define-syntax bind* 60 (er-macro-transformer 29 61 (lambda (x r c) 30 (let ((strs (append (cdr x) '("\n")))) 62 (let* ((strs (append (cdr x) '("\n"))) 63 (decls (if emitted-prelude strs (cons prelude strs)))) 64 (set! emitted-prelude #t) 31 65 `(,(r 'begin) 32 (,(r 'declare) (foreign-declare ,@ strs))33 (,(r 'bind) ,@strs)) ) )) 66 (,(r 'declare) (foreign-declare ,@decls)) 67 (,(r 'bind) ,@strs)) ) ))) 34 68 35 69 (define-for-syntax (bind:read-file f) … … 39 73 (else 40 74 (syntax-error 'bind-file "invalid filename" f))))) 41 ( read-all fname)))75 (with-input-from-file fname read-list))) 42 76 43 77 (define-syntax bind-file … … 52 86 53 87 (define-syntax bind-include-path 88 (er-macro-transformer 54 89 (lambda (x r c) 55 90 (set! ffi-include-path-list (append (cdr x) ffi-include-path-list)) 56 `(,(r 'void) ) ) ) 91 `(,(r 'void) ) ) )) 57 92 58 93 (define-syntax bind-type -
release/5/bind/tags/1.1/chicken-bind.scm
r34497 r35584 1 1 ;;;; chicken-bind.scm - Standalone wrapper generator 2 2 3 (module chicken-bind () 3 4 4 (import scheme chicken)5 (import scheme (chicken port)) 5 6 (import srfi-1) 6 7 (import bind-translator) 7 (import (chicken pathname) (chicken io)) 8 (import (chicken pathname) (chicken io) (chicken base) (chicken port)) 9 (import (chicken irregex) (chicken process-context)) 10 (import (chicken pretty-print)) 8 11 9 12 (define (usage #!optional (status 0)) … … 87 90 (for-each 88 91 (lambda (f) 92 (define (read-from-file-or-stdin) 93 (if (string=? f "-") 94 (read-string #f (current-input-port)) 95 (call-with-input-file f (lambda (p) (read-string #f p))))) 89 96 (define (process) 90 97 (print "\n;;; GENERATED BY CHICKEN-BIND FROM " f #\newline) 91 98 (pp `(begin 92 ,@(parse-easy-ffi 93 (read-string 94 #f 95 (if (string=? f "-") 96 (current-input-port) 97 f) ) 98 identity 99 chunkify-only 100 f))) 99 ,@(parse-easy-ffi (read-from-file-or-stdin) 100 identity 101 chunkify-only 102 f))) 101 103 (print "\n;;; END OF FILE")) 102 104 (cond ((equal? "-" output) (process)) … … 109 111 110 112 (main (command-line-arguments)) 113 114 ) -
release/5/bind/tags/1.1/cplusplus-object.scm
r18751 r35584 4 4 (module cplusplus-object (<c++-object> new delete constructor destructor) 5 5 6 (import scheme chicken) 7 (use coops) 6 (import scheme (chicken base) coops) 8 7 9 8 (define-class <c++-object> () (this)) -
release/5/bind/tags/1.1/runsilex.scm
r21505 r35584 3 3 ; Runs silex and generates c.l.scm 4 4 5 ( require-extensionsilex)5 (import silex) 6 6 7 7 (lex "c.l" "c.l.scm" 'counters 'line) -
release/5/bind/tags/1.1/tests/cplusplus-test.scm
r34025 r35584 51 51 (print "full specialization") 52 52 53 ( usecoops-primitive-objects)53 (import coops-primitive-objects) 54 54 55 55 (bind-options full-specialization: #t) -
release/5/bind/tags/1.1/tests/foreign-transformer-test.scm
r34025 r35584 4 4 (import (chicken pretty-print)) 5 5 6 (begin-for-syntax 7 (import bind-translator matchable) 8 (import (chicken pretty-print)) 9 (import (chicken data-structures)) 10 (import srfi-1)) 6 (import-for-syntax bind-translator matchable) 7 (import-for-syntax (chicken pretty-print)) 8 (import-for-syntax (chicken string)) 9 (import-for-syntax srfi-1) 11 10 12 11 (begin-for-syntax -
release/5/bind/tags/1.1/tests/tests.scm
r34025 r35584 1 1 (import coops) 2 (import bind foreign)2 (import bind (chicken foreign)) 3 3 4 4 (bind* #<<EOF -
release/5/bind/trunk/bind-translator.scm
r34497 r35584 21 21 bind-foreign-lambda*) 22 22 23 (import scheme chicken)24 (import ( only (chicken data-structures) rassoc intersperse identity))25 (import (chicken string))23 (import scheme) 24 (import (chicken base) (chicken file) (chicken port) 25 (chicken syntax) (chicken fixnum)) 26 26 (import (chicken pathname)) 27 27 (import srfi-1) … … 29 29 (import matchable) 30 30 (import (chicken format)) 31 (import (chicken string)) 31 32 (import (chicken pretty-print)) 32 33 -
release/5/bind/trunk/bind.egg
r34025 r35584 2 2 (category ffi) 3 3 (license "public domain") 4 (dependencies silex matchable coops make)4 (dependencies silex matchable coops srfi-1) 5 5 (test-dependencies test) 6 6 (author "[[felix winkelmann]]") 7 7 (components 8 8 (host 9 (extension bind ( dependencies bind-translator))10 (extension bind-translator ( dependencies grammar))9 (extension bind (component-dependencies bind-translator)) 10 (extension bind-translator (component-dependencies grammar)) 11 11 (generated-source-file grammar 12 12 (source "c.l.scm") 13 (custom-build " csi -s runsilex.scm"))13 (custom-build "gen-lexer")) 14 14 (extension cplusplus-object) 15 (program chicken-bind ( dependencies bind-translator)))))15 (program chicken-bind (component-dependencies bind-translator))))) -
release/5/bind/trunk/bind.scm
r34025 r35584 13 13 bind-include-path) 14 14 15 (import scheme chicken foreign)15 (import scheme (chicken base) (chicken foreign) (chicken syntax)) 16 16 17 17 (begin-for-syntax 18 18 (import bind-translator) 19 (import (chicken io)) 19 20 (import srfi-1) 20 (import srfi-13)) 21 (import srfi-13) 22 23 (define emitted-prelude #f) 24 (define prelude #<<EOF 25 #define ___fixnum int 26 #define ___number double 27 #define ___bool int 28 #define ___byte char 29 #define ___scheme_value C_word 30 #define ___scheme_pointer void * 31 #define ___blob void * 32 #define ___pointer_vector void ** 33 #define ___symbol char * 34 #define ___safe 35 #define ___declare(x, y) 36 #define ___specialize 37 #define ___abstract 38 #define ___discard 39 #define ___in 40 #define ___out 41 #define ___inout 42 #define ___mutable 43 #define ___length(var) 44 #define ___pointer 45 #define ___u32 C_u32 46 #define ___s32 C_s32 47 #define ___u64 C_u64 48 #define ___s64 C_s64 49 EOF 50 )) 21 51 22 52 (define-syntax bind 53 (er-macro-transformer 23 54 (lambda (x r c) 24 55 (let ((strs (append (cdr x) '("\n")))) 25 56 `(,(r 'begin) 26 ,@(parse-easy-ffi (string-concatenate strs) r))))) 57 ,@(parse-easy-ffi (string-concatenate strs) r)))))) 27 58 28 59 (define-syntax bind* 60 (er-macro-transformer 29 61 (lambda (x r c) 30 (let ((strs (append (cdr x) '("\n")))) 62 (let* ((strs (append (cdr x) '("\n"))) 63 (decls (if emitted-prelude strs (cons prelude strs)))) 64 (set! emitted-prelude #t) 31 65 `(,(r 'begin) 32 (,(r 'declare) (foreign-declare ,@ strs))33 (,(r 'bind) ,@strs)) ) )) 66 (,(r 'declare) (foreign-declare ,@decls)) 67 (,(r 'bind) ,@strs)) ) ))) 34 68 35 69 (define-for-syntax (bind:read-file f) … … 39 73 (else 40 74 (syntax-error 'bind-file "invalid filename" f))))) 41 ( read-all fname)))75 (with-input-from-file fname read-list))) 42 76 43 77 (define-syntax bind-file … … 52 86 53 87 (define-syntax bind-include-path 88 (er-macro-transformer 54 89 (lambda (x r c) 55 90 (set! ffi-include-path-list (append (cdr x) ffi-include-path-list)) 56 `(,(r 'void) ) ) ) 91 `(,(r 'void) ) ) )) 57 92 58 93 (define-syntax bind-type -
release/5/bind/trunk/chicken-bind.scm
r34497 r35584 1 1 ;;;; chicken-bind.scm - Standalone wrapper generator 2 2 3 (module chicken-bind () 3 4 4 (import scheme chicken)5 (import scheme (chicken port)) 5 6 (import srfi-1) 6 7 (import bind-translator) 7 (import (chicken pathname) (chicken io)) 8 (import (chicken pathname) (chicken io) (chicken base) (chicken port)) 9 (import (chicken irregex) (chicken process-context)) 10 (import (chicken pretty-print)) 8 11 9 12 (define (usage #!optional (status 0)) … … 87 90 (for-each 88 91 (lambda (f) 92 (define (read-from-file-or-stdin) 93 (if (string=? f "-") 94 (read-string #f (current-input-port)) 95 (call-with-input-file f (lambda (p) (read-string #f p))))) 89 96 (define (process) 90 97 (print "\n;;; GENERATED BY CHICKEN-BIND FROM " f #\newline) 91 98 (pp `(begin 92 ,@(parse-easy-ffi 93 (read-string 94 #f 95 (if (string=? f "-") 96 (current-input-port) 97 f) ) 98 identity 99 chunkify-only 100 f))) 99 ,@(parse-easy-ffi (read-from-file-or-stdin) 100 identity 101 chunkify-only 102 f))) 101 103 (print "\n;;; END OF FILE")) 102 104 (cond ((equal? "-" output) (process)) … … 109 111 110 112 (main (command-line-arguments)) 113 114 ) -
release/5/bind/trunk/cplusplus-object.scm
r18751 r35584 4 4 (module cplusplus-object (<c++-object> new delete constructor destructor) 5 5 6 (import scheme chicken) 7 (use coops) 6 (import scheme (chicken base) coops) 8 7 9 8 (define-class <c++-object> () (this)) -
release/5/bind/trunk/runsilex.scm
r21505 r35584 3 3 ; Runs silex and generates c.l.scm 4 4 5 ( require-extensionsilex)5 (import silex) 6 6 7 7 (lex "c.l" "c.l.scm" 'counters 'line) -
release/5/bind/trunk/tests/cplusplus-test.scm
r34025 r35584 51 51 (print "full specialization") 52 52 53 ( usecoops-primitive-objects)53 (import coops-primitive-objects) 54 54 55 55 (bind-options full-specialization: #t) -
release/5/bind/trunk/tests/foreign-transformer-test.scm
r34025 r35584 4 4 (import (chicken pretty-print)) 5 5 6 (begin-for-syntax 7 (import bind-translator matchable) 8 (import (chicken pretty-print)) 9 (import (chicken data-structures)) 10 (import srfi-1)) 6 (import-for-syntax bind-translator matchable) 7 (import-for-syntax (chicken pretty-print)) 8 (import-for-syntax (chicken string)) 9 (import-for-syntax srfi-1) 11 10 12 11 (begin-for-syntax -
release/5/bind/trunk/tests/tests.scm
r34025 r35584 1 1 (import coops) 2 (import bind foreign)2 (import bind (chicken foreign)) 3 3 4 4 (bind* #<<EOF
Note: See TracChangeset
for help on using the changeset viewer.