peg: replace uses of digits>integer with string>number.

db4
John Benediktsson 2015-07-19 18:06:35 -07:00
parent f59d8ef0c1
commit b5a671cd88
4 changed files with 4 additions and 6 deletions

View 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 )
[

View 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

View 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 ]]

View 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