librdesc
Loading...
Searching...
No Matches
librdesc

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.

<tt>contribute -Wai-slop</tt>

no-ai-slop

Contributions are welcome! Please check our Code of Conduct before submitting pull requests.

Building

You can build librdesc and its utilities using GNUMake.

make # Build the main library
make tests # Build all test binaries

Feature Flags

Providing 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.

Documentation

Documentations can be auto-generated using Doxygen.