libdap  Updated for version 3.17.0
D4CEScanner.h
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 D4CESCANNER_H_
00028 #define D4CESCANNER_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_ceFlexLexer
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::D4CEScanner::yylex()
00047 
00048 #include "d4_ce_parser.tab.hh"
00049 
00050 namespace libdap {
00051 
00052 class D4CEScanner : public d4_ceFlexLexer{
00053 public:
00054 
00055         D4CEScanner(std::istream &in) : d4_ceFlexLexer(&in), yylval(0), loc(0) { };
00056 
00057         int yylex(libdap::D4CEParser::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::D4CEParser::semantic_type *yylval;
00070 
00071         libdap::location *loc;
00072 };
00073 
00074 } /* end namespace libdap */
00075 
00076 #endif /* D4CESCANNER_H_ */