| |
|
| 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 |
| |
THEN ; |
| |
|
| |
:noname ( c-addr u -- ) |
| |
2dup sfnumber |
| IF |
IF |
| POSTPONE FLiteral |
2drop POSTPONE FLiteral |
| THEN |
ELSE |
| EXIT |
defers compiler-notfound |
| THEN |
ENDIF ; |
| THEN |
IS compiler-notfound |
| defers notfound ; |
|
| |
|
| ' sfnumber IS notfound |
:noname ( c-addr u -- r ) |
| |
2dup sfnumber |
| |
IF |
| |
2drop |
| |
ELSE |
| |
defers interpreter-notfound |
| |
ENDIF ; |
| |
IS interpreter-notfound |
| |
|
| : fvariable ( -- ) |
: fvariable ( -- ) |
| Create 0.0E0 f, ; |
Create 0.0E0 f, ; |