e. Programmers typically
        approach parsing using ad hoc hacks with primitive tools such as scanf. Even
        regular-expression libraries (such as boost regex) or scanners (such as Boost
        tokenizer) do not scale well when we need to write more elaborate parsers.
        Attempting to write even a moderately-complex parser using these tools leads
        to code that is hard to understand and maintain.
      </p>
<p>
        One prime objective is to make the tool easy to use. When one thinks