generic right-recursice descent parser
librdesc is an portable, table-driven algorithm-only parsing library written
in standard C99. It provides the flexibility of a recursive descent parser with
high degree of control in manual stack management.
Contributions are welcome! Please check our Code of Conduct before submitting pull requests.
You can build librdesc and its utilities using GNUMake.
make # Build the main library
make tests # Build all test binariesProviding FEATURES variable, you can toggle modules linked to the library. By
default, only stack feature is enabled.
make FEATURES='stack dump_bnf dump_dot'| Feature | Description |
|---|---|
stack |
Use built-in stack implementation in backtracing, which uses malloc/free family functions. |
dump_bnf |
Dump rdesc_cfg (Context-Free Grammar) in Backus–Naur form. |
dump_dot |
Dump rdesc_node (Concrete Syntax Tree) as dotlang graph. |
Documentations can be auto-generated using Doxygen.