Rule
A Rule is a function from some input to a Result. The result may be:
A Rule is a function from some input to a Result. The result may be:
-
Success, with a value of some type and an output that may serve as the input to subsequent rules.
-
Failure. A failure may result in some alternative rule being applied.
-
Error. No further rules should be attempted.
- Authors
Andrew Foggin Inspired by the Scala parser combinator.
Value members
Concrete methods
Apply the result of this rule to the function returned by the previous rule
Apply the result of this rule to the function returned by the previous rule
~>(f) is equivalent to >> { case b1 ~ b2 => f(b1, b2) }
^-^(f) is equivalent to ^^ { b2 => b1 => f(b1, b2) }
^-^(f) is equivalent to ^^ { b2 => b1 => f(b1, b2) }
^~>~^(f) is equivalent to ^^ { case b2 ~ b3 => b1 => f(b1, b2, b3) }
^~>~^(f) is equivalent to ^^ { case b2 ~ b3 => b1 => f(b1, b2, b3) }
^~^(f) is equivalent to ^^ { case b1 ~ b2 => f(b1, b2) }
^~^(f) is equivalent to ^^ { case b1 ~ b2 => f(b1, b2) }
^~~^(f) is equivalent to ^^ { case b1 ~ b2 ~ b3 => f(b1, b2, b3) }
^~~^(f) is equivalent to ^^ { case b1 ~ b2 ~ b3 => f(b1, b2, b3) }
^~~~^(f) is equivalent to ^^ { case b1 ~ b2 ~ b3 ~ b4 => f(b1, b2, b3, b4) }
^~~~^(f) is equivalent to ^^ { case b1 ~ b2 ~ b3 ~ b4 => f(b1, b2, b3, b4) }
^~~~~^(f) is equivalent to ^^ { case b1 ~ b2 ~ b3 ~ b4 ~ b5 => f(b1, b2, b3, b4, b5) }
^~~~~^(f) is equivalent to ^^ { case b1 ~ b2 ~ b3 ~ b4 ~ b5 => f(b1, b2, b3, b4, b5) }
^~~~~~^(f) is equivalent to ^^ { case b1 ~ b2 ~ b3 ~ b4 ~ b5 ~ b6 => f(b1, b2, b3, b4, b5, b6) }
^~~~~~^(f) is equivalent to ^^ { case b1 ~ b2 ~ b3 ~ b4 ~ b5 ~ b6 => f(b1, b2, b3, b4, b5, b6) }
^~~~~~~^(f) is equivalent to ^^ { case b1 ~ b2 ~ b3 ~ b4 ~ b5 ~ b6 => f(b1, b2, b3, b4, b5, b6) }
^~~~~~~^(f) is equivalent to ^^ { case b1 ~ b2 ~ b3 ~ b4 ~ b5 ~ b6 => f(b1, b2, b3, b4, b5, b6) }