package de.skuzzle.polly.core.parser.problems;
/**
* Defines constants for possible parse errors.
*
* @author Simon Taddiken
*/
public final class Problems {
/**
* Formats the given problem message using the given parameters.
*
* @param message Problem message to format.
* @param params Formatting parameters.
* @return The formatted problem message.
*/
public final static String format(String message, Object...params) {
return String.format(message, params);
}
// Lexical errors
public final static String ILLEGAL_SYMBOL = "Ungültiges Symbol: %s";
public final static String MISSING_RADIX = "Fehlende Radix Angabe für 0x: Operator";
public final static String HIGH_RADIX = "Angegebener Radix %d ist zu groß (max: %d)";
public final static String INVALID_0X = "Ungültiger '0x:' Operator";
public final static String INVALID_STRING = "Ungültiger String-Literal";
public final static String INVALID_ESCAPE = "Ungültige escape-Sequenz: %s";
public final static String UNCLOSED_STRING = "Nicht geschlossenes String-Literal";
public final static String INVALID_CHANNEL = "Ungültiges Channel-Literal: %s";
public final static String INVALID_USER = "Ungültiges User-Literal: %s";
public final static String INVALID_IDENTIFIER = "Ungültiger Bezeichner";
public final static String INVALID_IDENTIFIER2 = "Ungültiger Bezeichner: %s";
public final static String MISSING_DECIMALS = "Fehlende Dezimalstellen";
public final static String INVALID_DATE_TIME = "Ungültiges DateTime-Literal";
public final static String INVALID_NUMBER = "Ungültige Zahl";
public final static String INVALID_RADIXED_INT = "Ungültige Zahl mit Radix";
// Syntactical errors
public final static String MISSING_OBR = "Fehlende öffnende Klammer";
public final static String UNEXPECTED_TOKEN = "Unerwartetes Symbol: %s, erwartet: %s";
// Semantical errors
public final static String NO_FUNCTION = "'%s' ist keine Funktion";
public final static String UNKNOWN_FUNCTION = "Funktion '%s' existiert nicht";
public final static String INCOMPATIBLE_OP = "Operator '%s' nicht kompatibel mit den angegebenen Typen";
public final static String INCOMPATIBLE_CALL = "Keine passende Deklaration für den Aufruf von %s gefunden";
public final static String DUPLICATED_DECL = "Doppelte Deklaration von: %s";
public final static String EMPTY_LIST = "Listen müssen mind. ein Element enthalten";
public final static String RECURSIVE_CALL = "Rekursive Aufrufe sind nicht erlaubt";
public final static String ILLEGAL_NS_ACCESS = "Operand muss ein Bezeichner sein";
public final static String UNKNOWN_NS = "Unbekannter Namespace: %s";
public final static String UNKNOWN_VAR = "Unbekannte Variable: %s";
public final static String TYPE_ERROR = "Typefehler. Erwartet: %s, gefunden: %s";
public final static String UNKNOWN_TYPE = "Unbekannter Typ: %s";
public final static String NOT_ORDERED = "Type %s definiert keine Ordnung";
public static final String AMBIGUOUS_CALL = "Nicht eindeutiger Funktionsaufruf";
public static final String ILLEGAL_DELAY = "Delay Direktive braucht eine Zeitangabe";
public static final String DUPLICATED_DIRECTIVE = "Doppelte Direktive: %s";
// Runtime errors
public static final String DIVISION_BY_ZERO = "Division durch 0";
public static final String ILLEGAL_MATRIX = "Ungültige Matrix";
public static final String INTEGER_REQUIRED = "Ganzzahl erwartet";
public static final String INDEX_OUT_OF_BOUNDS = "Index ausserhalb des gültigen Bereichs: %d";
public static final String ILLEGAL_INDIZES = "Ungültige Start- und Endindizes (von %d nach %d)";
public static final String LIST_SIZE = "Liste zu groß: %d, maximal erlaubt: %d";
public static final String NOT_COMPARABLE = "Typ %s ist vergleichbar";
}