]> gitweb.factorcode.org Git - factor.git/commitdiff
peg: replace uses of digits>integer with string>number.
authorJohn Benediktsson <mrjbq7@gmail.com>
Mon, 20 Jul 2015 01:06:35 +0000 (18:06 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Mon, 20 Jul 2015 02:18:47 +0000 (19:18 -0700)
basis/peg/parsers/parsers.factor
extra/parser-combinators/simple/simple.factor
extra/peg/expr/expr.factor
extra/peg/pl0/pl0.factor

index dc79b96f247941fed1e8ec353d855f181fb872b7..6f65ee57a29f3b622d972963dbc20d057f7c7716 100644 (file)
@@ -71,7 +71,7 @@ PRIVATE>
     [ digit? ] satisfy [ digit> ] action ;
 
 : 'integer' ( -- parser )
-    'digit' repeat1 [ 10 digits>integer ] action ;
+    [ digit? ] satisfy repeat1 [ string>number ] action ;
 
 : 'string' ( -- parser )
     [
index 534bc3fb93a0aa29e09c71ec5e6d24c40c3041a5..a90bd5494ac385f9a333c1ec57194acc707098f9 100644 (file)
@@ -8,7 +8,7 @@ IN: parser-combinators.simple
   [ digit? ] satisfy [ digit> ] <@ ;
 
 : 'integer' ( -- parser )
-  'digit' <!+> [ 10 digits>integer ] <@ ;
+  [ digit? ] satisfy <*> [ string>number ] <@ ;
 
 : 'string' ( -- parser )
   [ CHAR: " = ] satisfy
index 8b10b4fc0ce2d926ceae826aca0eb5baeb4d51ff..4e1bf7bd86ba982211792d87e17c36a28f027ee4 100644 (file)
@@ -5,8 +5,7 @@ peg peg.ebnf peg.parsers memoize math accessors ;
 IN: peg.expr
 
 EBNF: expr 
-digit    = [0-9]            => [[ digit> ]]
-number   = (digit)+         => [[ 10 digits>integer ]]
+number   = ([0-9])+         => [[ string>number ]]
 value    =   number 
            | ("(" exp ")")  => [[ second ]]
 
index 179e03f1cfbc2bd4ff0e69b2173393db94114b57..c81820c32eed3df11a0e37fa0a6fd830276c2781 100644 (file)
@@ -22,7 +22,6 @@ expression  = {"+" | "-"}? term { {"+" | "-"} term }*
 term        = factor { {"*" | "/"} factor }*
 factor      = ident | number | "(" expression ")"
 ident       = (([a-zA-Z])+)   => [[ >string ]]
-digit       = ([0-9])         => [[ digit> ]]
-number      = (digit)+        => [[ 10 digits>integer ]]
+number      = ([0-9])+        => [[ string>number ]]
 program     = { block "." }
 ;EBNF