title: Haskell - Reverse polish notation regular expression to expression tree
body: <p>Im struggling with coming up with algorithm that converts a regular expression (in context of regular languages, there are only 3 operations '.' for concat, '+' for "or" and '*' for iteration) in reverse polish notation to the regular expression tree.</p>
  
  <p>For example i have a regular expression</p>
  
  <pre><code>aa.bb.+
  </code></pre>
  
  <p>for which i need to construct following expression tree</p>
  
  <pre><code>      +
      /   \
     .     .
    / \   / \
   b   b a   a  
  </code></pre>
  
  <p>Would appreciate any help. Thanks!</p>