mirror of
https://github.com/louisrubet/rpn
synced 2024-12-30 10:23:32 +01:00
54 lines
918 B
Text
54 lines
918 B
Text
## PROGRAM
|
|
|
|
# program
|
|
<< 'one' >>
|
|
-> stack size should be 1
|
|
-> stack should be << 'one' >>
|
|
erase
|
|
|
|
# program (2)
|
|
<< 'one' 2
|
|
-> stack size should be 1
|
|
-> stack should be << 'one' 2 >>
|
|
erase
|
|
|
|
# program (3)
|
|
<<
|
|
-> stack size should be 1
|
|
-> stack should be << >>
|
|
erase
|
|
|
|
# program (4)
|
|
<< << << <<
|
|
-> stack size should be 1
|
|
-> stack should be << << << << >> >> >> >>
|
|
erase
|
|
|
|
# program (5)
|
|
<< -> n << n 2 * >> >>
|
|
-> stack size should be 1
|
|
-> stack should be << -> n << n 2 * >> >>
|
|
erase
|
|
|
|
# program imbrication
|
|
<< 1 << 2 >> >>
|
|
-> stack should be << 1 << 2 >> >>
|
|
erase
|
|
|
|
# program evaluation
|
|
<< 1 << 2 >> >> dup eval
|
|
-> stack should be << 1 << 2 >> >>, 1, << 2 >>
|
|
erase
|
|
|
|
# program 1 arg
|
|
default
|
|
10
|
|
<< -> n << 0 1 n for i i 2 * inv + next >> >>
|
|
eval
|
|
-> stack should be 1.4644841269841269841
|
|
erase
|
|
|
|
# program several args
|
|
0 1 10 << -> u0 u1 n << u0 u1 1 n start dup2 + rot drop next swap drop >> >> eval
|
|
eval
|
|
-> stack should be 89
|