add some comments and tests to LightWeightFlowControl.forth
FossilOrigin-Name: a9c76be4447552090853990e3e8adf73dabc5850a0349902a962df041ae70e60
This commit is contained in:
parent
b8131ba437
commit
547bd93747
1 changed files with 28 additions and 3 deletions
|
@ -1,8 +1,33 @@
|
||||||
|
These are adapted from HerkForth.
|
||||||
|
|
||||||
|
| 0= | n- | exit word if TOS = 0 |
|
||||||
|
| <; | nn- | exit word if NOS < TOS |
|
||||||
|
| >; | nn- | exit word if NOS > TOS |
|
||||||
|
| <>; | nn- | exit word if NOS <> TOS |
|
||||||
|
| if; | f- | exit word if TOS is TRUE |
|
||||||
|
| ?; | f- | exit word if TOS is TRUE. Leave Flag on stack if TRUE. |
|
||||||
|
|
||||||
~~~
|
~~~
|
||||||
:0=; n:zero? [ as{ 'popopodr i 'drdrre.. i }as ] if ;
|
:0=; n:zero? [ as{ 'popopodr i 'drdrre.. i }as ] if ;
|
||||||
:< lt? [ as{ 'popopodr i 'drdrre.. i }as ] if ;
|
:<; lt? [ as{ 'popopodr i 'drdrre.. i }as ] if ;
|
||||||
:> gt? [ as{ 'popopodr i 'drdrre.. i }as ] if ;
|
:>; gt? [ as{ 'popopodr i 'drdrre.. i }as ] if ;
|
||||||
:<> -eq? [ as{ 'popopodr i 'drdrre.. i }as ] if ;
|
:<>; -eq? [ as{ 'popopodr i 'drdrre.. i }as ] if ;
|
||||||
:if; [ as{ 'popopodr i 'drdrre.. i }as ] if ;
|
:if; [ as{ 'popopodr i 'drdrre.. i }as ] if ;
|
||||||
:?; dup [ as{ 'popopodr i 'drdrre.. i }as ] if drop ;
|
:?; dup [ as{ 'popopodr i 'drdrre.. i }as ] if drop ;
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
:test (n-) n:even? if; 'Odd! s:put nl ;
|
||||||
|
|
||||||
|
#1 test
|
||||||
|
#2 test
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
nl '----------------- s:put nl
|
||||||
|
:test (n-) n:even? ?; 'Odd! s:put nl ;
|
||||||
|
#1 test dump-stack reset nl
|
||||||
|
#2 test dump-stack reset nl
|
||||||
|
```
|
||||||
|
|
Loading…
Reference in a new issue