glite/jdl/grammar.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
00004 copyright 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,
00015 either express or implied.
00016 See the License for the specific language governing permissions and
00017 limitations under the License.
00018 */
00019 
00021 // Author: Simone Pellegrini
00022 // Mail: simone.pellegrini@cnaf.infn.it
00024 
00025 #ifndef GLITE_WMS_COMMON_REQUESTAD_GRAMMAR_H
00026 #define GLITE_WMS_COMMON_REQUESTAD_GRAMMAR_H
00027 
00028 
00029 #include <dirent.h>
00030 #include <iostream>
00031 #include <exception>
00032 #include <stdexcept>
00033 #include <string>
00034 #include <fstream>
00035 #include <stack>
00036 #include <boost/scoped_ptr.hpp>
00037 
00038 namespace glite {
00039 namespace jdl {
00040 
00041 
00042 struct jdl_grammar ;
00043 
00044 class jdl_parser{
00045                 //boost::scoped_ptr<glite::jdl::jdl_grammar> grammar ;
00046                 boost::scoped_ptr<jdl_grammar> grammar ;
00047                 std::stack<std::vector<std::string> *> stack;
00048         public:
00049                 jdl_parser();
00050 
00051                 void parseString(std::string str);
00052 
00053                 void parseFile(std::string file_name);
00054 
00055                 std::string open_file(const std::string &file_name);
00056 
00057                 ~jdl_parser();
00058 };
00059 
00060 } // jdl namespace
00061 } // glite namespace
00062 #endif
00063 

Generated on 2 Jul 2013 for jdl-api-cpp-3.4.2 by  doxygen 1.4.7