# File Grammatiken.rb, line 212
        def Rule.from_Yacc(input)
                i = 1
                output = ""
                puts input + "\n"
                zeilen = input.split("\n")
                name = zeilen[0].split[1]
                # Erste Zeile
                output += name + " -> " + name + i.to_s + "\n"
                # Mittlere Zeilen
                zeilen.delete_at(0)
                zeilen.each do |zeile|
                        optoken = zeile.split[0]
                        operator = zeile.split[1]
                        if optoken == "left"
                                output += name + i.to_s + " -> " + name + i.to_s + " " + operator + " " + name + (i+1).to_s + "\n"
                                output += " " * (name + i.to_s).length + " | " + name + (i+1).to_s + "\n"
                                i += 1
                        elsif optoken == "right"
                                output += name + i.to_s + " -> " + name + (i+1).to_s + " " + operator + " " + name + i.to_s + "\n"
                                output += " " * (name + i.to_s).length + " | " + name + (i+1).to_s + "\n"
                                i += 1
                        elsif optoken == "none"
                                output += name + i.to_s + " -> " + name + (i+1).to_s + " " + operator + " " + name + (i+1).to_s + "\n"
                                output += " " * (name + i.to_s).length + " | " + name + (i+1).to_s + "\n"
                                i += 1
                        elsif optoken == "pre"
                                output += name + i.to_s + " -> " + operator + " " + name + i.to_s + " " + "\n"
                                output += " " * (name + i.to_s).length + " | " + name + (i+1).to_s + "\n"
                                i += 1
                        elsif optoken == "post"
                                output += name + i.to_s + " -> " + name + i.to_s + " " + operator + " " + name + (i+1).to_s + "\n"
                                output += " " * (name + i.to_s).length + " | " + name + (i+1).to_s + "\n"
                                i += 1
                        end
                end
                # Letzte Zeile
                output += name + i.to_s + " -> " + "(" + name + 1.to_s + ")" +"\n"
                atome = zeilen[zeilen.size-1].split(/,\s|\s/)
                atome.delete_at(0)
                atome.each do |atom|
                        output += " " * (name + i.to_s).length + " | " + atom + "\n"
                end
                puts output
        end