title: Approaching Text Parsing in Scala
body: <p>I'm making an application that will parse commands in Scala. An example of a command would be:</p>
  
  <pre><code>todo get milk for friday
  </code></pre>
  
  <p>So the plan is to have a pretty smart parser break the line apart and recognize the command part and the fact that there is a reference to time in the string.</p>
  
  <p>In general I need to make a tokenizer in Scala. So I'm wondering what my options are for this. I'm familiar with regular expressions but I plan on making an SQL like search feature also:</p>
  
  <pre><code>search todo for today with tags shopping
  </code></pre>
  
  <p>And I feel that regular expressions will be inflexible implementing commands with a lot of variation. This leads me to think of implementing some sort of grammar.</p>
  
  <p>What are my options in this regard in Scala? </p>