00001 /*========================================================================== 00002 * Copyright (c) 2003 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 #include "Parser.hpp" 00013 #include "TextHandler.hpp" 00014 #include "LinkedPropertyList.hpp" 00015 00016 #ifndef _BRILLPOSPARSER_HPP 00017 #define _BRILLPOSPARSER_HPP 00018 namespace lemur 00019 { 00020 namespace parse 00021 { 00022 00036 00037 // Source code in BrillPOSParser.l 00038 00039 class BrillPOSParser : public lemur::api::Parser { 00040 00041 public: 00042 static const string identifier; 00043 00044 BrillPOSParser(); 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 int poscount; 00062 00064 Property wordpos; 00065 Property tag; 00066 00068 LinkedPropertyList proplist; 00069 }; 00070 } 00071 } 00072 00073 #endif