On Aug 6, 2008, at 9:35 AM, Dag Sverre Seljebotn wrote: > Robert Bradshaw wrote: >> On Aug 6, 2008, at 1:49 AM, Dag Sverre Seljebotn wrote: >> >>> Obviously my past efforts weren't good enough: >>> >>> DEF MYLEN = 3 >>> c = sizeof(MyStruct[MYLEN]) >>> >>> So it seems that the parser can never discern the current syntax >>> (MYLEN >>> could have been a typedef and MyStruct and extension type, and >>> then it >>> would have been buffer syntax). >>> >>> So if keeping the current syntax, I seem to have no choice but to >>> create >>> a TrailingBracketTypeNode and delay the decision until type >>> analysis. >>> This takes some work, and adds complexity, so I want to be sure >>> that it >>> is needed first. >> >> I'm not understanding why we need to introduce a new node here, why >> not let the sizeof operator be OK with index nodes? > > Yes, if you can guarantee me that the sizeof operator is the only > place > this happens, and that the sizeof name cannot ever be overriden and so > on, I could do that. > > The thing is, I've been bitten so many times by wrong assumptions > by now > that I'd rather use a new rule controlling the thing: If [] is used > on a > pyobject, then it is buffer, on a native type, then array. But then I > need to defer the resolution of what the [] means until type analysis > time.
I think this makes sense. > (Basically I need to merge the buffer and array type nodes and set > some flags, so the number of node types are reduced.) > >> >>> So, can I leave this bug in until the outcome of the syntax is more >>> conclusive? (I'm currently gathering some response from the NumPy >>> list >>> and I want to see if they come up with anything...) >> >> Yes, as long as we don't take too long. > > I'll likely fix it tomorrow, if the syntax is kept (which I think it > will be). > > -- > Dag Sverre > > > _______________________________________________ > Cython-dev mailing list > [email protected] > http://codespeak.net/mailman/listinfo/cython-dev _______________________________________________ Cython-dev mailing list [email protected] http://codespeak.net/mailman/listinfo/cython-dev
