Tidy up expr groups
parent
8ade4f9b5b
commit
dbd0583044
|
@ -10,13 +10,13 @@ IN: peg.expr
|
||||||
swap [ first2 swap call ] reduce ;
|
swap [ first2 swap call ] reduce ;
|
||||||
|
|
||||||
EBNF: expr
|
EBNF: expr
|
||||||
times = ("*") [[ drop [ * ] ]]
|
times = "*" [[ drop [ * ] ]]
|
||||||
divide = ("/") [[ drop [ / ] ]]
|
divide = "/" [[ drop [ / ] ]]
|
||||||
add = ("+") [[ drop [ + ] ]]
|
add = "+" [[ drop [ + ] ]]
|
||||||
subtract = ("-") [[ drop [ - ] ]]
|
subtract = "-" [[ drop [ - ] ]]
|
||||||
|
|
||||||
digit = ([0-9]) [[ digit> ]]
|
digit = [0-9] [[ digit> ]]
|
||||||
number = ((digit)+) [[ unclip [ swap 10 * + ] reduce ]]
|
number = (digit)+ [[ unclip [ swap 10 * + ] reduce ]]
|
||||||
|
|
||||||
value = number | ("(" expr ")") [[ second ]]
|
value = number | ("(" expr ")") [[ second ]]
|
||||||
product = (value ((times | divide) value)*) [[ first2 operator-fold ]]
|
product = (value ((times | divide) value)*) [[ first2 operator-fold ]]
|
||||||
|
|
Loading…
Reference in New Issue