Revision history for XS-Parse-Keyword
0.23 2022-05-18
[CHANGES]
*
Defined XPK_KEYWORD, a better version of XPK_LITERAL for
keyword-like tokens
*
Defined XPK_ARITHEXPR, a higher-precedence version of XPK_TERMEXPR
*
Defined XPK_ARGSCOPE, a variant of XPK_PARENSCOPE where the parens
themselves are optional
*
Undocument the old XPK_STRING token type
[BUGFIXES]
*
Fixes for bugs that affect -DDEBUGGING-enabled perls
+ Remember to clear OPf_KIDS when stealing the op_first of a
LISTOP (RT142770)
+ Don't call cv_clone() at compiletime when unit testing; generate
an OP_ANONCODE instead (RT142771)
0.22 2022-02-21
[CHANGES]
*
Added XPK_AUTOSEMI piece type
[BUGFIXES]
*
Don't segfault if lex_scan_lexvar() fails (RT140402)
*
Set required version of ExtUtils::ParseXS for multiple t/*.xs files
0.21 2021-10-12
[BUGFIXES]
*
Fix for perl 5.20 - cannot use assert() as an expression
0.20 (bad MANIFEST)
0.19 2021-10-05
[CHANGES]
*
Defined XPK_PREFIXED_BLOCK_ENTERLEAVE and XPK_SETUP for customizing
the parser context around blocks
0.18 2021-09-28
[CHANGES]
*
Define the XPI_OPERAND_ONLY_LOOK flag
*
Define a callchecker for list/list infix operators. Add a
callchecker that can optimise out certain kinds of operations
(ref to padav or pkgav, anonlist if XPI_OPERAND_ONLY_LOOK is set)
[BUGFIXES]
*
cygwin requires deparse_infix to be declared with XS_INTERNAL()
(RT139449)
*
Some architectures require intermediate storage for values in the
test function pp_addpairs (RT139445)
*
Fix conditions in lexical variable type checking (RT139444)
0.17 2021-09-23
[CHANGES]
*
Support certain kinds of list operands on LHS of infix operators
*
Generate wrapper functions around list-list infix operators, which
unpack their argument lists from two ARRAYrefs
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.