Revision history for XS-Parse-Keyword
0.16 2021-09-21
[CHANGES]
* Attempt automatic deparsing of infix operators
* Support certain kinds of list operands on RHS of infix operators
0.15 2021-09-06
[CHANGES]
* Optional generation of wrapper functions around scalar-infix
operators
* Quieter Build.PL by skipping PL_infix_plugin check on versions
of perl known to be too old it
0.14 2021-08-31
[CHANGES]
* Added the entire XS::Parse::Infix subsystem
* Added XPK_INFIX_* token types
0.13 2021-08-26
[CHANGES]
* Bump to ABI version 2; pass build1's arg0 param as a pointer, not a
direct struct copy
[BUGFIXES]
* Back-compat for ABI version 1's build1 arg0 param not having a line
number (RT138708)
0.12 2021-08-16
[CHANGES]
* Support probe on XPK_IDENT, XPK_PACKAGENAME, XPK_COMMALIST
* Provide optional versions of XPK_IDENT and XPK_PACKAGENAME
* Report the line number each piece was parsed from
0.11 2021-08-03
[BUGFIXES]
* Split Builder.pm into two parts (static + dynamic), so the static
part can be indexed as normal by usual CPAN toolchain (RT138313)
0.10 2021-07-13
[CHANGES]
* Better configure-time probing for HPUX compiler support
[BUGFIXES]
* Fix for CHOICE/TAGGEDCHOICE corrupting the value of ->i in the
result (RT136845)
0.09 2021-07-12
[CHANGES]
* Attempt to support HPUX, which may need additional compiletime
arguments to support anonymous inner unions
* Better compiletime error messages by attempting to include some
source context in the same style as yyerror()
* Slight compiletime performance boost by setting PERL_NO_GET_CONTEXT
[BUGFIXES]
* Check for recursive parser errors and abort (RT137458)
0.08 2021-06-17
[CHANGES]
* Support probe in XPK_CHOICE and XPK_TAGGEDCHOICE
[BUGFIXES]
* Remember to mask off the typeflags in probe_piece()
0.07 2021-06-16
[CHANGES]
* Added XPK_BLOCK_VOIDCTX and XPK_TERMEXPR_VOIDCTX
* Undocumented the _flags() variants of XPK_BLOCK and XPK_TERMEXPR,
and all the flags for them
* Support probing in XPK_BLOCK
* (undocumented) trial to see if all supported platforms support
anonymous unions
0.06 2021-06-01
[BREAKING CHANGES]
* ABI version is now 1 - this will require a from-source rebuild of
all modules using it.
[CHANGES]
* Renamed XPK_STRING to XPK_LITERAL
* Support probe on the four bracketed scope types
* Added _OPT-suffixed versions of the four bracketed scope types
* Added more token types:
+ XPK_LEXVAR_MY
+ XPK_COMMA
+ XPK_PREFIXED_BLOCK
+ XPK_SEQUENCE
0.05 2021-05-31
[CHANGES]
* Added context-setting variants of block/expr types:
+ XPK_BLOCK_SCALARCTX, XPK_BLOCK_LISTCTX
+ XPK_TERMEXPR_SCALARCTX
+ XPK_LISTEXPR_LISTCTX
0.04 2021-05-24
[CHANGES]
* Added many more token types: XPK_LEXVARNAME, XPK_ATTRIBUTES,
XPK_VSTRING, XPK_VSTRING_OPT, XPK_EQUALS
* Added XPK_COMMALIST structure type
* Defined hooks flags XPK_FLAG_STMT, XPK_FLAG_EXPR, XPK_FLAG_AUTOSEMI
* API change to the way .build is invoked, allowing greater future
compatibility for args structures
0.03 2021-04-27
[BUGFIXES]
* Fix the `VAR never introduced at ...` warnings from uses of
XPK_BLOCK
* Make sure the Builder.pm file is mentioned in META.{yml,json} so
CPAN tools can find it
0.02 2021-04-21
[CHANGES]
* Back-compat to perl 5.14
* Avoid passing user strings directly to printf, by emitting
XPK_FAILURE using croak("%s", str)
* Various documentation wording improvements
0.01 2021-04-14
First version, released on an unsuspecting world.