or

infix fun <I : Any, O, U : Any> Parser<I, O, U>.or(other: Parser<I, O, U>): Parser<I, O, U>

Tries this parser and, if it fails, tries other at the same position.

Sugar for pOr: a or b is equivalent to pOr(a, b).

As an infix function, or has lower precedence than the + operator, so sequence naturally dominates choice:

a + b or c + d   // (a + b) or (c + d)