рд╕рд╛рдерд┐рдпреЛрдВ,
рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ, рдореИрдВрдиреЗ рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬреЛ рдЬрд╛рд╡рд╛ + рдЕрдЬрдЧрд░ + рдХреБрдЫ рдмреБрдирд┐рдпрд╛рджреА рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИред рд╡рд┐рдХрд╛рд╕ рдХрд╛ рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рдЪрд░рдг рдЕрдЬрдЧрд░ рдореЗрдВ jdk7 рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред (рдЕрдЬрдЧрд░ рдореЗрдВ рдЬрд╛рд╡рд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп)
рдХреЛрдб
www.pyjvm.org рдпрд╛
github рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИ:
github.com/andrewromanenco/pyjvmрд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
java -cp . some.code.ToExecute
рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ ...
python java.py -cp . some.code.ToExecute
рдХреБрдЫ рдиреЛрдЯ (рднрд╡рд┐рд╖реНрдп рдХреА рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХреЗ рдмрд┐рдирд╛):
- рдЕрдЬрдЧрд░ 2.7
- рд╕рднреА рдмрд╛рдЗрдЯ рдХреЛрдб рдСрдкрд░реЗрд╢рди рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ
- рдЕрдзрд┐рдХрд╛рдВрд╢ рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдг (рдЙрджрд╛ред рдЕрдкрд╡рд╛рдж)
- рдмрд╣реБ рд╕реВрддреНрд░рдг
- stdin / stdout
- рдЯреЗрд╕реНрдЯрд╛рд╕реИрд╕ / src рдореЗрдВ рдЬрд╛рд╡рд╛ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг
(!!) рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╕рднреА рдЬрд╛рд╡рд╛ рдПрдкрд┐ рджреЗрд╢реА рддрд░реАрдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ - рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдЬрд╛рд╡рд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛:
Exception: Op (SOME_NAME_HERE) is not yet supported in natives
рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХреНрдпрд╛ рдЧрд╛рдпрдм рд╣реИ: рд╡рд┐рднрд┐рдиреНрди рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдгрдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 5 рдирд┐рдГрд╢реБрд▓реНрдХ рдорд┐рдирдЯ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЪрд▓рд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред
1ред
git рдХреНрд▓реЛрди рдХреНрд▓реЛрди
github.com/andrewromanenco/pyjvm.git2ред
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ jdk7 рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ: get_rt.py ./rt рд╕реЗ - rt.jar (java classes) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреМрдбрд╝реЗрдВ
рдЕрдЧрд░ jdk7 рд╕реНрдерд╛рдкрд┐рдд рд╣реИ - JAVA_HOME рдХреЗ тАЛтАЛрд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд░реЗрдВ
3ред
рд╕реАрдбреА рд╡реГрд╖рдг
python test_runner.py> output.txt
python test_report.py output.txt
4ред
рдпрджрд┐ рдкрд░реАрдХреНрд╖рдг рдкрд╛рд╕ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЕрдкрдиреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рд╡рд┐рд╖рдп рдкрд░ рдПрдХ рдЯрд┐рдкреНрдкрдгреА рд▓рд┐рдЦреЗрдВред
рдпрджрд┐ рд╕рдм рдХреБрдЫ рдмреБрд░рд╛ рд╣реИ - рд▓рд┐рдЦреЛ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ - рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЬреАрдердм рдореЗрдВ - рдЖрдкрдХреЗ рдУрдПрд╕ рдХреЗ рд╕рд╛рдеред
рдЖрдкрдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рдж!