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. |
|---|