     @split [ @denom-first-digit ] require-next-digit ?make-ratio ;
 
 : @num-digit-or-punc ( i number-parse n char -- n/f )
-    dup ",_" member-eq? [
-        drop [ @num-digit ] require-next-digit
-    ] [
+    [ [ @num-digit ] require-next-digit ] [
         {
             { CHAR: / [ ->denominator ] }
             [ @num-digit ]
         } case
-    ] if ; inline
+    ] if-skip ; inline
 
 : @num-digit ( i number-parse n char -- n/f )
     { fixnum number-parse integer fixnum } declare

: <float-parse> ( i number-parse n -- float-parse i number-parse n )
     [ drop nip [ radix>> ] [ magnitude>> ] bi [ 0 f ] dip float-parse boa ] 3keep ; inline

DEFER: @exponent-digit
DEFER: @mantissa-digit
DEFER: @denom-digit

DEFER: @neg-digit

: @exponent-digit-or-punc ( float-parse i number-parse n char -- float-parse n/f )
    [ [ @exponent-digit ] require-next-digit ] [ @exponent-digit ] if-skip ; inline

: @exponent-digit ( float-parse i number-parse n char -- float-parse n/f )
    { float-parse fixnum number-parse integer fixnum } declare
