Class Ffi-Generator
This class encapsulates the generation of FFI bindings from XML files generated by GCC-XML.
Slot
bindings | Reader:ffi-bindings; Type:list. |
---|
name | Initform:ffi, Initargs::name; Accessors:ffi-name. |
---|
name-mappings | Initform:(make-hash-table
test
#'equal); Reader:ffi-name-mappings. |
---|
output-file | Initargs::output-file; Accessors:ffi-output-file. |
---|
parse-tree | Initargs::parse-tree; Accessors:ffi-parse-tree; Type:list. |
---|
type-mappings | Initform:(make-hash-table
test
#'equal); Reader:ffi-type-mappings. |
---|
xml-file | Initargs::xml-file; Accessors:ffi-xml-file. |
---|
Direct Method
bindings-for-node | Returns a list of FFI binding forms for node. Type-key should be a keyword symbol of the node ty... |
---|
ffi-output-file | |
---|
files-to-ignore | GCC-XML includes standard definitions from its own header files. These should probably be ignore... |
---|
generate-bindings | Generates bindings from the XML-File, if the slot is set, or from the parse-tree. If neither XML... |
---|
make-ffi-bindings | Sets the bindings slot to a list of FFI bindings. |
---|
make-id-mappings | Creates name and type-mappings from FFI-GEN's parse-tree. |
---|
name-with-id | Returns a name associated with ID. This is necessary when a struct or union (and others?) are de... |
---|
parse-xml | Parses an XML file created by GCC-XML and sets FFI-GEN's parse-tree slot to a Lisp tree as genera... |
---|
sort-bindings | Sorts the FFI bindings so that prerequisite definitions are before where they are needed. I'm no... |
---|
translate-type | Translates a C typedef to an FFI type. Returns nil if node is not a type definition, a symbol or... |
---|
type-with-id | Returns the FFI type for the given id string. This tracks down any necessary references. |
---|
write-bindings | Writes the generated bindings out to output-file. |
---|