FFIGEN To-do list
Updated 14 June 2000.
Intermediate format features
- Full ANSI C support:
- [done] Bitfields.
- General support for type qualifiers.
- Output a machine description.
- Output struct/union sizes.
- Output structure field offsets.
- Output line and column information.
- Retain and output comments.
- Output source file information (the name of the input file to
lcc -ffigen
); this can
be useful since the back end can generate C files which
#includes
the source header file.
- Support certain extensions: Microsoft __huge, __near, __far, __based,
__cdecl, __pascal; GNU __inline; others?
Processing (both front-end and back-end)
Implementation features
- Move to lcc 4.1, and ASDL.
- [done] Move to lcc 3.6.
- [done] Proper integration with lcc. Currently, it uses the lcc driver but
it generates code, performs assembly, and produces file.o (which it need
not do). In addition, the output file is called SYMBOLS but should
rather be called filename.ffi.
Known bugs
- [done] Currently the rhs of a macro is output without any whitespace. This
is not correct if there are two adjacent identifiers or reserved words,
which happens in declarations (consider "const int blah"). [Harold]
Back-ends
- Back-end for Scheme-to-C.
- Back-end for Gambit-C (Harold's got one working, it also does
interesting things with Open Inventor macros (see above)).
- Back-end for Tcl/Tk?
- Back-ends for ILU and Modula-3.
- Back-end for STk.
- Improvements to Chez Scheme back-end.
Miscellaneous
- Advertise on lcc mailing list.
Press here to go to the FFIGEN home page.
lth@acm.org