1*afc2ba1dSToomas Soome\ test file for ficl 2*afc2ba1dSToomas Soome\ test ANSI CORE stuff first... 3*afc2ba1dSToomas Soome-1 set-order 4*afc2ba1dSToomas Soome 5*afc2ba1dSToomas Soome\ set up local variable regressions before { gets redefined! 6*afc2ba1dSToomas Soome: local1 { a b c | clr -- c b a 0 } 7*afc2ba1dSToomas Soome c b a clr 8*afc2ba1dSToomas Soome; 9*afc2ba1dSToomas Soome 10*afc2ba1dSToomas Soome: local2 { | clr -- 0 } clr ; 11*afc2ba1dSToomas Soome: local3 { a b | c } 12*afc2ba1dSToomas Soome a to c 13*afc2ba1dSToomas Soome b to a 14*afc2ba1dSToomas Soome c to b 15*afc2ba1dSToomas Soome a b 16*afc2ba1dSToomas Soome; 17*afc2ba1dSToomas Soome 18*afc2ba1dSToomas Soomeinclude tester.fr 19*afc2ba1dSToomas Soomeinclude core.fr 20*afc2ba1dSToomas Soome 21*afc2ba1dSToomas Soome{ -> } 22*afc2ba1dSToomas Soome\ test double stuff 23*afc2ba1dSToomas Soometesting 2>r 2r> 2r@ 24*afc2ba1dSToomas Soome: 2r1 2>r r> r> swap ; 25*afc2ba1dSToomas Soome: 2r2 swap >r >r 2r> ; 26*afc2ba1dSToomas Soome: 2r3 2>r 2r@ R> R> 2DUP >R >R SWAP 2r> ; 27*afc2ba1dSToomas Soome 28*afc2ba1dSToomas Soome{ 1 2 2r1 -> 1 2 } 29*afc2ba1dSToomas Soome{ 1 2 2r2 -> 1 2 } 30*afc2ba1dSToomas Soome{ 1 2 2r3 -> 1 2 1 2 1 2 } 31*afc2ba1dSToomas Soome{ -> } 32*afc2ba1dSToomas Soome 33*afc2ba1dSToomas Soome\ Now test ficl extras and optional word-sets 34*afc2ba1dSToomas Soometesting locals 35*afc2ba1dSToomas Soome{ 1 2 3 local1 -> 3 2 1 0 } 36*afc2ba1dSToomas Soome{ local2 -> 0 } 37*afc2ba1dSToomas Soome{ 1 local2 -> 1 0 } 38*afc2ba1dSToomas Soome{ 1 2 local3 -> 2 1 } 39*afc2ba1dSToomas Soome 40*afc2ba1dSToomas Soometesting :noname 41*afc2ba1dSToomas Soome{ :noname 1 ; execute -> 1 } 42*afc2ba1dSToomas Soome{ 1 2 3 -rot -> 3 1 2 } 43*afc2ba1dSToomas Soome 44*afc2ba1dSToomas Soometesting default search order 45*afc2ba1dSToomas Soome{ get-order -> forth-wordlist 1 } 46*afc2ba1dSToomas Soome{ only definitions get-order -> forth-wordlist 1 } 47*afc2ba1dSToomas Soome 48*afc2ba1dSToomas Soometesting forget 49*afc2ba1dSToomas Soomehere constant fence 50*afc2ba1dSToomas Soome{ fence forget fence -> here } 51*afc2ba1dSToomas Soome 52*afc2ba1dSToomas Soometesting within 53*afc2ba1dSToomas Soome{ -1 1 0 within -> true } 54*afc2ba1dSToomas Soome{ 0 1s 2 within -> true } 55*afc2ba1dSToomas Soome{ -100 0 -1 within -> true } 56*afc2ba1dSToomas Soome{ -1 1 2 within -> false } 57*afc2ba1dSToomas Soome{ -1 1 -2 within -> false } 58*afc2ba1dSToomas Soome{ 1 -5 5 within -> true } 59*afc2ba1dSToomas Soome{ 33000 32000 34000 within -> true } 60*afc2ba1dSToomas Soome{ 0x80000000 0x7f000000 0x81000000 within -> true } 61*afc2ba1dSToomas Soome 62*afc2ba1dSToomas Soometesting exception words 63*afc2ba1dSToomas Soome: exc1 1 throw ; 64*afc2ba1dSToomas Soome: exctest1 [ ' exc1 ] literal catch ; 65*afc2ba1dSToomas Soome: exc2 exctest1 1 = if 2 throw endif ; 66*afc2ba1dSToomas Soome: exctest2 [ ' exc2 ] literal catch ; 67*afc2ba1dSToomas Soome: exctest? ' catch ; 68*afc2ba1dSToomas Soome 69*afc2ba1dSToomas Soome{ exctest1 -> 1 } 70*afc2ba1dSToomas Soome{ exctest2 -> 2 } 71*afc2ba1dSToomas Soome{ exctest? abort -> -1 } 72*afc2ba1dSToomas Soome 73*afc2ba1dSToomas Soometesting refill 74*afc2ba1dSToomas Soome\ from file loading 75*afc2ba1dSToomas Soome0 [if] 76*afc2ba1dSToomas Soome.( Error ) 77*afc2ba1dSToomas Soome[else] 78*afc2ba1dSToomas Soome1 [if] 79*afc2ba1dSToomas Soome[else] 80*afc2ba1dSToomas Soome.( Error ) 81*afc2ba1dSToomas Soome[then] 82*afc2ba1dSToomas Soome[then] 83*afc2ba1dSToomas Soome 84*afc2ba1dSToomas Soome\ refill from evaluate string 85*afc2ba1dSToomas Soome{ -> } 86*afc2ba1dSToomas Soome{ s" 1 refill 2 " evaluate -> 1 0 2 } 87*afc2ba1dSToomas Soome 88*afc2ba1dSToomas Soome 89*afc2ba1dSToomas Soometesting prefixes 90*afc2ba1dSToomas Soome{ 0x10 -> decimal 16 } 91*afc2ba1dSToomas Soome{ hex 0d10 -> decimal 10 } 92*afc2ba1dSToomas Soome{ hex 100 93*afc2ba1dSToomas Soome-> decimal 256 } 94*afc2ba1dSToomas Soome 95*afc2ba1dSToomas Soometesting number builder 96*afc2ba1dSToomas Soome{ 1 -> 1 } 97*afc2ba1dSToomas Soome{ 3. -> 3 0 } 98*afc2ba1dSToomas Soome 99*afc2ba1dSToomas Soome 100*afc2ba1dSToomas Soomes" ficlwin" environment? 101*afc2ba1dSToomas Soome[if] 102*afc2ba1dSToomas Soomedrop 103*afc2ba1dSToomas Soometesting OOP support 104*afc2ba1dSToomas Soomeinclude ooptest.fr 105*afc2ba1dSToomas Soome[endif] 106