天天看點

pypy rpython_如何在代碼中初始化set()以編譯為pypy的rpython?

我想用pypy的rpython翻譯器來編譯一些python代碼。一個非常簡單的玩具例子,它不會做任何事情:

def main(argv):

a = []

b = set(a)

print b

return 0

def target(driver,args):

return main,None如果我将它編譯為:

python2.6 ~/Downloads/pypy-1.4.1-src/pypy/translator/goal/translate.py --output trypy trypy.py它不會編譯,而隻是像這樣錯誤地停止:

[translation:ERROR] AttributeError': 'FrozenDesc' object has no attribute 'rowkey'

[translation:ERROR] .. v1 = simple_call((type set), v0)

[translation:ERROR] .. '(trypy:3)main'

[translation:ERROR] Processing block:

[translation:ERROR] [email protected] is a

[translation:ERROR] in (trypy:3)main

[translation:ERROR] containing the following operations:

[translation:ERROR] v0 = newlist()

[translation:ERROR] v1 = simple_call((type set), v0)

[translation:ERROR] v2 = str(v1)

[translation:ERROR] v3 = simple_call((function rpython_print_item), v2)

[translation:ERROR] v4 = simple_call((function rpython_print_newline))

[translation:ERROR] --end--如果我取出它的set()函數。你如何在rpython中使用set?