title: Contructing Abstract Syntax Trees for Compiler Design
body: <p>I am currently studying Compiler Design and wanted to know if there are other factors (other than operator precedence) that drive an Abstract Syntax Tree construction to be a bottom-up approach. </p>
  
  <ol>
  <li><p>Is it safe to say that particularly in case of compilers design the
  abstract syntax tree structure will be constructed <strong><em>always</em></strong>
  bottom-up?</p></li>
  <li><p>If yes, what are constraints that will arise going top-down in terms
      of ambiguity, complexity and feasibility?</p></li>
  </ol>
  
  <p>P.S. The intent of this question is to get a simple analogy as an answer which addresses it.</p>
  
  <p>What I have read so far is this
  <a href="https://stackoverflow.com/questions/5967888/whats-the-difference-between-parse-trees-and-abstract-syntax-trees">question on SO</a> and related course material including Wikipedia article but I want the freedom to say that yes they are always and will be constructed bottom-up. I hope there doesn't exist even a failed attempted research to go other ways. </p>