parse the user&rsquo;s input,
we will traverse the list of patterns from top to bottom,
trying to match the user&rsquo;s input with each pattern in turn.
We will stop at the first match found.
For the sake of simplicity, we will not make use of
<a href="http://en.wikipedia.org/wiki/Backtracking">backtracking</a>,
though this could be added later.
</p>
<p>
Uppercase letters are the
<a href="http://en.wikipedia.org/wiki/Nonterminal_symbol">nonterminal symbols</a>
in our grammar;
they match <b>any tag</b> (of 