PEG Parser in ANSI C
Code change: https://github.com/soasme/PeppaPEG/compare/v1.15.0..v1.16.0.
peppa ast
to peppa parse
. #123.🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷 🐷 🎉 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.
peppa ast
. #102 #104.Code change: https://github.com/soasme/PeppaPEG/compare/v1.13.0..v1.14.0.
@cut
. #90.P4_JsonifySourceAst
now doesn't require grammar
in the parameters. #89.P4_RuleID
is now deprecated. Please use string (char*
) for finding a rule. #84 #86.struct P4_Grammar
, struct P4_Expression
, struct P4_Frame
are now private structures. However, you can still access P4_Grammar
, P4_Expression
as typedefs.\xXX
. This allows terser form for ASCII chars. #80.\u{XXXX}
is now deprecated. Please use \uXXXX
or \UXXXXXXXX
. #79.P4_Token
is now renamed to P4_Node
. #78.Code change: https://github.com/soasme/PeppaPEG/compare/v1.12.0..v1.13.0.
[Enhancement]: Explicitly specify the expected rule & the position where error occurs. #70 #71 #72 #74 #75
Code change: https://github.com/soasme/PeppaPEG/compare/v1.11.0..v1.12.0.
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
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