function str_match() did not emulate stringr::str_match exactly. The latter
function only uses regular expressions.
function parser_error_context() caused an error when input had only a few
lines and the error occurred on the first few lines.
stringparser() depended on stringr::str_match(). However,
the dependency was not listed in DESCRIPTION. This may have led to errors when
the stringr package was not installed. The function has been fixed by
implementing it with base functions.Parser() was changed and renamed to reporter(). This better
reflects its use.error_parser includes line number and line content fields of the
element index on which the parser failed.finished() to test for complete consumption of the input by
the parser.print.marker now emits '[]' to make explicit that it differs from a simple
list().failed() to test failure of a parser. Useful in
unit testing.p1 %or% p2 the marker with the largest index value
is reported when both parsers fail.exacly(n,p) because, since repeater functions call the
same instance of a function, the counter is not reset when this
parser is nested in a repeater parser (zero_or_more, etc.). The reset is
now performed in the function itself.fastafile example data which is used in the vignette.Redesigned exactly(n,p) to behave as expected with non-emitting parsers
like literal("A") %ret% NULL and eof().
Dependencies on packages stringr and methods were removed.
eof() which detects an end of file. With that, the behavior
of satisfy(b) and match_s(s) has been modified: they now fail on empty
input, regardless of the functions b() and s().