RosettaCodeData/Task/Mutual-recursion/Symsyn/mutual-recursion.symsyn
2023-07-01 13:44:08 -04:00

56 lines
620 B
Text

F param Fn
if Fn = 0
1 R
else
(Fn-1) nm1
save Fn
call F nm1
result Fr
save Fr
call M Fr
result Mr
restore Fr
restore Fn
(Fn-Mr) R
endif
return R
M param Mn
if Mn = 0
0 R
else
(Mn-1) nm1
save Mn
call M nm1
result Mr
save Mr
call F Mr
result Fr
restore Mr
restore Mn
(Mn-Fr) R
endif
return R
start
i
if i <= 19
call F i
result res
" $s res ' '" $s
+ i
goif
endif
$s []
$s
i
if i <= 19
call M i
result res
" $s res ' '" $s
+ i
goif
endif
$s []