def Rule.from_Yacc2(input)
output = ""
zeilen = input.split("\n")
name = zeilen[0].split[1]
zeilen.delete_at(0)
output += name + " -> "
zeilen.each do |zeile|
optoken = zeile.split[0]
operator = zeile.split[1]
if (optoken == "left" || optoken == "right" || optoken == "none")
output += name + " " + operator + " " + name + "\n" + " " * name.length + " | "
elsif optoken == "pre"
output += operator + " " + name + " " + "\n" + " " * name.length + " | "
elsif optoken == "post"
output += name + " " + operator + " " + "\n" + " " * name.length + " | "
end
end
atome = zeilen[zeilen.size-1].split(/,\s|\s/)
atome.delete_at(0)
atome.each do |atom|
output += atom + "\n" + " " * name.length + " | "
end
output.strip.chop.strip
end