00001 /*========================================================================== 00002 * Copyright (c) 2001 Carnegie Mellon University. All Rights Reserved. 00003 * 00004 * Use of the Lemur Toolkit for Language Modeling and Information Retrieval 00005 * is subject to the terms of the software license set forth in the LICENSE 00006 * file included with this software, and also available at 00007 * http://www.lemurproject.org/license.html 00008 * 00009 *========================================================================== 00010 */ 00011 00012 #ifndef _WEBPARSER_HPP 00013 #define _WEBPARSER_HPP 00014 00015 #include "Parser.hpp" 00016 #include "TextHandler.hpp" 00017 #include "LinkedPropertyList.hpp" 00018 00019 namespace lemur 00020 { 00021 namespace parse 00022 { 00023 00036 00037 // Source code in webparser.lex 00038 00039 class WebParser : public lemur::api::Parser { 00040 00041 public: 00042 static const string identifier; 00043 00044 WebParser(); 00045 00047 void parseFile(const string &filename); 00048 00049 void parseBuffer(char * buf, int len); 00050 00051 long fileTell() const; 00052 00053 private: 00055 void doParse(); 00056 00058 int state; 00059 00061 Property begelem; 00062 Property endelem; 00063 00065 LinkedPropertyList proplist; 00066 }; 00067 } 00068 } 00069 00070 #endif