Change Log¶
Not Yet Released¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.16.0..HEAD>.
1.16.0 (4 Sep, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.15.0..v1.16.0>.
[API Change]: Rename Shell subcommand peppa ast to peppa 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 support 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 <https://github.com/soasme/PeppaPEG/pull/115>.
1.15.0 (22 Aug, 2021)¶
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]: 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.
1.14.0 (8 Aug, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.13.0..v1.14.0>.
[Enhancement]: Support an additional callback for catch_err(). This is internal. #92.
[Bug Fix]: Fix wrong lineno:offset from the error output. #91.
[Feature]: New PEG expression: @cut. #90.
[API Change]: P4_JsonifySourceAst now doesn’t require grammar in the parameters. #89.
[Enhancement]: Wrap errors with catch_err / catch_oom in the .c implementation. #88
[Bug Fix]: 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 access P4_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 to P4_Node. #78.
1.13.0 (6 May, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.12.0..v1.13.0>.
1.12.0 (17 Apr, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.11.0..v1.12.0>.
1.11.0 (8 Apr, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.10.0..v1.11.0>.
1.10.0 (8 Apr, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.9.0..v1.10.0>.
1.9.0 (1 Apr, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.8.0..v1.9.0>.
1.8.0 (25 Mar, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.7.0..v1.8.0>.
1.7.0 (10 Mar, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.6.0..v1.7.0>.
1.6.0 (4 Mar, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.5.0..v1.6.0>.
1.5.0 (28 Feb, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.4.0..v1.5.0>.
Added option sensitive For BackReference. #31.
Full ANSI C support for peppapeg.c. #30.
Generate Website for Documentation. #29. Check it out: <https://www.soasme.com/PeppaPEG/>.
1.4.0 (24 Feb, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.3.0..v1.4.0>.
1.3.0 (19 Feb, 2021)¶
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.2.0..v1.3.0>.
Feature: Added P4_GetRecursionLimit and P4_SetRecursionLimit. (#19).
Performance Optimization: the performance is now 10x faster than 1.2.0. (#15, #16, #17, #18.
Bugfix: Memory leak fixed. #14.
Example: Write a JSON Parser using Peppa PEG. #13.
Example: Write a Mustache Parser using Peppa PEG. #12.
Bugfix: Raise P4_AdvanceError if repeated expression consumes no input. #11.
1.2.0 (15 Feb, 2021)¶
Add New Expression Kind: P4_BackReference. (#10)
Change the return value to P4_Error for P4_AddGrammarRule. (#9)
Added P4_GetSourcePosition. (#8)
1.1.0 (10 Feb, 2021)¶
C89 compliant. (#7)
Add PUBLIC(P4_Error) P4_SetGrammarRuleFlag. (#6)
Example: Write an INI Parser using Peppa PEG. (#5)
Has/Get error and error message (#4)
Turn Get/Set Whitespaces as PRIVATE functions. (#3)
AddSequenceMembers/AddChoicMembers functions. (#2)
Add ExpressionFlag Getter/Setter Functions. (#1)
1.0.0 (08 Feb, 2021)¶
Kia Ora! This is the very fist release of Peppa PEG! It was strongly influenced by [Pest](https://pest.rs).