Google
Web alhem.net
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

SimpleParser.h

Go to the documentation of this file.
00001 
00006 /*
00007 Copyright (C) 2004  Anders Hedstrom
00008 
00009 This program is free software; you can redistribute it and/or
00010 modify it under the terms of the GNU General Public License
00011 as published by the Free Software Foundation; either version 2
00012 of the License, or (at your option) any later version.
00013 
00014 This program is distributed in the hope that it will be useful,
00015 but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017 GNU General Public License for more details.
00018 
00019 You should have received a copy of the GNU General Public License
00020 along with this program; if not, write to the Free Software
00021 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00022 */
00023 #ifndef _SIMPLEPARSER_H
00024 #define _SIMPLEPARSER_H
00025 
00026 #include "BaseParser.h"
00027 #include "BlackAdder.h"
00028 
00029 
00030 class SimpleParser : public BaseParser
00031 {
00032 public:
00033         SimpleParser(const std::string& path,BlackAdder *);
00034         ~SimpleParser();
00035 
00036         void Parser(FILE *fil,int& line,const std::string& name);
00037 
00038 private:
00039         void error(const std::string& str);
00040         int ReadLine(FILE *fil,int& line);
00041         int GetToken(FILE *fil,int& line,std::string& val);
00042         void include_file(const std::string& );
00043         void preprocessor(std::string& ,int& line);
00044         void find_types(CLS *,string_v&,int = 0);
00045         //
00046         char the_str[5000];
00047         int the_ptr;
00048         int m_state;
00049         std::vector<std::string> m_vec;
00050         std::string m_currentfile;
00051         std::string m_path;
00052         int m_levelm;
00053         int m_line;
00054         std::string m_namespace;
00055         std::map<int,std::string> m_namesave;
00056         int m_current; // Class, Namespace etc
00057         std::vector<std::string> m_added;
00058         BlackAdder *m_pAdder;
00059         int m_plevelm;
00060         std::string m_stfile;
00061         int m_stline;
00062         bool m_extern;
00063 };
00064 
00065 
00066 #endif // _SIMPLEPARSER_H

Generated for My SDL C++ Gui by doxygen 1.3.6