- Localized Lexer.
This commit is contained in:
Paul Beckingham 2014-07-05 11:11:19 -04:00
parent beb2ee4d66
commit 3716e61259
6 changed files with 41 additions and 3 deletions

View file

@ -24,12 +24,14 @@
//
////////////////////////////////////////////////////////////////////////////////
#include <cmake.h>
#include <ctype.h>
#include <utf8.h>
#include <ISO8601.h>
#include <Date.h>
#include <Duration.h>
#include <Lexer.h>
#include <i18n.h>
std::string Lexer::dateFormat = "";
@ -175,7 +177,7 @@ bool Lexer::token (std::string& result, Type& type)
shift ();
}
else
throw std::string ("Unexpected error 1");
throw std::string (STRING_LEX_IMMEDIATE_UNK);
break;
case typeString:
@ -384,7 +386,7 @@ bool Lexer::token (std::string& result, Type& type)
break;
default:
throw std::string ("Unexpected error 2");
throw std::string (STRING_LEX_TYPE_UNK);
break;
}
@ -511,7 +513,7 @@ bool Lexer::word (std::string& token, Type& type)
break;
default:
throw std::string ("Unexpected error 2");
throw std::string (STRING_LEX_TYPE_UNK);
break;
}
@ -530,6 +532,7 @@ void Lexer::ambiguity (bool value)
}
////////////////////////////////////////////////////////////////////////////////
// No L10N - these are for internal purposes.
const std::string Lexer::type_name (const Type& type)
{
switch (type)

View file

@ -175,6 +175,13 @@
#define STRING_VARIANT_SQRT_NEG "Cannot take the square root of a negative number."
#define STRING_VARIANT_COERCE_UNK "Cannot coerce data either to or from an unknown type"
// Lexer
//
// These are errors generated at the lowest level of input analysis,
// at the character level.
#define STRING_LEX_IMMEDIATE_UNK "Lexer start failure, unknown characters found immediately."
#define STRING_LEX_TYPE_UNK "Lexer cannot process and unknown token type."
// A3
#define STRING_A3_OVERRIDE_PROBLEM "Problem with override: {1}"
#define STRING_A3_MISMATCHED_PARENS "Mismatched parentheses in expression"

View file

@ -175,6 +175,13 @@
#define STRING_VARIANT_SQRT_NEG "Cannot take the square root of a negative number."
#define STRING_VARIANT_COERCE_UNK "Cannot coerce data either to or from an unknown type"
// Lexer
//
// These are errors generated at the lowest level of input analysis,
// at the character level.
#define STRING_LEX_IMMEDIATE_UNK "Lexer start failure, unknown characters found immediately."
#define STRING_LEX_TYPE_UNK "Lexer cannot process and unknown token type."
// A3
// Sobrescritura: de R.A.E. sobrescribir
#define STRING_A3_OVERRIDE_PROBLEM "Problema con sobrescritura: {1}"

View file

@ -175,6 +175,13 @@
#define STRING_VARIANT_SQRT_NEG "Cannot take the square root of a negative number."
#define STRING_VARIANT_COERCE_UNK "Cannot coerce data either to or from an unknown type"
// Lexer
//
// These are errors generated at the lowest level of input analysis,
// at the character level.
#define STRING_LEX_IMMEDIATE_UNK "Lexer start failure, unknown characters found immediately."
#define STRING_LEX_TYPE_UNK "Lexer cannot process and unknown token type."
// A3
#define STRING_A3_OVERRIDE_PROBLEM "Problème avec l'écrasement de {1}"
#define STRING_A3_MISMATCHED_PARENS "Parenthèses incohérentes dans l'expression"

View file

@ -176,6 +176,13 @@
#define STRING_VARIANT_SQRT_NEG "Cannot take the square root of a negative number."
#define STRING_VARIANT_COERCE_UNK "Cannot coerce data either to or from an unknown type"
// Lexer
//
// These are errors generated at the lowest level of input analysis,
// at the character level.
#define STRING_LEX_IMMEDIATE_UNK "Lexer start failure, unknown characters found immediately."
#define STRING_LEX_TYPE_UNK "Lexer cannot process and unknown token type."
// A3
#define STRING_A3_OVERRIDE_PROBLEM "Problema di modifica: {1}"
#define STRING_A3_MISMATCHED_PARENS "Mancata corrispondenza nell'uso delle parentesi nell'espressione"

View file

@ -175,6 +175,13 @@
#define STRING_VARIANT_SQRT_NEG "Cannot take the square root of a negative number."
#define STRING_VARIANT_COERCE_UNK "Cannot coerce data either to or from an unknown type"
// Lexer
//
// These are errors generated at the lowest level of input analysis,
// at the character level.
#define STRING_LEX_IMMEDIATE_UNK "Lexer start failure, unknown characters found immediately."
#define STRING_LEX_TYPE_UNK "Lexer cannot process and unknown token type."
// A3
#define STRING_A3_OVERRIDE_PROBLEM "Problema com a alteração: {1}"
#define STRING_A3_MISMATCHED_PARENS "Erro de não correspondência de parentesis na expressão"