title: parsing math expression in c++
body: <p>I have a question about Parsing Trees:</p>
  
  <p>I have a string (math expresion estring), for example: <code>(a+b)*c-(d-e)*f/g</code>. I have to parse that expression in a Tree:</p>
  
  <pre><code>class Exp{};
  class Term: public Exp{
      int n_;
  }
  
  class Node: Public Exp{
      Exp* loperator_;
      Exp* roperator_;
      char operation; // +, -, *, /
  }
  </code></pre>
  
  <p>What algorithm can I use to build a tree which represents the expresion string above?</p>