[sugar] Education?
Antoine van Gelder
hummingbird at hivemind.net
Mon Mar 12 02:50:05 EDT 2007
Neal Norwitz wrote:
> On 3/11/07, Antoine van Gelder <hummingbird at hivemind.net> wrote:
>>
>> > If you meant byte code, the final stage of the compiler should be able
>> > to do that just fine.
>>
>> Aha! Was not aware that this was already possible! Best to start digging
>> in compiler.pycodegen ?
>
> You are so brave!
*laugh* - nah, I just don't know any better!!
What I did find was:
--------------------------------------------------------------
Kay Schluehr wrote and Paul Boddie answered:
> Indeed? What can I do with following expression:
>
> >>> import compiler
> >>> expr = compiler.parse("1+2")
> >>> expr
> Module(None, Stmt([Discard(Add((Const(1), Const(2))))]))
>
> Which library function accepts a compiler.ast.Module
> object and generates bytecodes from it?
They don't make it easy. ;-)
compiler.misc.set_filename("test", expr)
g = compiler.pycodegen.ModuleCodeGenerator(expr)
code_object = g.getCode()
Actually generating bytecode files is slightly more involved, but
there's a tool called libxml2macro in libxml2dom which has the magic
incantations. Right now, I can't remember where I looked to find all
this out.
--------------------------------------------------------------
http://www.artima.com/forums/flat.jsp?forum=106&thread=148389&start=30&msRange=15
> a) is pycodegen. This converts the AST that is output from the
<snipped some great info>
> My memory is suspect of course, so you should verify all the details.
> :-) But the basics should give you a better idea what's going on.
>
> We've talked about making a common AST used by CPython, IronPython,
> PyPy, and Jython. However, no work has been done to date and no one
> is actively working on it.
Thanks Neal!
- antoine
More information about the Sugar
mailing list