#include "lisp.hpp"
#include "obstack/obstackpp.hpp"
+#include "gameconfig.hpp"
+
namespace lisp
{
if(translate) {
dictionary_manager = new TinyGetText::DictionaryManager();
dictionary_manager->set_charset("UTF-8");
+ if (config && (config->locale != "")) dictionary_manager->set_language(config->locale);
}
obstack_init(&obst);
{
std::stringstream emsg;
emsg << "Parse Error at '" << filename << "' line " << lexer->getLineNumber()
- << ": " << msg;
+ << ": " << msg;
throw std::runtime_error(emsg.str());
}
Lisp* result;
switch(token) {
case Lexer::TOKEN_EOF: {
- parse_error("Unexpected EOF.");
+ parse_error("Unexpected EOF.");
}
case Lexer::TOKEN_CLOSE_PAREN: {
parse_error("Unexpected ')'.");
// 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) {
}
token = lexer->getNextToken();
if(token != Lexer::TOKEN_CLOSE_PAREN)
- parse_error("Expected ')' after '(_ string'");
+ parse_error("Expected ')' after '(_ string'");
break;
}