1

在它说的文档中,“源”可以是 str 或 AST 对象

尝试编译我的 ast root 时:

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

我得到这个例外:

expected str, got Module

我正在使用 IronPython 的最新版本。

有什么想法为什么这不起作用?我发现的所有示例似乎都是这样做的,没有任何问题。

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

谢谢!!!!

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

4

1 回答 1

0

首先,IronPython 不支持这个。

IronPython 实际上很难支持它(直到今天我才知道它需要支持)。IronPython 的_ast模块是其自身 AST 的包装器,目前仅实现 IronPython AST => CPython AST 的转换,但不能反过来。这是相当多的(老实说,相当乏味)的工作,所以我不确定它什么时候会得到修复。

如果有一个流行的程序或库因此而损坏,则将其移到优先级列表中,并且始终欢迎修补程序。

于 2012-06-10T22:43:01.433 回答