Update.. 

1.0e FVARIABLE R .. (outside of a word) was putting 1.0e into the float stack

Solution (proposal)
: TEST ( -- r1 r2 r3 r4 )
    CLEARSTACKS     
    etc.
.. CLEARSTACKS is so far the best solution to clear the 1.0e (FNIP is not good, 
it clear only the postion 2 of the tops .. because issue if more than 2 
positions in the stack)
I can live with this for now. However its a bit weird a variable initialization 
is putting a value into the stack.

    Am Samstag, 20. Mai 2023 um 12:55:39 MESZ hat Pascal Dag 
<[email protected]> Folgendes geschrieben:  
 
   With the code...


FVARIABLE XFVARIABLE Y
FVARIABLE Z
FVARIABLE T
FVARIABLE L
: D_RPNS ( -- )        \  print out Stack ONLY for debugging purpose
    CR
    ." X " X F@ F. CR
    ." Y " Y F@ F. CR
    ." Z " Z F@ F. CR
    ." T " T F@ F. CR
    ." L " L F@ F. CR
    CR
    F.S
    CR 

: TEST ( -- )    CLEARSTACK
    2.0e FDUP Y F!
    CR D_RPNS
    5.0e FDUP X F!
    CR ." Test function prior start PERE12" D_RPNS
    ;

The Terminal output is..
test 

X 0. 
Y 2. 
Z 0. 
T 0. 
L 0. 

<2> 1.000000000000E0 2.000000000000E0 

Test function prior start PERE12
X 5. 
Y 2. 
Z 0. 
T 0. 
L 0. 

<3> 1.000000000000E0 2.000000000000E0 5.000000000000E0 


Where is the 1.000000000000E0  coming from? Is it a bug? It can be deleted from 
the stack with FNIP. But for me this is weird FNIP must be used to delete a 
number which appeared in the stack.

Then it turns to be ok

: TEST ( -- )
    CLEARSTACK
    2.0e FDUP Y F!
    FNIP
    CR D_RPNS
    5.0e FDUP X F!
    CR ." Test function prior start PERE12" D_RPNS
    ;

then the output is fine,,,

test 

X 0. 
Y 2. 
Z 0. 
T 0. 
L 0. 

<1> 2.000000000000E0 

Test function prior start PERE12
X 5. 
Y 2. 
Z 0. 
T 0. 
L 0. 

<2> 2.000000000000E0 5.000000000000E0 



gforth 0.7.3 fromDebian 11.
uname -a
Linux ProDesk 5.10.0-23-amd64 #1 SMP Debian 5.10.179-1 (2023-05-12) x86_64 
GNU/Linux
apt list gforth
Listing... Done
gforth/stable,now 0.7.3+dfsg-9+b1 amd64 [installed]
gforth/stable 0.7.3+dfsg-9+b1 i386


Any remark / comment is welcome.
    

Reply via email to