Actually, this is more of a lexical analyzer, but still very applicable for reading HTML and building a DOM tree. ...