Python to Free42/DM42/HP42s

Существует конвертер Питона в RPN:
https://pyrpn.herokuapp.com/

Например:

 def demo():
    total = 0
    for i in range(10):
        result = calc_something(i, 5)
        print('Counter', i, 'result=', total)
        total += result
    print('Final total was:', total)
 
def calc_something(a,b):
    # adds two numbers then squares them
    return (a + b)**2

Полученный RPN:

 01 LBL "demo"
02 0
03 STO 00          // total 
04 -1.009
05 STO 01          // range i
06 LBL 00          // for
07 ISG 01          // i
08 GTO 01          // for body
09 GTO 02          // resume
10 LBL 01          // for body
11 RCL 01          // i
12 IP
13 5
14 XEQ A           // calc_something()
15 STO 02          // result 
16 "Counter"
17" "
18 RCL 01          // i
19 IP
20 ARCL ST X
21" "
22"result="
23" "
24 ARCL 00         // total
25 AVIEW
26 RCL 02          // result
27 STO+ 00
28 GTO 00          // for
29 LBL 02          // resume
30 "Final total was"
31":"
32" "
33 ARCL 00         // total
34 AVIEW
35 RTN             // end def demo
36 LBL A           // def calc_something
37 XEQ "p2Param"   // reorder 2 params for storage
38 STO 03          // param: a
39 RDN
40 STO 04          // param: b
41 RDN
42 RCL 03          // a
43 RCL 04          // b
44 +
46 X↑2
47 RTN             // return

В свете появления нового пользователя DM42 вспомнил про этот компилятор Питона в код калькулятора. Похоже, проект накрылся медным тазом. А жалко, все-таки писать софт на ЯВУ сильно удобнее.

UPDATE: вроде, компилятор теперь тут.