More -Weffc++ cleanup
[supertux.git] / src / lisp / parser.cpp
index a558adc..294d9aa 100644 (file)
@@ -1,12 +1,10 @@
-//  $Id$
-//
 //  SuperTux
 //  Copyright (C) 2006 Matthias Braun <matze@braunis.de>
 //
-//  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 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 3 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
 //  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 <config.h>
+//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 #include <sstream>
 #include <stdexcept>
-#include <fstream>
-#include <cassert>
-#include <iostream>
 
-#include "tinygettext/tinygettext.hpp"
-#include "physfs/physfs_stream.hpp"
-#include "parser.hpp"
-#include "lisp.hpp"
+#include "lisp/lisp.hpp"
+#include "lisp/parser.hpp"
 #include "obstack/obstackpp.hpp"
+#include "physfs/physfs_stream.hpp"
+#include "tinygettext/tinygettext.hpp"
 
-#include "gameconfig.hpp"
+#include "supertux/gameconfig.hpp"
 
-namespace lisp
-{
+namespace lisp {
 
-Parser::Parser(bool translate)
-  : lexer(0), dictionary_manager(0), dictionary(0)
+Parser::Parser(bool translate) :
+  lexer(0), 
+  filename(),
+  dictionary_manager(0), 
+  dictionary(0),
+  token(),
+  obst()
 {
   if(translate) {
     dictionary_manager = new TinyGetText::DictionaryManager();
     dictionary_manager->set_charset("UTF-8");
-    if (config && (config->locale != "")) dictionary_manager->set_language(config->locale);
+    if (g_config && (g_config->locale != "")) 
+      dictionary_manager->set_language(g_config->locale);
   }
 
   obstack_init(&obst);
@@ -107,7 +105,7 @@ Parser::parse_error(const char* msg) const
 {
   std::stringstream emsg;
   emsg << "Parse Error at '" << filename << "' line " << lexer->getLineNumber()
-         << ": " << msg;
+       << ": " << msg;
   throw std::runtime_error(emsg.str());
 }
 
@@ -117,7 +115,7 @@ Parser::read()
   Lisp* result;
   switch(token) {
     case Lexer::TOKEN_EOF: {
-         parse_error("Unexpected EOF.");
+      parse_error("Unexpected EOF.");
     }
     case Lexer::TOKEN_CLOSE_PAREN: {
       parse_error("Unexpected ')'.");
@@ -133,11 +131,11 @@ Parser::read()
       }
 
       if(token == Lexer::TOKEN_SYMBOL &&
-          strcmp(lexer->getString(), "_") == 0) {
+         strcmp(lexer->getString(), "_") == 0) {
         // evaluate translation function (_ str) in place here
         token = lexer->getNextToken();
         if(token != Lexer::TOKEN_STRING)
-                 parse_error("Expected string after '(_'");
+          parse_error("Expected string after '(_'");
 
         result = new(obst) Lisp(Lisp::TYPE_STRING);
         if(dictionary) {
@@ -151,7 +149,7 @@ Parser::read()
         }
         token = lexer->getNextToken();
         if(token != Lexer::TOKEN_CLOSE_PAREN)
-                 parse_error("Expected ')' after '(_ string'");
+          parse_error("Expected ')' after '(_ string'");
         break;
       }
 
@@ -210,3 +208,5 @@ Parser::read()
 }
 
 } // end of namespace lisp
+
+/* EOF */