1 ! Copyright (C) 2008 Chris Double.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: kernel math math.parser multiline peg.ebnf sequences ;
7 number = ([0-9])+ => [[ string>number ]]
9 | ("(" exp ")") => [[ second ]]
11 fac = fac "*" value => [[ first3 nip * ]]
12 | fac "/" value => [[ first3 nip / ]]
15 exp = exp "+" fac => [[ first3 nip + ]]
16 | exp "-" fac => [[ first3 nip - ]]