[Cython] command to only parse cython statements ?
Sebastien Binet
seb.binet at gmail.com
Wed Jun 10 17:54:57 CEST 2009
On Wednesday 10 June 2009 08:07:23 Stefan Behnel wrote:
> Hi,
>
> Dag Sverre Seljebotn wote:
> > Sebastien Binet wrote:
> >> Just for fun and to see how cython works, I am trying to write a
> >> CythonInterpreter inheriting from the usual code.InteractiveConsole.
>
> Way cool. I always wanted something like that for quickly checking out code
> snippets without going all the way through writing a module and
> pyximporting it.
>
> >> So far so good, I manage to compile cython-oneliners (leveraging
> >> pyximport.load_module) but then I'd need some help for multi-lines
> >> statements:
> >> ## ex:
> >> cdef class Foo:
> >> pass
> >> ##
> >>
> >> for this to work in a reasonnable timely fashion, I'd need to see if
> >> parsing the snippet of code is valid cython (without compiling).
>
> The current parser isn't made for parsing things interactively, so I have
> no idea if this is trivial or hard to do.
>
> You might get away with checking for parser errors that indicate a missing
> indentation after the last character that you passed. Every parse error
> inside or before the last line would indicate a 'real' parser error.
thanks for the hint.
So I am now able to successfully enter at the cython prompt:
cython> cdef class Foo:
... cdef int i
yeah!
the problem I get now is that I am out of luck if I want to actually do:
cdef class Foo:
cdef int i
cdef int j
as the class Foo is compiled just after I entered "cdef int i"...
I suppose I would have to know the indentation context of the last statement
(if indent_lvl>0, gimme a new line)
hum... maybe I am not tackling this from the correct angle (perhaps that a
simple buffer of strings filled while the last entry is not the_empty_string
would do as I quick hack...)
cheers,
sebastien.
--
#########################################
# Dr. Sebastien Binet
# Laboratoire de l'Accelerateur Lineaire
# Universite Paris-Sud XI
# Batiment 200
# 91898 Orsay
#########################################
More information about the Cython-dev
mailing list