mirror of
https://github.com/remko/waforth
synced 2024-12-26 09:59:09 +01:00
:NONAME
This commit is contained in:
parent
68a98836ab
commit
d2fee658dd
4 changed files with 430 additions and 402 deletions
797
src/waforth.wat
797
src/waforth.wat
File diff suppressed because it is too large
Load diff
|
@ -479,20 +479,20 @@ T{ : VD3 VAL3 LITERAL ; VD3 -> 123 }T
|
|||
\ T{ : CS6 CASE 1 OF ENDOF 2 ENDCASE ; 1 CS6 -> }T
|
||||
\ T{ : CS7 CASE 3 OF ENDOF 2 ENDCASE ; 1 CS7 -> 1 }T
|
||||
|
||||
\ \ -----------------------------------------------------------------------------
|
||||
\ TESTING :NONAME RECURSE
|
||||
\ -----------------------------------------------------------------------------
|
||||
TESTING :NONAME RECURSE
|
||||
|
||||
\ VARIABLE NN1
|
||||
\ VARIABLE NN2
|
||||
\ :NONAME 1234 ; NN1 !
|
||||
\ :NONAME 9876 ; NN2 !
|
||||
\ T{ NN1 @ EXECUTE -> 1234 }T
|
||||
\ T{ NN2 @ EXECUTE -> 9876 }T
|
||||
VARIABLE NN1
|
||||
VARIABLE NN2
|
||||
:NONAME 1234 ; NN1 !
|
||||
:NONAME 9876 ; NN2 !
|
||||
T{ NN1 @ EXECUTE -> 1234 }T
|
||||
T{ NN2 @ EXECUTE -> 9876 }T
|
||||
|
||||
\ T{ :NONAME ( n -- 0,1,..n ) DUP IF DUP >R 1- RECURSE R> THEN ;
|
||||
\ CONSTANT RN1 -> }T
|
||||
\ T{ 0 RN1 EXECUTE -> 0 }T
|
||||
\ T{ 4 RN1 EXECUTE -> 0 1 2 3 4 }T
|
||||
T{ :NONAME ( n -- 0,1,..n ) DUP IF DUP >R 1- RECURSE R> THEN ;
|
||||
CONSTANT RN1 -> }T
|
||||
T{ 0 RN1 EXECUTE -> 0 }T
|
||||
T{ 4 RN1 EXECUTE -> 0 1 2 3 4 }T
|
||||
|
||||
\ :NONAME ( n -- n1 ) \ Multiple RECURSEs in one definition
|
||||
\ 1- DUP
|
||||
|
|
|
@ -193,9 +193,9 @@ T{ 123 CONSTANT IW1 IMMEDIATE IW1 -> 123 }T
|
|||
T{ : IW2 IW1 LITERAL ; IW2 -> 123 }T
|
||||
T{ VARIABLE IW3 IMMEDIATE 234 IW3 ! IW3 @ -> 234 }T
|
||||
T{ : IW4 IW3 [ @ ] LITERAL ; IW4 -> 234 }T
|
||||
\ T{ :NONAME [ 345 ] IW3 [ ! ] ; DROP IW3 @ -> 345 }T
|
||||
T{ :NONAME [ 345 ] IW3 [ ! ] ; DROP IW3 @ -> 345 }T
|
||||
T{ CREATE IW5 456 , IMMEDIATE -> }T
|
||||
\ T{ :NONAME IW5 [ @ IW3 ! ] ; DROP IW3 @ -> 456 }T
|
||||
T{ :NONAME IW5 [ @ IW3 ! ] ; DROP IW3 @ -> 456 }T
|
||||
T{ : IW6 CREATE , IMMEDIATE DOES> @ 1+ ; -> }T
|
||||
T{ 111 IW6 IW7 IW7 -> 112 }T
|
||||
T{ : IW8 IW7 LITERAL 1+ ; IW8 -> 113 }T
|
||||
|
|
|
@ -1571,6 +1571,13 @@ function loadTests() {
|
|||
});
|
||||
});
|
||||
|
||||
describe(":NONAME", () => {
|
||||
it("should work", () => {
|
||||
run(":NONAME 1234 ; EXECUTE");
|
||||
expect(stackValues()).to.eql([1234]);
|
||||
});
|
||||
});
|
||||
|
||||
describe("system", () => {
|
||||
it("should run sieve", () => {
|
||||
run(sieve);
|
||||
|
|
Loading…
Reference in a new issue