Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

QueryParser.hpp

Go to the documentation of this file.
00001 #ifndef INC_QueryParser_hpp_
00002 #define INC_QueryParser_hpp_
00003 
00004 #line 55 "indrilang.g"
00005 
00006   #include "indri/QuerySpec.hpp"
00007   #include "indri/DateParse.hpp"
00008   #include "indri/delete_range.hpp"
00009   #include "indri/PriorFactory.hpp"
00010   #include "indri/QueryLexer.hpp"
00011 
00012 #line 13 "QueryParser.hpp"
00013 #include <antlr/config.hpp>
00014 /* $ANTLR 2.7.4: "indrilang.g" -> "QueryParser.hpp"$ */
00015 #include <antlr/TokenStream.hpp>
00016 #include <antlr/TokenBuffer.hpp>
00017 #include "QueryLexerTokenTypes.hpp"
00018 #include <antlr/LLkParser.hpp>
00019 
00020 ANTLR_BEGIN_NAMESPACE(indri)
00021 ANTLR_BEGIN_NAMESPACE(lang)
00022 class CUSTOM_API QueryParser : public ANTLR_USE_NAMESPACE(antlr)LLkParser, public QueryLexerTokenTypes
00023 {
00024 #line 177 "indrilang.g"
00025 
00026 private:
00027   // storage for allocated nodes
00028   std::vector<indri::lang::Node*> _nodes;
00029   // makes sure nodes go away when parser goes away
00030   VectorDeleter<indri::lang::Node*> _deleter;
00031   // gives us access to named priors
00032   PriorFactory* _priorFactory;
00033   
00034 public:
00035   void init( PriorFactory* factory, QueryLexer* lexer ) {
00036     _priorFactory = factory;
00037     _deleter.setVector( _nodes );
00038   }
00039 #line 24 "QueryParser.hpp"
00040 public:
00041         void initializeASTFactory( ANTLR_USE_NAMESPACE(antlr)ASTFactory& factory );
00042 protected:
00043         QueryParser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf, int k);
00044 public:
00045         QueryParser(ANTLR_USE_NAMESPACE(antlr)TokenBuffer& tokenBuf);
00046 protected:
00047         QueryParser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer, int k);
00048 public:
00049         QueryParser(ANTLR_USE_NAMESPACE(antlr)TokenStream& lexer);
00050         QueryParser(const ANTLR_USE_NAMESPACE(antlr)ParserSharedInputState& state);
00051         int getNumTokens() const
00052         {
00053                 return QueryParser::NUM_TOKENS;
00054         }
00055         const char* getTokenName( int type ) const
00056         {
00057                 if( type > getNumTokens() ) return 0;
00058                 return QueryParser::tokenNames[type];
00059         }
00060         const char* const* getTokenNames() const
00061         {
00062                 return QueryParser::tokenNames;
00063         }
00064         public:  indri::lang::ScoredExtentNode*  query();
00065         public:  indri::lang::ScoredExtentNode*  scoredExtentNode();
00066         public:  indri::lang::ScoredExtentNode*  weightNode();
00067         public:  indri::lang::ScoredExtentNode*  combineNode();
00068         public:  indri::lang::ScoredExtentNode*  orNode();
00069         public:  indri::lang::ScoredExtentNode*  notNode();
00070         public:  indri::lang::ScoredExtentNode*  wandNode();
00071         public:  indri::lang::ScoredExtentNode*  wsumNode();
00072         public:  indri::lang::ScoredExtentNode*  maxNode();
00073         public:  indri::lang::PriorNode*  priorNode();
00074         public:  ScoredExtentNode*  scoredRaw();
00075         public:  RawExtentNode*  qualifiedTerm();
00076         public:  ExtentOr*  context_list();
00077         public:  RawExtentNode*  unqualifiedTerm();
00078         public:  indri::lang::ScoredExtentNode*  weightedList(
00079                  indri::lang::WeightedCombinationNode* wn 
00080         );
00081         public:  indri::lang::ExtentRestriction*  extentRestriction(
00082                  indri::lang::ScoredExtentNode* sn 
00083         );
00084         public:  double  floating();
00085         public:  indri::lang::ScoredExtentNode*  sumList(
00086                  indri::lang::WSumNode* wn 
00087         );
00088         public:  indri::lang::ScoredExtentNode*  unweightedList(
00089                  indri::lang::UnweightedCombinationNode* cn 
00090         );
00091         public:  indri::lang::ScoredExtentNode*  sumNode();
00092         public:  indri::lang::ODNode*  odNode();
00093         public:  RawExtentNode*  unscoredTerm();
00094         public:  indri::lang::UWNode*  uwNode();
00095         public:  indri::lang::FilRejNode*  filrejNode();
00096         public:  indri::lang::FilReqNode*  filreqNode();
00097         public:  indri::lang::Field*  anyField();
00098         public:  ExtentAnd*  field_list();
00099         public:  FieldLessNode*  dateBefore();
00100         public:  FieldGreaterNode*  dateAfter();
00101         public:  FieldBetweenNode*  dateBetween();
00102         public:  indri::lang::ExtentOr*  synonym_list();
00103         public:  FieldLessNode*  lessNode();
00104         public:  FieldGreaterNode*  greaterNode();
00105         public:  FieldBetweenNode*  betweenNode();
00106         public:  FieldEqualsNode*  equalsNode();
00107         public:  IndexTerm*  rawText();
00108         public:  Field*  field_restriction();
00109         public:  UINT64  date();
00110         public:  UINT64  dashDate();
00111         public:  UINT64  slashDate();
00112         public:  UINT64  spaceDate();
00113         public:  INT64  number();
00114 public:
00115         ANTLR_USE_NAMESPACE(antlr)RefAST getAST()
00116         {
00117                 return returnAST;
00118         }
00119         
00120 protected:
00121         ANTLR_USE_NAMESPACE(antlr)RefAST returnAST;
00122 private:
00123         static const char* tokenNames[];
00124 #ifndef NO_STATIC_CONSTS
00125         static const int NUM_TOKENS = 56;
00126 #else
00127         enum {
00128                 NUM_TOKENS = 56
00129         };
00130 #endif
00131         
00132         static const unsigned long _tokenSet_0_data_[];
00133         static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_0;
00134         static const unsigned long _tokenSet_1_data_[];
00135         static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_1;
00136         static const unsigned long _tokenSet_2_data_[];
00137         static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_2;
00138         static const unsigned long _tokenSet_3_data_[];
00139         static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_3;
00140         static const unsigned long _tokenSet_4_data_[];
00141         static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_4;
00142         static const unsigned long _tokenSet_5_data_[];
00143         static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_5;
00144         static const unsigned long _tokenSet_6_data_[];
00145         static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_6;
00146         static const unsigned long _tokenSet_7_data_[];
00147         static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_7;
00148         static const unsigned long _tokenSet_8_data_[];
00149         static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_8;
00150         static const unsigned long _tokenSet_9_data_[];
00151         static const ANTLR_USE_NAMESPACE(antlr)BitSet _tokenSet_9;
00152 };
00153 
00154 ANTLR_END_NAMESPACE
00155 ANTLR_END_NAMESPACE
00156 #endif /*INC_QueryParser_hpp_*/

Generated on Wed Nov 3 12:59:02 2004 for Lemur Toolkit by doxygen1.2.18