#!/usr/bin/env python
"""
:Author Patrik Valkovic
:Created 22.08.2017 11:39
:Licence GNUv3
Part of grammpy-transforms

"""

from typing import Dict, List
from grammpy import Nonterminal


def find_nonterminals_reachable_by_unit_rules(grammar) \
        -> Dict[Nonterminal, List[Nonterminal]]:
    raise NotImplementedError()

@@ -139,14 +139,8 @@
 port
- Dict,
  Lis
@@ -176,84 +176,340 @@
 inal
-%0A%0A%0Adef find_nonterminals_reachable_by_unit_rules(grammar) %5C%0A        -%3E Dict%5B
+, Rule%0A%0A%0Aclass UnitSymbolRechablingResults:%0A    def reach(self, from_symbol: Nonterminal, to_symbol: Nonterminal) -%3E bool:%0A        raise NotImplementedError()%0A%0A    def reachables(self, from_symbol: Nonterminal) -%3E List%5BNonterminal%5D:%0A        raise NotImplementedError()%0A%0A    def path_rules(self, from_symbol: Nonterminal, to_symbol: 
 Nont
@@ -519,28 +519,148 @@
 inal
-,
+) -%3E
  List%5B
-Nonterminal%5D%5D
+Rule%5D:%0A        raise NotImplementedError()%0A%0A%0Adef find_nonterminals_reachable_by_unit_rules(grammar) -%3E UnitSymbolRechablingResults
 :%0A  

Add UnitSymbolReachablingResults class