This directory contains an implementation of an html context scanner with no
lookahead. Its purpose is to scan an html stream and provide context
information at any point within the input stream. This is used in the
auto escaping functionality of the templating system, which would require
html context information at very specific points within the html stream. The
implementation is based on a simplified state machine of HTML4.1.

The implementation is written in C, with the idea of making is usable
in other contexts besides this html paresr; however, we compile all
the files as c++ files in order to be able to use a namespace (and
avoid global namespace pollution).  There's also a c++ shim to give an
object-oriented look at the html parser state, which is what the
ctemplate system actually uses.
