Releases: google/mug
Releases · google/mug
Release list
Release 10.6
-
(configurable)
StackOverflowErrorprotection against deeply nested recursive structure. Makes dot-parse the safest Java recursive descent parser. -
extensive benchmarks stacking dot-parse against major Java, Scala and Kotlin parser frameworks.
-
digits(n),hexDigits(n)parsers. Easier to express regex-like composite patterns like:Parser<String> usPhoneNumber = sequence(digits(3), one('-'), digits(3), one('-), digits(4)).source(); -
Parser.mapWithIndex()makes the source index usable by the grammar. -
Parser.OrEmpty.source()andParser.OrEmpty.map()makes optional parsers more convenient. -
bug fixes.
Release 10.5.1
- Return elision works on
.optional() - Error message formatting bug fixes.
Release 10.5
- dot-parse performance optimization (return elision)
Parser.anyOf(str1, str2, ...)Parser.optionallyFollowedBy(Parser<?> suffix)
Release 10.4.3
- Major dot-parse and
EmailAddressperformance improvements. - More friendly error messages by
Parser.
Release 10.3.1
- Property treatment of RFC 2047 encoded words in
EmailAddress. EmailAddress.unicodeDisplayName()to decode RFC 2047 display name.
Release 10.3
Parser.nestedBy()for balanced nested quoting.EmailAddresshardened for security and new methods:user(),alias(),hasI18nDomain().MarkdownLink- a light-weight markdown link parser.GraphWalkerbug fixes.
Release 10.2
Parser.consecutive("[a-zA-Z0-9-]")and friends.MoreStreams.mergeConsecutive(Stream, Class<T>, BinaryOperator<T>)
Release 10.1.1
Fixed Parser.first() to respect skipping.
Release 10.1
- Fixed
Parser.literally(p)semantics. It should be an "atomic" operator. - Added
Parser.sequence(Parser, Production...)as a shorthand ofp1.then(p2).then(p3).then(p4)when they are meant to be matched as a single unit.
Release 10.0.1
Bug fixes for Parser.sequence(OrEmpty, Parser, BiFunction).