Release 2022.12.0 #100
foonathan
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Headline: Unicode 15 support, ability to split a grammar into multiple translation units using
lexy::dsl::subgrammar
, and significant performance improvements.Potential breaking changes
lexy::dsl::peek_not()
error recovery behavior:it will now consume the input it matched to recover, which is more useful.
Production
parameter fromlexy::error_context
.It is replaced by a type-erased
lexy::production_info
.lexy::validate
,lexy::parse
, andlexy::parse_as_tree
now type-erase generic error tags prior to invoking the callback.lexy::production_info
instead ofProduction
type inlexy::parse_tree
.This is technically a breaking change, as it may affect overload resolution.
New features
lexy::dsl::subgrammar
to split a grammar into multiple translation units.lexy::dsl::flags
andlexy::dsl::flag
to parse enum flags.lexy::dsl::position
that parses a rule.This allows using it as branch conditions.
lexy::dsl::effect
to trigger side-effects during parsing.lexy::subexpression_production
to parse a subexpression.lexy::utf8_char_encoding
.lexy::parse_tree::remaining_input()
and populate it bylexy::parse_as_tree
.lexy::make_buffer_from_input
function.lexy::error
.const
parse state.Bugfixes
lexy::bind
callback does not forward rvalue arguments; they got turned into lvalues instead.void
.dsl::quoted(cc.error<foo>)
did not usefoo
as the error.New Contributors
Full Changelog: v2022.05.1...v2022.12.0
This discussion was created from the release Release 2022.12.0.
Beta Was this translation helpful? Give feedback.
All reactions