diff --git a/www/chez-policy.sch b/www/chez-policy.sch index e602abf..1a521ad 100644 --- a/www/chez-policy.sch +++ b/www/chez-policy.sch @@ -12,16 +12,16 @@ ; At the outset, everything in the .ffi file is marked as referenced. ; The mechanisms for excluding stuff are based on an item's name. -; exclude-file takes a file name or list of file names and excludes every +; exclude-file takes a file name or list of file names and excludes every ; item defined in that file and files included by it. (exclude-file '()) ; exclude-structure takes a structure name (i.e. either "struct FOO" ; or "union FOO" or "FOO") or list of names and inhibits generation of -; constructors, destructors, accessors, and mutators for it and all -; typedefs derived from it. If the name is a typedef name and the -; structure named has a compiler-generated tag, then the structure +; constructors, destructors, accessors, and mutators for it and all +; typedefs derived from it. If the name is a typedef name and the +; structure named has a compiler-generated tag, then the structure ; named by this typedef is also excluded. (exclude-structure "FILE") @@ -41,11 +41,11 @@ ; Override-prototype gives the named function a new prototype. -(override-prototype "fgets" +(override-prototype "fgets" `(function (,(primitive-type 'string) - ,(primitive-type 'int) - ,(pointer-type (struct-type "FILE"))) - ,(pointer-type (primitive-type 'char)))) + ,(primitive-type 'int) + ,(pointer-type (struct-type "FILE"))) + ,(pointer-type (primitive-type 'char)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -73,7 +73,7 @@ ; values. Values are: warning, alloc-new, and pass-placeholder. If alloc-new ; is the value, then a proxy function will be generated which receives ; the return value, allocates an object on the heap for it, copies the value -; into the allocated memory, and returns a pointer to the memory. +; into the allocated memory, and returns a pointer to the memory. ; If pass-placeholder is the value, then a FF and proxy will be generated ; that take an extra argument (the first); that argument must be a pointer ; to a structure in which to place the value. diff --git a/www/index.html b/www/index.html index 87b9095..c45fccc 100644 --- a/www/index.html +++ b/www/index.html @@ -14,10 +14,10 @@ FFIGEN (Foreign Function Interface GENerator) is a program suite that facilitates the writing of translators from C header files to foreign function interfaces for particular language implementations. -
+
-FFIGEN Manifesto and Overview
+FFIGEN Manifesto and Overview
(HTML) (ps.gz, 26 KB)
@@ -26,7 +26,7 @@ FFIGEN User's Manual
FFIGEN Back-end for Chez Scheme Version 5
-(ps.gz, 52 KB)
+(ps.gz, 52 KB)
There are three motivating observations behind FFIGEN. The first is @@ -56,7 +56,7 @@ FFIGEN is a system that implements the split-translation philosophy.
The current version of FFIGEN is available as a set of modifications to -lcc version 3.4b; you also need to get the lcc sources. +lcc version 3.4b; you also need to get the lcc sources. The FFIGEN distribution includes documentation on how to write back-ends and a documented example back-end for the FFI of Chez Scheme version 5.
- This is a preliminary release of FFIGEN. It works, but + This is a preliminary release of FFIGEN. It works, but is neither complete nor polished.
-Click here to download the
-full FFIGEN distribution. (148 KB)
-
+Click here to download the
+full FFIGEN distribution. (148 KB)
+
This archive has not been updated with the fixes in the bug fix file (below).
@@ -98,15 +98,15 @@ Fixes to chez.sch to handle structs/unions that are declared but not
defined; function pointers; and unsigned shorts (a typo). Also a minor fix
to policy.sch to remove gratuitous non-standard-ness (use of reverse! rather
than reverse). Also included generated standard libraries for Chez Scheme
-back-end (unknowingly left out of distribution). Unpack in lcc main
+back-end (unknowingly left out of distribution). Unpack in lcc main
directory.
-Click here to download an example of a Chez
+Click here to download an example of a Chez
Scheme policy file, left out of distribution.
-Click here to download the lcc
+Click here to download the lcc
3.4b distribution.
(965 KB)
diff --git a/www/manifesto.html b/www/manifesto.html
index 1bfb05c..7c87fe6 100644
--- a/www/manifesto.html
+++ b/www/manifesto.html
@@ -1,9 +1,9 @@
-
+
(define fgets - (foreign-function "fgets" - (string integer-32 unsigned-32) + (foreign-function "fgets" + (string integer-32 unsigned-32) string))@@ -134,7 +134,7 @@ translate as:
(define fgets - (foreign-function "fgets" + (foreign-function "fgets" (unsigned-32 integer-32 unsigned-32) unsigned-32))diff --git a/www/todo.html b/www/todo.html index da18f82..5c3ee29 100644 --- a/www/todo.html +++ b/www/todo.html @@ -14,7 +14,7 @@ Updated 14 June 2000.
lcc -ffigen
); this can
- be useful since the back end can generate C files which
+ be useful since the back end can generate C files which
#includes
the source header file.
#define SoSphSetOverride(_this, state) \ @@ -55,7 +55,7 @@ Updated 14 June 2000.
A number of data structure accessors and mutators are also available. -These are generic procedures which work on all of the record types. +These are generic procedures which work on all of the record types.
(define (file r) ...) ; file name of record @@ -417,7 +417,7 @@ to be investigated:
The development of FFIGEN was supported by ARPA -under U.S. Army grant No. DABT63-94-C-0029, -``Programming Environments, Compiler Technology and Runtime Systems +under U.S. Army grant No. DABT63-94-C-0029, +``Programming Environments, Compiler Technology and Runtime Systems for Object Oriented Parallel Processing''.