trait
ParserCombiner[C1, C2, C] extends AnyRef
Concrete Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
clone(): AnyRef
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
final
def
getClass(): Class[_]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
A Parser Combiner is able to combine two parsers into a single parser, finding the most-specific common type between the two parsers' contexts, and combining their results as a chain.
In order to be combined, the context types for both parsers must exist in the same hierarchy. For example, contexts of
Any
andString
may be combined becauseString
is a subtype ofAny
. But contexts ofString
andBoolean
may not be combined because neitherString
norBoolean
are subtypes of each other.Most parsers will have a context type of
Any
, meaning they can be trivially combined with other parsers. Combining with a parser with a more specific context will narrow the applicable context of the combined parser.Import
ParserCombinerOps._
or mixin theParserCombinerOps
trait to add thecombine
method to parsers, which uses this type class.The context type of the first parser
The context type of the second parser
The common context type, used by the combined parser