2010/12/10 Stefan Behnel <stefan...@behnel.de>: > Stefan Behnel, 09.12.2010 10:46: >> Vitja Makarov, 08.12.2010 22:45: >>> Please review this patch. It's not yet finished, and mostly doesn't work. >>> But you can take a look at patch and generated code. >> >> I'll take a close look ASAP. >> >>> - Temps are saved/restored/allocated inside YieldExprNode using >>> helper ClosureTempAllocator > > Ok, that currently lives in ParseTreeTransforms, which is totally the wrong > place for anything that generates code. It also mixes functionality that > normally lives in Symtab.py with functionality that lives in Code.py. >
Yes, I know. That was placed there to give it a try (actually I'm not sure what is the best place for it). ClosureTempAllocator now is attribute of defnode and all yieldnodes, that's not clean. ExprNode.StopIterationNode isn't expression should it be moved to Nodes.py? create_abstract_generator() is rather dirty I don't know how to bind C functions to CClass. I think that generator body could have PyObject *body(PyObject *self, PyObject *value) signature With value=Null meaning exception. > Could you give me ("scoder", or better all Cython devs) commit rights to > your repo so that I can start refactoring the code and fix problems I find? > I've added you, but I don't know how to add all devs together. > I could also add Hudson jobs for it. Robert, would it be ok to add them for > all Python versions? > > Yeah, please that would be nice. >>> - PyxGenerator methods are defined via declare_var >> >> Should we call that "CyGenerator" ? :) > > I actually meant to call it "CyGenerator" at the Python level, but I now > see that it's actually a purely internal thing. That makes __Pyx_Generator > a better choice, given that "__pyx_" is the globally reserved prefix in > Cython code. > Should rename it back ;) > Eventually, we may(!) want to reuse the superclass across modules, but I > currently have no idea how that could be made to work. So it's just another > thing that we don't need to worry about now. > Okay. How can I declare function entry with METH_VARGS signature? Using TypeSlots I can add METH_VARGS|METH_KWARGS entries but not single METH_VARGS That's preferd for "throw" method. -- vitja. _______________________________________________ Cython-dev mailing list Cython-dev@codespeak.net http://codespeak.net/mailman/listinfo/cython-dev