PeggerRelease Notes

v1.1

Bigger and badder enhancements.

v1.1.6

  • New: afPegger is 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: RepetitionRule now checks for \eos to avoid getting stuck in an infinite loop (a common trap for new players).
  • Chg: no-op macro 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 / sequence rules.
  • 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 checked param to Parser.parse() methods.

v0.1.0

  • New: TreeRules and 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() and Rules.anySpaceChars().

v0.0.2

  • New: Preview release.