from tree import Tree

'''
Aufgabe 2 + 3: Top-Down-Erkenner + Parser

Format fuer Regeln: Dictionary aus RHS und Listen von RHS-Listen, {'LHS': [['RHS1', 'RHS2'],['RHS3']]...} - 
(unvollstaendiges) Bsp.: {'NP': [['D', 'N'],['D','N','PP']], 'S':[['NP',VP]]} 

Format fuer Lexikon: Menge von POS-Wort-Paaren -
(unvollstaendiges) Bsp.: set([( 'V', 'arbeitet'), ( 'V', 'liest'), ( 'N', 'Student')])

Format fuer Saetze: Liste von Woertern - Bsp.: ['der', 'Student', 'liest']
'''



# Aufgabe 2
def recognize(sentence, rules, lexicon):
    # implementieren!
    return False



# Aufgabe 3
class TopDownParser: 
    # implementieren! Wahrscheinlich brauchst Du noch andere Hilfs-Klasseun und -Methoden.
    def __init__(self, sent, rules, lexicon):
        pass
    def __iter__(self):
        return self
    def __next__(self):
        raise StopIteration

