title: ANTLR: Difference between backtrack and look-ahead?
body: <p>I relative new to ANTLR. I have an very easy grammar: </p>
  
  <pre><code>start   :
  ('A' 'B' 'C' '1'
  |'A' 'B' 'C' '2' 
  |'A' 'B' 'C' '3'
  )
  ;
  </code></pre>
  
  <p>I think that I already understand the basics of the concept of look ahead and backtracking (which works with syntactic predicates). So this grammar works with k=4 or with backtrack=true. But what is the exact difference and the main question is when do I use what? i tried to find the answer on the internet but didn't succeded.</p>