1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155
|
Revision history for Parser-MGC
0.22 2024-10-11
[CHANGES]
* Added `->warn` and `->warn_from`
* Pass additional arguments to `->maybe` method through to invoked
code
* Swap unit tests from `Test::More` to `Test2::V0`; avoids need for
`Test::Fatal`
* General module style updates/refresh to code style, documentation,
etc..
0.21 2022-02-23
[CHANGES]
* Add stall-detection to list-repeating methods, in order to detect
buggy grammars that can get stuck
* Define optional subclassing methods ->on_parse_start and
->on_parse_end
* Added ->include_string to assist with file-inclusion,
macro-expansion or similar tasks
0.20 2022-02-14
[CHANGES]
* Avoid File::Slurp::Tiny (RT137215)
* Added methods
+ ->filename
+ ->nonempty_substring_before
+ ->die and ->die_from
* Make use of perl 5.32's `isa` operator when available
0.19 2021-04-23
[CHANGES]
* Document how to generate more helpful error messages from ->any_of
* More helpful error message if ->from_file fails (RT134841)
* Improved performance of ->skip_ws (RT74779)
* Added a JSON-like parser example
[BUGFIXES]
* Fix spelling and syntax errors in documentation (RT134842, RT134843)
0.18 2021-03-27
[CHANGES]
* Repack tarball without stale `Makefile.PL`
* No actual code changes
0.17 2021-03-27
[CHANGES]
* Wording fix in docs - remove duplicate `pending` (thanks hobbs)
* Use Feature::Compat::Try instead of plain `eval {}` blocks
* Style modernisations for perl v5.14+
0.16 2017/01/10 16:39:02
[CHANGES]
* Added ->take method
* Added ->committed_scope_of method
* Added a simple Bencode example
0.15 2015/12/03 16:56:19
[CHANGES]
* Allow method names as well as CODE references to structure-forming
methods
* Added worked run-through example documentation and explanation of
the expression evaluator parser example
* Further expanded Parser::MGC::Tutorial
0.14 2015/08/31 15:29:36
[CHANGES]
* Many documentation improvements:
+ More detailed explanation of backtracking behaviour and the use
of the ->commit method
+ Trailing delimiter does not upset ->list_of
+ Added an as-yet incomplete Parser::MGC::Tutorial
* Use Scalar::Util::blessed() to avoid the eval { ->isa } antipattern
* Have long-deprecated ->one_of print a deprecation warning
0.13 2015/06/25 19:05:10
[CHANGES]
* Use File::Slurp::Tiny instead of File::Slurp
0.12 2013/09/01 01:30:13
[CHANGES]
* Ensure that ->expect / ->maybe_expect with optional capture groups
don't yield warnings (thanks BP Jonsson)
* Allow setting binmode for ->from_file
* Slightly neater examples/parse-xml.pl
0.11 CHANGES:
* Allow different toplevel parse methods to the constructor
* Added another example showing parsing XML - only a minimal example;
do not use this as real code. :)
0.10 CHANGES:
* Added ->maybe_expect, for higher performance parsers
0.09 CHANGES:
* Added ->pos accessor and ->fail_from to throw failures from other
locations
* Added ->token_number as a convenience for int or float
0.08 CHANGES:
* Give ->list_of and ->sequence_of proper failure-handling semantics
* Added ->generic_token
* Defer conversion of pos into line/col/text until string-formatting
a failure exception - improves performance of backtracking
* Make token_float tuneable
0.07 CHANGES:
* Allow ->expect to return subgroup captures in list context
* Documentation improvements
BUGFIXES:
* Use Data::Dumper rather than Data::Dump in examples, as the latter
is not core; no point pulling in non-core deps simply for examples
0.06 CHANGES:
* Renamed ->one_of to ->any_of
* Added ->substring_before
* Allow ->scope_of to not take a start pattern
* Recognise the usual set of character escapes in ->token_string
* Added more example scripts to demonstrate:
+ the use ->substring_before to parse POD-like notation
+ accumulator variables instead of structural return
* Unit-test the example scripts
0.05 CHANGES:
* Added ->scope_level
* Added ->from_reader as a new potential source of string input
0.04 CHANGES:
* Added ->token_float
* Optionally parse 0o... ad octal integers
BUGFIXES:
* Match strings non-greedily
* Correct exception printing when line indent includes tabs (thanks
to Khisanth/#perl)
0.03 CHANGES:
* Expanded documentation, more examples
BUGFIXES:
* Regexp quoting fix for perl >= 5.13.6
* Declare dependency on File::Slurp
0.02 CHANGES:
* ->expect now returns the consumed string
* ->token_int recognises negative integers
* ->token_* raises a failure at end-of-scope, rather than returning
undef
BUGFIXES:
* 'use overload fallback' to keep Test::More 0.96 happy
0.01 First version, released on an unsuspecting world.
|