Skip to content

rindPHI/GrammarGraph

Repository files navigation

GrammarGraph

Creating graphs from context-free grammars for fun and profit.

Features

  • Creating sub graphs
  • Export back to grammars
  • Reachability
  • Filter abstraction
  • Dijkstra's algorithm for shortest paths between nodes
  • Checking whether a (sub) graph represents a tree
  • Computing k-paths (paths of exactly length k) in grammars and derivation trees, and a k-path coverage measure (see this paper) of derivation trees based on that.

Have a look at our feature demo!

Install

GrammarGraph requires at least Python 3.9.

We recommend to install GrammarGraph in a virtual environment. Example usage (inside project directory):

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Run tests
python3 -m pytest -n 16

Author: Dominic Steinhöfel.