Parsers other than the first one (which is initially assigned
Method that will construct a parser (possibly a sequence) that
contains all given sub-parsers.
All parsers given are checked to see if they are sequences: and
if so, they will be "flattened", that is, contained parsers are
directly added in a new sequence instead of adding sequences
within sequences. This is done to minimize delegation depth,
ideally only having just a single level of delegation.
Method that is most useful for debugging or testing;
returns actual number of underlying parsers sequence
was constructed with (nor just ones remaining active)
Method that will switch active parser from the current one
to next parser in sequence, if there is another parser left,
making this the new delegate. Old delegate is returned if
- True if switch succeeded; false otherwise