- Parser zero_or_one() was not greedy, meaning that it sometimes did not parse input that it should be able to parse (see issue #12).
- Added the function Ignore() which reads and discards all elements until the end of a vector.
- Because of the use of base::isa() this package requires R 4.1 or higher, not R 2.1. This has been corrected in the DESCRIPTION. Running on ubuntu-latest and R 4.1 is checked by CI workflow on Github.
- Minor corrections and additions to both vignettes.
- All function descriptions and documentation thoroughly reviewed and updated.
- Vignettes reviewed and updated.
- Published on CRAN
- Extended the fasta file example in the vignette by showing the use of %or% to apply alternative parsers. Added a protein sequence fasta file to the data set.
- Function
Parser()
was changed and renamed toreporter()
. This better reflects its use.
- Added (started) Details vignette.
- Custom
error_parser
includes line number and line content fields of the element index on which the parser failed. - Added function
finished()
to test for complete consumption of the input by the parser.
print.marker
now emits '[]' to make explicit that it differs from a simplelist()
.- Export of function
failed()
to test failure of a parser. Useful in unit testing.
- Resolved issue #5
- Correct example in documentation for Parser() function
- Marker error messaging implemented and tested. Markers are line numbers
(element numbers in a character vector) where the parser fails. In case of
alternative parsers like
p1 %or% p2
the marker with the largest index value is reported when both parsers fail.
- Developing marker error messaging
- Again modified
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.
- Added
fastafile
example data which is used in the vignette.
-
Redesigned
exactly(n,p)
to behave as expected with non-emitting parsers likeliteral("A") %ret% NULL
andeof()
. -
Dependencies on packages
stringr
andmethods
were removed.
- Added function
eof()
which detects an end of file. With that, the behavior ofsatisfy(b)
andmatch_s(s)
has been modified: they now fail on empty input, regardless of the functionsb()
ands()
.
- Initial Github submission.