add ELSE-IF … THEN-IF, other minor words, and cleanup

This commit is contained in:
Jesse D. McDonald 2020-11-01 03:26:55 -06:00
parent f3fae3f5c2
commit 014033d715
4 changed files with 524 additions and 484 deletions

File diff suppressed because it is too large Load Diff

10
test/multi-if.4th Normal file
View File

@ -0,0 +1,10 @@
: TEST
DUP . ": " TYPE
DUP 1 = IF "1\n" TYPE
ELSE-IF DUP 2 = THEN-IF "2\n" TYPE
ELSE-IF DUP 0<= THEN-IF "nonpositive\n" TYPE
ELSE-IF DUP 5 <= THEN-IF "3…5\n" TYPE
ELSE "other\n" TYPE
THEN DROP ;
{ 7 0 ?DO I TEST LOOP } EXECUTE

8
test/multi-if.exp Normal file
View File

@ -0,0 +1,8 @@
0: nonpositive
1: 1
2: 2
3: 3…5
4: 3…5
5: 3…5
6: other
exit-code: 0

View File

@ -1,4 +1,6 @@
ALSO UTILITY
: INSPECT ( c-addr u -- ) "\"" TYPE TYPE-ESCAPED "\"" TYPE ;
PREVIOUS
: REPORT ( c-addr1 u1 c-addr2 u2 xt -- )
-ROT 2>R >R 2DUP INSPECT " ( " TYPE EVALUATE DUP R@ EXECUTE " ) ⇔ " TYPE