version 1.1, 1994/05/07 14:55:59
|
version 1.2, 1994/06/17 12:35:08
|
Line 28 depth . cr
|
Line 28 depth . cr
|
." testing part 2" cr |
." testing part 2" cr |
|
|
: xxxx |
: xxxx |
|
[ ." starting xxxx" .s cr ] |
{ f } f |
{ f } f |
xif |
if |
{ a b } |
{ a b } |
b a |
b a |
[ ." before else" .s cr ] |
[ ." before else" .s cr ] |
xelse |
else |
[ ." after else" .s cr ] |
[ ." after else" .s cr ] |
{ c d } |
{ c d } |
c d |
c d |
xthen |
then |
[ ." locals-size after then:" locals-size @ . cr ] |
[ ." locals-size after then:" locals-size @ . cr ] |
f drop |
f drop |
|
[ ." ending xxxx" .s cr ] |
; |
; |
|
|
2 3 1 xxxx . . cr |
2 3 1 xxxx . . cr |
Line 47 f drop
|
Line 49 f drop
|
cr cr cr |
cr cr cr |
|
|
: xxx3 |
: xxx3 |
xbegin |
begin |
{ a } |
{ a } |
xuntil |
until |
a |
a |
; |
; |
." after xxx3" .s cr cr cr |
." after xxx3" .s cr cr cr |
|
|
: xxx2 |
: xxx2 |
[ ." start of xxx2" .s cr ] |
[ ." start of xxx2" .s cr ] |
xbegin |
begin |
[ ." after begin" .s cr ] |
[ ." after begin" .s cr ] |
{ a } |
{ a } |
[ ." after { a }" .s cr ] |
[ ." after { a }" .s cr ] |
1 xwhile |
1 while |
[ ." after while" .s cr ] |
[ ." after while" .s cr ] |
{ b } |
{ b } |
a b |
a b |
[ ." after a" .s cr ] |
[ ." after a" .s cr ] |
xrepeat |
repeat |
[ ." after repeat" .s cr |
[ ." after repeat" .s cr |
also locals words previous cr |
also locals words previous cr |
] |
] |
Line 75 a
|
Line 77 a
|
|
|
: xxx4 |
: xxx4 |
[ ." before if" localsinfo ] |
[ ." before if" localsinfo ] |
xif |
if |
[ ." after if" localsinfo ] |
[ ." after if" localsinfo ] |
{ a } |
{ a } |
[ ." before begin" localsinfo ] |
[ ." before begin" localsinfo ] |
xbegin |
begin |
[ ." after begin" localsinfo ] |
[ ." after begin" localsinfo ] |
[ 1 cs-roll ] |
[ 1 cs-roll ] |
[ ." before then" localsinfo ] |
[ ." before then" localsinfo ] |
xthen |
then |
{ b } |
{ b } |
xuntil |
until |
[ ." after until" localsinfo ] |
[ ." after until" localsinfo ] |
; |
; |
|
|
: xxx5 |
: xxx5 |
{ a } |
{ a } |
xahead |
ahead |
xbegin |
begin |
[ ." after begin" localsinfo ] |
[ ." after begin" localsinfo ] |
[ 1 cs-roll ] |
[ 1 cs-roll ] |
xthen |
then |
[ ." after then" localsinfo ] |
[ ." after then" localsinfo ] |
xuntil |
until |
[ ." after until" localsinfo ] |
[ ." after until" localsinfo ] |
; |
; |
|
|
|
." xxx6 coming up" cr |
: xxx6 |
: xxx6 |
xif |
[ ." starting xxx6" localsinfo ] |
|
if |
{ x } |
{ x } |
xelse |
else |
[ ." after else" localsinfo ] |
[ ." after else" localsinfo ] |
xahead |
ahead |
xbegin |
begin |
[ ." after begin" localsinfo ] |
[ ." after begin" localsinfo ] |
[ 2 CS-ROLL ] xthen |
[ 2 CS-ROLL ] then |
[ ." after then" localsinfo ] |
[ ." after then" localsinfo ] |
xuntil |
until |
|
then |
|
[ ." ending xxx6" localsinfo ] |
; |
; |
|
|
." xxx7 coming up" cr |
." xxx7 coming up" cr |
: xxx7 |
: xxx7 |
{ b } |
{ b } |
xdo |
do |
{ a } |
{ a } |
[ ." before loop" localsinfo ] |
[ ." before loop" localsinfo ] |
xloop |
loop |
[ ." after loop" localsinfo ] |
[ ." after loop" localsinfo ] |
; |
; |
|
|
Line 128 xloop
|
Line 134 xloop
|
|
|
: xxx8 |
: xxx8 |
{ b } |
{ b } |
x?do |
?do |
{ a } |
{ a } |
[ ." before loop" localsinfo ] |
[ ." before loop" localsinfo ] |
xloop |
loop |
[ ." after loop" localsinfo ] |
[ ." after loop" localsinfo ] |
; |
; |
|
|
." xxx9 coming up" cr |
." xxx9 coming up" cr |
: xxx9 |
: xxx9 |
{ b } |
{ b } |
xdo |
do |
{ c } |
{ c } |
[ ." before ?leave" leave-sp ? leave-stack . cr ] |
[ ." before ?leave" leave-sp ? leave-stack . cr ] |
x?leave |
?leave |
[ ." after ?leave" leave-sp ? cr ] |
[ ." after ?leave" leave-sp ? cr ] |
{ a } |
{ a } |
[ ." before loop" localsinfo ] |
[ ." before loop" localsinfo ] |
xloop |
loop |
[ ." after loop" localsinfo ] |
[ ." after loop" localsinfo ] |
; |
; |
|
|
." strcmp coming up" cr |
." strcmp coming up" cr |
: strcmp { addr1 u1 addr2 u2 -- n } |
: strcmp { addr1 u1 addr2 u2 -- n } |
addr1 addr2 u1 u2 min 0 x?do |
addr1 addr2 u1 u2 min 0 ?do |
{ s1 s2 } |
{ s1 s2 } |
s1 c@ s2 c@ - ?dup xif |
s1 c@ s2 c@ - ?dup if |
unloop xexit |
unloop exit |
xthen |
then |
s1 char+ s2 char+ |
s1 char+ s2 char+ |
xloop |
loop |
2drop |
2drop |
u1 u2 - ; |
u1 u2 - ; |
|
|
Line 178 s" " s" " strcmp . cr
|
Line 184 s" " s" " strcmp . cr
|
; |
; |
|
|
: findchar { c addr u -- i } |
: findchar { c addr u -- i } |
addr u 0 x?do |
addr u 0 ?do |
{ p } |
{ p } |
p c@ c = xif |
p c@ c = if |
p xleave |
p leave |
xthen |
then |
p char+ |
p char+ |
xloop |
loop |
addr - ; |
addr - ; |
|
|
|
|
Line 213 testfindchar
|
Line 219 testfindchar
|
|
|
: xxx10 |
: xxx10 |
[ ." before if" localsinfo ] |
[ ." before if" localsinfo ] |
xif |
if |
[ ." after if" localsinfo ] |
[ ." after if" localsinfo ] |
scope |
scope |
[ ." after scope" localsinfo ] |
[ ." after scope" localsinfo ] |
Line 221 scope
|
Line 227 scope
|
[ ." before endscope" localsinfo ] |
[ ." before endscope" localsinfo ] |
endscope |
endscope |
[ ." before begin" localsinfo ] |
[ ." before begin" localsinfo ] |
xbegin |
begin |
[ ." after begin" localsinfo ] |
[ ." after begin" localsinfo ] |
[ 1 cs-roll ] |
[ 1 cs-roll ] |
[ ." before then" localsinfo ] |
[ ." before then" localsinfo ] |
xthen |
then |
{ b } |
{ b } |
xuntil |
until |
[ ." after until" localsinfo ] |
[ ." after until" localsinfo ] |
; |
; |
|
|
|
: xxx11 |
|
if |
|
{ a } |
|
exit |
|
[ ." after xexit" localsinfo ] |
|
else |
|
{ b } |
|
[ ." before xthen" localsinfo |
|
then |
|
[ ." after xthen" localsinfo ] |
|
; |
|
|
|
|
|
bye |