Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

InQueryOpParser.hpp

Go to the documentation of this file.
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 _INQUERYOPPARSER_HPP
00013 #define _INQUERYOPPARSER_HPP
00014 #define NESTING_LIMIT 20
00015 #include "Parser.hpp"
00016 #include "TextHandler.hpp"
00017 namespace lemur 
00018 {
00019   namespace parse 
00020   {
00021     
00022     // Source code in InQueryOpParser.lex
00023 
00024     class InQueryOpParser : public lemur::api::Parser {
00025 
00026     public:
00027       static const string identifier;
00028 
00029       InQueryOpParser();
00030 
00032       void parseFile (const string &filename);
00033 
00035       void parseBuffer (char * buf, int len);
00036 
00039       long fileTell() const;
00041       void doParse();
00043       void finishing_nesting_qnote(int top);
00045       void finishing_prox_qnote(int top);
00047       void parseNestingOp(const char *op);
00049       void parseProxOp(const char *op, const char *size);
00051       void parsePassageOp(const char *op, const char *size);
00053       void parseSynOp(const char *op);
00055       void parsePropOp(const char *op);
00057       void parseTermOp(const char *op);
00059       void parseQryNode(int tok);
00061       void parseProxNode(int tok);
00062 
00063     private:
00064 
00066       int state;
00067     };
00068   }
00069 }
00070 
00071 #endif

Generated on Tue Jun 15 11:02:54 2010 for Lemur by doxygen 1.3.4