title: How to left factor a context-free grammar?
body: <p>As I understand, in the following case left factoring is required to build top-down parser.
  But it's hard to understand how to do that? Can someone help me here? Thanks.</p>
  
  <pre><code>s = a | b
  b = c d
  c = (e | f) g
  e = a | h
  </code></pre>