|
- ( r c -- r f )
- ( Parse digit c and accumulate into result r.
- Flag f is 0 when c was a valid digit, 1 when c was WS,
- -1 when c was an invalid digit. )
- : _pdacc
- DUP 0x21 < IF DROP 1 EXIT THEN
- ( parse char )
- ( if bad, return "r -1" )
- '0' -
- DUP 10 < NOT IF DROP -1 EXIT THEN
- ( good, add to running result )
- SWAP 10 * + ( r*10+n )
- 0 ( good )
- ;
|