]> gitweb.factorcode.org Git - factor.git/blobdiff - core/math/parser/parser.factor
Merge branch 'master' of git://factorcode.org/git/factor
[factor.git] / core / math / parser / parser.factor
index ef8f350e27c9e4870633da2e69e0e2a4228e4214..21062baf4bbe985c8d007023720a2d28eb560846 100644 (file)
@@ -28,13 +28,16 @@ IN: math.parser
         { CHAR: d 13 }
         { CHAR: e 14 }
         { CHAR: f 15 }
-    } at 255 or ; inline
+        { CHAR: , f }
+    } at* [ drop 255 ] unless ; inline
 
 : string>digits ( str -- digits )
     [ digit> ] B{ } map-as ; inline
 
 : (digits>integer) ( valid? accum digit radix -- valid? accum )
-    2dup < [ swapd * + ] [ 2drop 2drop f 0 ] if ; inline
+    over [
+        2dup < [ swapd * + ] [ 2drop 2drop f 0 ] if
+    ] [ 2drop ] if ; inline
 
 : each-digit ( seq radix quot -- n/f )
     [ t 0 ] 3dip curry each swap [ drop f ] unless ; inline
@@ -80,6 +83,7 @@ SYMBOL: negative?
     ] if ; inline
 
 : string>float ( str -- n/f )
+    [ CHAR: , eq? not ] filter
     >byte-array 0 suffix (string>float) ;
 
 PRIVATE>