[pypy-dev] Translating safely (without executing)

Kirk Liberty kirk.liberty at gmail.com
Tue Jan 29 10:03:43 CET 2013


Ronny,

I hadn't really thought of it as a program being imported, rather than
just read as a text file. I'll add the check in my programs, thank
you.

Regards,
Kirk


On Mon, Jan 28, 2013 at 6:55 PM, Ronny Pfannschmidt
<Ronny.Pfannschmidt at gmx.de> wrote:
> Hi Kirk,
>
> you need to check for
> __name__ == '__main__' before the last line
>
> rpython does load code by importing
> and the last line will always run the program,
> guard it with a condition, and it will work fine
>
> best, Ronny
>
>
>
> On 01/29/2013 12:50 AM, Kirk Liberty wrote:
>>
>> ronny,
>>
>> Well the fan control command turned out not to be in rpython, so it
>> failed to translate, but it still stopped the fan first. Here's an
>> example of a program that would not translate because it just enters
>> an infinite loop.
>>
>> from time import sleep
>> def main(argv):
>>    while True:
>>      print "looping"
>>      sleep(1)
>>    return 0
>> def target(driver,args):
>>    return main,None
>> main(1)
>>
>> command to translate>  python ~/pypy/translator/goal/translate.py
>> --batch --output loop loop.py
>>
>> Regards,
>> Kirk
>>
>> On Mon, Jan 28, 2013 at 6:35 PM, Ronny Pfannschmidt
>> <Ronny.Pfannschmidt at gmx.de>  wrote:
>>>
>>> Hi Kirk,
>>>
>>> could you please provide more context?
>>>
>>> the translator does not execute the actual rpython program as code, just
>>> the
>>> surrounding imports (using python to metaprogramm the rpython)
>>>
>>> so its likely that the cpu fan off thing is a missunderstanding
>>>
>>> best, Ronny
>>>
>>>
>>> On 01/28/2013 11:37 PM, Kirk Liberty wrote:
>>>>
>>>>
>>>> Hello all,
>>>>
>>>> Is it possible to use PyPy's translation tool without having it
>>>> execute the program? I think this would be important for programs with
>>>> infinite loops, or ones which could do potentially dangerous things
>>>> ie. when trying to translate a program to control a GPU fan, the fan
>>>> was commanded off during a high work load.
>>>>
>>>> Thank you,
>>>> Kirk
>>>> _______________________________________________
>>>> pypy-dev mailing list
>>>> pypy-dev at python.org
>>>> http://mail.python.org/mailman/listinfo/pypy-dev
>>>
>>>
>>>
>


More information about the pypy-dev mailing list