[Python-Dev] Changing the Division Operator -- PEP 238, rev 1.12
Samuele Pedroni
Samuele Pedroni <pedroni@inf.ethz.ch>
Mon, 30 Jul 2001 21:27:55 +0200 (MET DST)
[GvR]
>
> > [Michael Hudson]
> > > One - probably called Compile - will sport a __call__ method which
> > > will act much like the builtin "compile" of 2.1 with the
> > > difference that after it has compiled a __future__ statement, it
> > > "remembers" it and compiles all subsequent code with the
> > > __future__ options in effect.
> > >
> > > It will do this by examining the co_flags field of any code object
> > > it returns, which in turn means writing and maintaining a Python
> > > version of the function PyEval_MergeCompilerFlags found in
> > > Python/ceval.c.
>
> > FYI, in Jython (internally) we have a series of compile_flags functions
> > that take a "opaque" object CompilerFlags that is passed to the function
> > and compilation actually change the object in order to reflect future
> > statements encoutered during compilation...
> > Not elegant but avoids code duplication.
> >
> > Of course we can change that.
>
> Does codeop currently work in Jython? The solution should continue to
> work in Jython then.
We have our interface compatible version of codeop that works.
> Does Jython support the same flag bit values as
> CPython? If not, Paul Prescod's suggestion to use keyword arguments
> becomes very relevant.
we support a subset of the co_flags, CO_NESTED e.g. is there with the same
value.
But the embedding API is very different, my implementation of nested
scopes does not define any Py_CF... flags, we have an internal CompilerFlags
object but is more similar to PyFutureFeatures ...
Samuele.