From 1cb15048a3da2076ea3d41b53b2791cbb8925eec Mon Sep 17 00:00:00 2001 From: schodet Date: Sun, 9 Apr 2006 13:48:55 +0000 Subject: Ajout du parser générique. Voila, j'ai résolu mes problèmes éthiques comme dit djerem. --- i/marvin/src/config/config_parser.hh | 77 ------------------------------------ 1 file changed, 77 deletions(-) delete mode 100644 i/marvin/src/config/config_parser.hh (limited to 'i/marvin/src/config/config_parser.hh') diff --git a/i/marvin/src/config/config_parser.hh b/i/marvin/src/config/config_parser.hh deleted file mode 100644 index abbf214..0000000 --- a/i/marvin/src/config/config_parser.hh +++ /dev/null @@ -1,77 +0,0 @@ -#ifndef config_parser_hh -#define config_parser_hh -// config_parser.hh -// marvin - programme du robot 2006. {{{ -// -// Copyright (C) 2006 Nicolas Schodet -// -// Robot APB Team/Efrei 2006. -// Web: http://assos.efrei.fr/robot/ -// Email: robot AT efrei DOT fr -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; either version 2 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, write to the Free Software -// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -// -// }}} - -#include - -class ConfigData; - -/// Structure d'information passée au parser. -class ConfigParser -{ - public: - struct Extra - { - public: - /// Chaîne temporaire utilisée pendant l'analyse lexicale. - std::string tmp; - /// Référence vers le ConfigData qui doit recevoir la configuration. - ConfigData &configData; - /// Référence vers l'instance de ConfigParser. - ConfigParser &configParser; - /// Ligne courante. - int line; - private: - /// Permet de stocker l'erreur de bison. - std::string error_; - /// Indique si error est significatif. - bool errorValid_; - /// Utilise ou non le comptage de lignes. - bool useLine_; - public: - /// Constructeur pour initialiser les références. - Extra (ConfigData &configData_, ConfigParser &configParser_, - bool useLine); - /// Recueille l'erreur de bison. - void error (const std::string &e); - /// Accés réservé pour ConfigParser. - friend class ConfigParser; - }; - private: - /// Référence vers le ConfigData qui doit recevoir la configuration. - ConfigData &configData_; - public: - /// Constructeur. - ConfigParser (ConfigData &configData); - /// Lance le parseur sur un fichier. - void parseFile (const std::string &file); - /// Lance le parseur sur une chaîne. - void parseString (const std::string &s); -}; - -#define YY_EXTRA_TYPE ConfigParser::Extra * - -#endif // config_parser_hh -- cgit v1.2.3