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
\sos
and Start-of-Line\sol
macro rules. - New: Added
\pass
and\fail
macro rules. - New: nTimes
RepetitionRule
now has its own{x}
syntax. - New: Pegger now runs in Javascript!
- Chg:
\eol
macro 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:
CharRule
now accepts escaped unicode ranges.
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 toParser.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()
andRules.anySpaceChars()
.
v0.0.2
- New: Preview release.