Skip to content

metwse/rdesc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

contribute -Wai-slop

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.

About

Generic Right-Recursice Descent Parser

Resources

License

Stars

Watchers

Forks