есть строка (a+b+c)*(d-e/f). её нужно загнать в дерево, чтобы получилось следующее:

понимаю, что вопрос может казаться странным,но подскажите как динамически изменять структуру дерева: например, добавлять дочерние ветки, не используя вот этой жуткой конструкции:
- Код: Выделить всё
OpersTree.Nodes.AddRange(New System.Windows.Forms.TreeNode() {New _
System.Windows.Forms.TreeNode("*", New System.Windows.Forms.TreeNode() {New _
System.Windows.Forms.TreeNode("+", New System.Windows.Forms.TreeNode() {New _
System.Windows.Forms.TreeNode("a"), New System.Windows.Forms.TreeNode("b"), New _
System.Windows.Forms.TreeNode("c")}), New System.Windows.Forms.TreeNode("-", New _
System.Windows.Forms.TreeNode() {New System.Windows.Forms.TreeNode("d"), New _
System.Windows.Forms.TreeNode("/", New System.Windows.Forms.TreeNode() {New _
System.Windows.Forms.TreeNode("e"), New System.Windows.Forms.TreeNode("f")})})})})
Заранее благодарен