header

ScannerContext.h

Go to the documentation of this file.
00001 /*
00002   Copyright (c) Members of the EGEE Collaboration. 2004. 
00003   See http://www.eu-egee.org/partners/ for details on the copyright
00004   holders.  
00005 
00006   Licensed under the Apache License, Version 2.0 (the "License"); 
00007   you may not use this file except in compliance with the License. 
00008   You may obtain a copy of the License at 
00009 
00010     http://www.apache.org/licenses/LICENSE-2.0 
00011 
00012   Unless required by applicable law or agreed to in writing, software 
00013   distributed under the License is distributed on an "AS IS" BASIS, 
00014   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
00015   See the License for the specific language governing permissions and 
00016   limitations under the License.
00017 */
00018 
00019 
00020 #ifndef SCANNER_CONTEXT_H
00021 #define SCANNER_CONTEXT_H
00022 
00023 #include "Expression.h"
00024 #include "Constraint.h"
00025 #ifndef __FLEX_LEXER_H
00026 #include "FlexLexer.h"
00027 #endif
00028 
00029 #include <list>
00030 
00031 class QueryLexer: public yyFlexLexer
00032 {
00033  public:
00034   QueryParser::Expression *getVal() { return lval; };
00035   int yylex();
00036   void flush();
00037  private:
00038   std::string extra;
00039   QueryParser::Expression *lval;
00040 };
00041 
00042 struct ScannerContext {
00043   QueryLexer lexer;
00044   QueryParser::Expression *rootExpression;
00045   std::list<QueryParser::Constraint *> constraints;
00046 };
00047 
00048 #endif // SCANNER_CONTEXT_H

Generated on Mon Apr 16 13:59:17 2012 for AMGA by  doxygen 1.4.7