version 1.18, 1995/11/07 18:06:40
|
version 1.20, 1996/09/10 16:08:37
|
Line 55 dofield: lastxt code-address! \ change t
|
Line 55 dofield: lastxt code-address! \ change t
|
|
|
: f, ( f -- ) here 1 floats allot f! ; |
: f, ( f -- ) here 1 floats allot f! ; |
|
|
: fconstant ( r -- ) \ float |
: fconstant ( r "name" -- ) \ float |
Create f, |
Create f, |
DOES> ( -- r ) |
DOES> ( -- r ) |
f@ ; |
f@ ; |
Line 100 DOES> ( -- r )
|
Line 100 DOES> ( -- r )
|
|
|
require debugging.fs |
require debugging.fs |
|
|
: sfnumber ( c-addr u -- r / ) |
: sfnumber ( c-addr u -- r true | false ) |
2dup [CHAR] e scan |
2dup [CHAR] e scan ( c-addr u c-addr2 u2 ) |
dup 0= |
dup 0= |
IF |
IF |
2drop 2dup [CHAR] E scan |
2drop 2dup [CHAR] E scan ( c-addr u c-addr3 u3 ) |
THEN |
THEN |
nip |
nip |
IF |
IF |
2dup >float |
>float |
IF |
ELSE |
2drop state @ |
2drop false |
IF |
THEN ; |
POSTPONE FLiteral |
|
THEN |
:noname ( c-addr u -- ) |
EXIT |
2dup sfnumber |
THEN |
IF |
THEN |
2drop POSTPONE FLiteral |
defers notfound ; |
ELSE |
|
defers compiler-notfound |
|
ENDIF ; |
|
IS compiler-notfound |
|
|
' sfnumber IS notfound |
:noname ( c-addr u -- r ) |
|
2dup sfnumber |
|
IF |
|
2drop |
|
ELSE |
|
defers interpreter-notfound |
|
ENDIF ; |
|
IS interpreter-notfound |
|
|
: fvariable ( -- ) |
: fvariable ( "name" -- ) \ float |
Create 0.0E0 f, ; |
Create 0.0E0 f, ; |
\ does> ( -- f-addr ) |
\ does> ( -- f-addr ) |
|
|