Added c-cast, struct member peeks, param syntax checking.
authorMatt Birkholz <matt@birkholz.chandler.az.us>
Sun, 31 Oct 2010 00:05:05 +0000 (17:05 -0700)
committerMatt Birkholz <matt@birkholz.chandler.az.us>
Sun, 31 Oct 2010 00:05:05 +0000 (17:05 -0700)
commit1ff7beaf87bad316c28162db3052009d3ca2c5c1
tree1eb740418cbecc297e82d99de95a577220741a33
parent22e805300d837b87b885ecaa4c81d69582cd3f63
Added c-cast, struct member peeks, param syntax checking.

* src/ffi/cdecls.scm (valid-param): Check that the param name does not
contain `-', nor any other non-C identifier chars.  These names go
into the generated .c files.

* src/ffi/syntax.scm (expand-peek): Allow peeks at struct members to
create or set an alien, just as peeking an array member does already.

* src/ffi/ffi.scm (c-cast): New.  Basically set-%alien/ctype! with a
convenient return value.

(alien/address, copy-alien-address!, alien-null?, alien-null!, alien=?):
Declare these as integrable operators, not via define-integrable.
Their arguments are referenced multiple times.

* src/runtime/runtime.pkg (runtime ffi): Export c-cast to ().
src/ffi/cdecls.scm
src/ffi/syntax.scm
src/runtime/ffi.scm
src/runtime/runtime.pkg