Code change: <https://github.com/soasme/PeppaPEG/compare/v1.11.0..HEAD>.
- [Feature]: Support Comment for PEG Grammar. #69
- [Feature]: Support Unicode Character Categories for P4_Range. #65, #67
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
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
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.8.0..v1.9.0>.
- [Test]: Enable Valgrind for gcc check. #55
- [Feature]: Support specifying a name for a grammar rule. #53
- [Feature]: Added Lineno and Col Offset for P4_Tokens. #52
- [Feature]: Support parsing a subset of source input (P4_SetSourceSlice). #51
- [Feature]: Added a new flag: P4_FLAG_NON_TERMINAL. #50
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
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.6.0..v1.7.0>.
- [Enhancement]: Provided P4_GetErrorString. #45
- [Feature]: Added Join. #44
- [Example]: Wrote an Calculator example in Peppa PEG. #43
- [Feature]: Added StartOfInput and EndOfInput. #42
- [Feature]: Added parameter stride for Range. #41
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.5.0..v1.6.0>.
- [Enhancement]: Replaced token->expr with token->rule_id. #40
- [Bugfix]: Insert no whitespace while spacing is ongoing. #39
- [Example]: JSON example parser passes full JSON test suite. #37
- [Enhancement]: Support Emoji 🐷 #36
- [Bugfix]: Return NULL if CreateExpression receives invalid parameters. #35
- [Test]: Build docs & tests using GitHub Actions. #32, #34
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/>.
Code change: <https://github.com/soasme/PeppaPEG/compare/v1.3.0..v1.4.0>.
- Feature: Added P4_ReplaceGrammarRule and P4_SetGrammarCallback. #28.
- Added some documentation for data structures.
- Example: Make JSON example RFC7159 compatible. #25.
- Bugfix: Replace int with size_t. #22, #23.
- Experiment: Add Python Binding. #20, #24.
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.
- Add New Expression Kind: P4_BackReference. (#10)
- Change the return value to P4_Error for P4_AddGrammarRule. (#9)
- Added P4_GetSourcePosition. (#8)
- 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)
Kia Ora! This is the very fist release of Peppa PEG! It was strongly influenced by [Pest](https://pest.rs).