def initialize(grammatik)
@grammar = grammatik
start = @grammar.getStartsymbol.getName
@zustaende = Menge.new([])
@alphabet_term = Menge.new([])
@alphabet = Menge.new([])
@grammar.getTerminals.each_value{|t| @alphabet.add(t.to_s)}
@alphabet_term = @alphabet.copy
@alphabet_term.add("#")
@grammar.getNonterminals.each_value{|t| @alphabet.add(t.to_s)}
@startZustand = Zustand.new(Item.new("S' -> ."+start+" ",@alphabet_term))
berechneZustaende(@grammar.addRule("S' -> "+start+"\n\n"))
@uebergaenge = uebergangsfunktion(@grammar.addRule("S' -> "+start+"\n\n"))
end