Releases: soasme/PeppaPEG
v1.16.0 is released!
Code change: https://github.com/soasme/PeppaPEG/compare/v1.15.0..v1.16.0.
- [API Change]: Rename Shell subcommand
peppa ast
topeppa parse
. #123. - [Performance]: Optimize the code to reduce errmsg string printf calls. #122.
- [Performance]: Optimize the code to reduce frame malloc by keeping unused frame. #121.
- [Performance]: Optimize the code to reduce backref malloc in sequence matching. #120.
- [Performance]: Optimize the code to reduce strlen call in literal matching. #119.
- [Enhancement]: Shell supports reading files from a glob pattern. #118.
- [Example]: Added Golang grammar written in Peppa PEG Specification. #117.
- [Bug Fix]: Non-terminal choice should lift the only child. #116.
- [API Change]: Rename Cut operator to ~. #115 #115.
- [Feature]: Support Left Recursion. #112, #113, #114.
v1.15.0 is released!
🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷
🎉 Hooray, Peppa PEG v1.15.0 is now released! 🎉
🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷
-
Do you know there is a formal Peppa PEG specification now? Check it out: https://www.soasme.com/PeppaPEG/spec.html.
-
Back reference is a useful feature for capturing a previously matched string for later use. Check it out: https://www.soasme.com/PeppaPEG/spec.html#back-reference
-
Have you tried
mkdir build && cd build && cmake .. && make && make install
? Peppa PEG can now be installed as a shared library and a command-line utility. The utility is helpful when developing a new grammar. Check it out: https://github.com/soasme/PeppaPEG#installation -
Want to see more examples? Check this new one: Toml v1.0 specification in Peppa PEG.
Code change: https://github.com/soasme/PeppaPEG/compare/v1.14.0..v1.15.0.
- [Documentation]: Upgrade Peppa PEG Specification and fixed various bugs. #111.
- [Tests]: Introduced JSON-based TINOUT-style test specs. #103 #105 #106.
- [Feature]: New shell command:
peppa ast
. #102 #104. - [Feature]: Install a command-line utility peppa if -DENABLE_CLI=On. #101.
- [Enhancement]: Support installing shared library to the system via make install. #100.
- [Feature]: Extend range category to support Unicode Property & General Category. #99.
- [Example]: Provide an example of Peppa definition of Toml v1.0 specification. #98 #107 #108 #109.
- [Performance]: Optimize the code to reduce the call frames in runtime. #97.
- [Feature]: Upgrade insensitive to support both literal and back reference. #96.
- [Feature]: Support back reference in Peppa specification. #95.
- [Enhancement]: Improved the error message. #93 #94.
- [Enhancement]: Support an additional callback for catch_err(). This is internal. #92.
- [Bug Fix]: Fix the wrong lineno:offset from the error output. #91.
v1.14.0 is released!
Code change: https://github.com/soasme/PeppaPEG/compare/v1.13.0..v1.14.0.
- [Feature]: New PEG expression:
@cut
. #90. - [API Change]:
P4_JsonifySourceAst
now doesn't requiregrammar
in the parameters. #89. - [Enhancement]: Wrap errors with catch_err / catch_oom in the .c implementation. #88 #91 #92.
- [Bugfix]: Error report now can display correct lineno:offset information. #87.
- [API Change]:
P4_RuleID
is now deprecated. Please use string (char*
) for finding a rule. #84 #86. - [API Change]:
struct P4_Grammar
,struct P4_Expression
,struct P4_Frame
are now private structures. However, you can still accessP4_Grammar
,P4_Expression
as typedefs. - [Example]: Added a example TOML v1.0 parser. #81.
- [Feature]: New escape type:
\xXX
. This allows terser form for ASCII chars. #80. - [API Change]:
\u{XXXX}
is now deprecated. Please use\uXXXX
or\UXXXXXXXX
. #79. - [API Change]:
P4_Token
is now renamed toP4_Node
. #78.
v1.13.0 is released!
v1.12.0 is released!
v1.11.0 is released!
Code change: https://github.com/soasme/PeppaPEG/compare/v1.10.0..v1.11.0.
[Feature]: Allow setting arbitrary number of @spaced
rules. #66
[Feature]: Add P4_AcquireSourceAst. #64
[Example]: Add tutjson page to docs. #63
[Feature]: Add P4_ResetSource. #62
[Feature]: Add P4_InspectSourceAst. #61
[Feature]: Customize malloc/free/realloc. #60
v1.10.0 is released.
Code change: https://github.com/soasme/PeppaPEG/compare/v1.9.0..v1.10.0.
[Feature]: Support . (maps to [u{1}-u{10ffff}]). #59
[Example]: Refactor the JSON example to use PEG API. #58
[Feature]: Jsonify token AST using grammar rule name. #57
[Feature]: Added function: P4_LoadGrammar. #56
v1.9.0 is released!
v1.8.0 is released!
Code change: https://github.com/soasme/PeppaPEG/compare/v1.7.0..v1.8.0.
[Bugfix]: Support non-ASCII case insensitive literal match. #48 #49
[Feature]: Allow user setting Userdata for P4_Tokens. #47
[Feature]: Print source ast in JSON format. #46