PeggerRelease Notes
v1.1
Bigger and badder enhancements.
v1.1.8
- New: Added
Peg.find(),Peg.replace(),Peg.replaceAll(),Peg.replaceAllFn(), andPeg.searchAll(). - New: Added
Match.snippet(),Match.location(),Match.lineNum(), andMatch.findMatch(). - New: Added Start-of-Stream
\sosand Start-of-Line\solmacro rules. - New: Added
\passand\failmacro rules. - New: nTimes
RepetitionRulenow has its own{x}syntax. - New: Pegger now runs in Javascript!
- Chg:
\eolmacro no longer matches characters - breaking change!. - Chg: Allowed RuleRefs to be more independent with regards to labels and inclusion in match results.
- Chg: Added system hook that lets PegParseErrs be converted to custom Errs (added for AFX).
- Bug: Grammars did not error when defining multiple definitions with the same name.
- Bug:
CharRulenow accepts escaped unicode ranges.
v1.1.6
- New:
afPeggeris now packaged as a SkySpark extension. - Chg:
Peg.search()now takes an optional label. - Chg: Changed the
dump()API to be more consistent with AFX.
v1.1.4
- New: New dump macro for debugging:
\dump(HELLO). - Chg:
RepetitionRulenow checks for\eosto avoid getting stuck in an infinite loop (a common trap for new players). - Chg:
no-opmacro may pass or fail:\noop(fail). - Chg: Reworked internals to better distinguish between grammar definitions and rules.
- Chg: Documentation tweaks.
- Bug: Identity crisis! Simple proxy rules could overwrite rule names and unwanted labels could be inherited.
v1.1.2
- New: Added ranges to multiplicity expressions in PEG grammar, e.g.
rule{2,6} - Chg: Ensured rule expressions are properly escaped (more edge cases tested).
v1.1.0
- New: Rules may be spread across multiple lines.
- New: Rules may be excluded from results, and omitted from debug logging.
- New: Comments may be placed inside rules, inbetween rules, and after rules.
- New: Introduced operator precendence between
firstOf/sequencerules. - Chg: Logging is much cleaner and understandable.
- Chg: Removed action functions on Rules - they were too ambiguous - tree walking is far better.
- Chg: Added brief description of PEG notation to docs.
- Chg: Exposed Rule API so you may created your own Rule classes.
v1.0
An entire re-write into something awesome!
v1.0.0
- New: Re-written in to a leaner, meaner, and way more expressive PEG parser!
v0.1
v0.1.2
- New: Added
checkedparam toParser.parse()methods.
v0.1.0
- New:
TreeRulesand support classes for generic parsing of tree structures. - New:
Rules.eos()for detecting End-Of-Stream. - New: Added
Rules.oneOf() - New: An action ctx is passed into the action success funcs.
v0.0.4
- New:
Rules.doAction()andRules.anySpaceChars().
v0.0.2
- New: Preview release.