IronPython compile()不接受AST对象

时间:2012-06-05 00:37:11

标签: parsing ironpython abstract-syntax-tree

在它所说的文档中,'source'可以是str或AST对象

在尝试编译我的根源时:

dl = compile(newRoot, '<string>', 'eval')

我得到了这个例外:

expected str, got Module

我使用的是IronPython的最新版本。

有没有想法为什么这不起作用?我发现的所有例子似乎都没有问题。

是否有解决方法来编译AST对象?

感谢!!!!

PD:我发现了这个问题,但似乎没有活动:http://ironpython.codeplex.com/workitem/32526

1 个答案:

答案 0 :(得分:0)

首先,IronPython不支持此功能。

实际上很难在IronPython中支持(我不知道它需要得到支持直到今天)。 IronPython的_ast模块是它自己的AST的包装器,目前只实现从IronPython转换AST =&gt; CPython AST,但不是相反的。这是一个(诚实,相当乏味)工作,所以我不确定它什么时候会被修复。

如果有一个受欢迎的程序或库因此而被打破,将其上移到优先级列表中,并且随时欢迎补丁。