Dapar is a universal parsing library written in C. It will interpret any grammar you give it in a BNF-like format, and constructs a matching expression tree for any given input. This makes developing a new parser for any language simple and reliable.
Includes an ABNF parser, EBNF parser, XML parser and algebraic math parser.
- Small and portable (all C code)
- Understands ASCII, Unicode, UTF-8, and UTF-32 input
- Automatic ambiguity detection and debugging
- Implements a superset of all common BNF features found in EBNF, ABNF and W3-BNF
- Example parser for ABNF: Augmented BNF for Syntax Specifications (RFC 5234)
- Example parser for EBNF: Extended BNF (ISO 14977)
- Example parser for mathematics (simple and algebraic)
- Example parser for XML 1.0 (Fifth Edition)