def to_SB (str)
regs = Array.new
@symbols.each {|symb|
if symb == "." or symb == "|" or symb == "(" or symb ==")" or symb == "[" or symb == "{" or symb == "+" or symb == "\\" or symb == "^" or symb == "$" or symb == "*" or symb == "?"
symb = "\\" + symb
end
regs.push(Regexp.new(symb))
}
scanner = Scanner.new([@symbols , regs])
redlist = parse(str)
(redlist == nil) ? (return nil) : ()
tree = Syntaxbaum.new("@",0)
redlist.each { |red|
links,rechts = red.split "->"
links = links.gsub("red[" , "").strip
rechts = rechts.gsub(".]", "").strip
rechtsarr = scanner.zerlege(rechts)
if tree.getSoehne.size == 0
tree.addNonterminal(links,0)
rechtsarr.each {|symb|
tree.getSoehne[0].addNonterminal(symb, tree.getSoehne[0].getSoehne.size)
}
else
found = search(tree, links)
rechtsarr.each {|symb|
found.addNonterminal(symb, found.getSoehne.size)
}
end
}
tree
end