On Sat, Feb 19, 2011 at 06:31:26PM -0500, W. Trevor King wrote: > On Sat, Feb 19, 2011 at 02:04:16PM -0800, Robert Bradshaw wrote: > > On Sat, Feb 19, 2011 at 1:45 PM, W. Trevor King <wk...@drexel.edu> wrote: > > > Ah. Sorry for all the c(p)def/qualifier confusion, but I'm trying to > > > consolidate the way these are handled in Parsing/Nodes/Symtab and I > > > want to make sure I don't implement the wrong interpretation. Can you > > > clarify how one knows if "public" means "expose a read/write Python > > > interface to this object" or "expose this symbol to external C code"? > > > > Public has had several different meanings. I wish there were a spec > > and full grammer for Cython, but there's not (yet?). The meaning is > > implicit in the code, and there's enough users out there that we > > should stay backwards compatible. It may be worth doing some > > backwards-incompatible normalization before we hit 1.0, but compiling > > the entire Python grammar is higher priority than that. > > Since I'm going to have lots of similar stuff (classes, enums, > structs, unions) all with the same (hopefully) cdef/cpdef/visibility > stuff for members, I'd like to consolidate now. I will of course, add > special-case code as necessary to support the current syntax, which > can then be removed whenever you think it is appropriate, but writing > separate, near-identical handlers for each type seems like a recipe > for disaster ;). > > I'll look to the code for guidance on public, and try to work out the > appropriate meaning during the parse phase.
I've been working on a more explicit parser that removes the ambiguity behind the various visibilities. This will help me ensure proper impolementation of my cdef-ed enums/structs/..., and make it easier to update visibility syntax in the future. Take a look and let me know if you think this is a useful direction to take: git: http://www.physics.drexel.edu/~wking/code/git/cython.git branch: cdef-enums-stucts-and-unions gitweb: http://www.physics.drexel.edu/~wking/code/git/gitweb.cgi?p=cython.git;a=log;h=refs/heads/cdef-enums-stucts-and-unions -- This email may be signed or encrypted with GPG (http://www.gnupg.org). The GPG signature (if present) will be attached as 'signature.asc'. For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy My public key is at http://www.physics.drexel.edu/~wking/pubkey.txt
pgpExMhfTUJMY.pgp
Description: PGP signature
_______________________________________________ cython-devel mailing list cython-devel@python.org http://mail.python.org/mailman/listinfo/cython-devel