[fetter-devel] parsing of extern

Osei Poku osei.poku at gmail.com
Fri Aug 8 00:33:32 UTC 2008


Ok so after further investigation, the problem turns out to be that  
when the given the following class

defclass gccxml:externable-node (gccxml:definition)
   ((gccxml:extern
     :type boolean
     :accessor gccxml:extern?)))

OpenMCL does this:

? (closer-mop:slot-definition-type (flexml::find-slot (find-class  
'gccxml:externable-node) 'gccxml:extern))
(MEMBER T NIL)

So, when inside the start-element method, the type of the the slot  
does not match anything and so is not transformed...

Anyway, I modified the (eq slot-type 'boolean) to (or (eq slot-type  
'boolean) (equal slot-type '(member t nil)))
and it actually completes, but the contents of the bindings generated  
seem to be lacking any actual binding.

This is a binding generated for the graphviz library using (generate- 
graphviz-binding).

;;; Generated by Verrazano 0.5
;;; WARNING: This is a generated file, editing it is unwise!


(COMMON-LISP:IN-PACKAGE :CL-USER)

(COMMON-LISP:DEFPACKAGE :GRAPHVIZ-CFFI-BINDINGS (:USE :CFFI)  
(:NICKNAMES) (:EXPORT))

(COMMON-LISP:IN-PACKAGE :GRAPHVIZ-CFFI-BINDINGS)

(COMMON-LISP:DEFUN VERRAZANO::VTABLE-LOOKUP (VERRAZANO::POBJ  
VERRAZANO::INDX VERRAZANO::COFF) (COMMON-LISP:LET ((VERRAZANO::VPTR  
(MEM-REF VERRAZANO::POBJ :POINTER VERRAZANO::COFF))) (MEM-AREF  
VERRAZANO::VPTR :POINTER (COMMON-LISP:- VERRAZANO::INDX 2))))

(COMMON-LISP:DEFMACRO VERRAZANO::VIRTUAL-FUNCALL (VERRAZANO::POBJ  
VERRAZANO::INDX VERRAZANO::COFF COMMON-LISP:&BODY VERRAZANO::BODY)  
(COMMON-LISP:LIST* 'FOREIGN-FUNCALL-POINTER (COMMON-LISP:LIST* (COMMON- 
LISP:LIST* 'VERRAZANO::VTABLE-LOOKUP (COMMON-LISP:LIST*  
VERRAZANO::POBJ (COMMON-LISP:LIST* VERRAZANO::INDX (COMMON-LISP:LIST  
VERRAZANO::COFF)))) (COMMON-LISP:LIST* COMMON-LISP:NIL  
VERRAZANO::BODY))))




On Aug 2, 2008, at 9:47 AM, Attila Lendvai wrote:

>> Sure.. attached... The first thing is the result when I run
>> generate-opengl-binding as is...  The backtrace is obtained by  
>> removing the
>> handler-bind wrapper around the generate-binding call.
>
> dunno, works for me. i only have two ideas:
>
> - you are not using the latest of the verrazano repo
> - ccl behaves different than sbcl (which is where i've tested)
>
> -- 
> attila




More information about the fetter-devel mailing list