libdap
Updated for version 3.17.0
|
00001 00002 // -*- mode: c++; c-basic-offset:4 -*- 00003 00004 // This file is part of libdap, A C++ implementation of the OPeNDAP Data 00005 // Access Protocol. 00006 00007 // Copyright (c) 2002,2003 OPeNDAP, Inc. 00008 // Author: James Gallagher <jgallagher@opendap.org> 00009 // 00010 // This library is free software; you can redistribute it and/or 00011 // modify it under the terms of the GNU Lesser General Public 00012 // License as published by the Free Software Foundation; either 00013 // version 2.1 of the License, or (at your option) any later version. 00014 // 00015 // This library is distributed in the hope that it will be useful, 00016 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00018 // Lesser General Public License for more details. 00019 // 00020 // You should have received a copy of the GNU Lesser General Public 00021 // License along with this library; if not, write to the Free Software 00022 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00023 // 00024 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112. 00025 00026 00027 #ifndef D4_FUNCTION_SCANNER_H_ 00028 #define D4_FUNCTION_SCANNER_H_ 00029 00030 // Only include FlexLexer.h if it hasn't been already included 00031 #if ! defined(yyFlexLexerOnce) 00032 #undef yyFlexLexer 00033 #define yyFlexLexer d4_functionFlexLexer 00034 #include "FlexLexer.h" 00035 #endif 00036 00037 # ifndef YY_NULL 00038 # if defined __cplusplus && 201103L <= __cplusplus 00039 # define YY_NULL nullptr 00040 # else 00041 # define YY_NULL 0 00042 # endif 00043 # endif 00044 00045 #undef YY_DECL 00046 #define YY_DECL int libdap::D4FunctionScanner::yylex() 00047 00048 #include "d4_function_parser.tab.hh" 00049 00050 namespace libdap { 00051 00052 class D4FunctionScanner : public d4_functionFlexLexer{ 00053 public: 00054 00055 D4FunctionScanner(std::istream &in) : d4_functionFlexLexer(&in), yylval(0), loc(0) { }; 00056 00057 int yylex(libdap::D4FunctionParser::semantic_type *lval, libdap::location *l) 00058 { 00059 loc = l; 00060 yylval = lval; 00061 return( yylex() ); 00062 } 00063 00064 private: 00065 /* hide this one from public view */ 00066 int yylex(); 00067 00068 /* yyval ptr */ 00069 libdap::D4FunctionParser::semantic_type *yylval; 00070 00071 libdap::location *loc; 00072 }; 00073 00074 } /* end namespace libdap */ 00075 00076 #endif /* D4_FUNCTION_SCANNER_H_ */