diff --git a/src/de/dhbwstuttgart/syntaxtree/factory/NameGenerator.java b/src/de/dhbwstuttgart/syntaxtree/factory/NameGenerator.java
new file mode 100644
index 000000000..f20ea0cd5
--- /dev/null
+++ b/src/de/dhbwstuttgart/syntaxtree/factory/NameGenerator.java
@@ -0,0 +1,81 @@
+package de.dhbwstuttgart.syntaxtree.factory;
+
+public class NameGenerator {
+
+ private static String strNextName = "A";
+
+ /**
+ * Berechnet einen neuen, eindeutigen Namen f�r eine neue
+ * TypePlaceholder
.
Author: J�rg B�uerle
+ * @return Der Name
+ */
+ public static String makeNewName()
+ {
+ // otth: Funktion berechnet einen neuen Namen anhand eines alten gespeicherten
+ String strReturn = strNextName;
+
+ // n�chster Name berechnen und in strNextName speichern
+ inc( strNextName.length() - 1 );
+
+ return strReturn;
+ }
+
+ /**
+ * Hilfsfunktion zur Berechnung eines neuen Namens
+ *
Author: J�rg B�uerle
+ * @param i
+ */
+ private static void inc(int i)
+ {
+ // otth: Hilfsfunktion zur Berechnung eines neuen Namens
+ // otth: Erh�hung des Buchstabens an der Stelle i im String strNextName
+ // otth: Nach �berlauf: rekursiver Aufruf
+
+ // falls i = -1 --> neuer Buchstabe vorne anf�gen
+ if ( i == -1 )
+ {
+ strNextName = "A" + strNextName;
+ return;
+ }
+
+ char cBuchstabe = (char)(strNextName.charAt( i ));
+ cBuchstabe++;
+ if ( cBuchstabe - 65 > 25 )
+ {
+ // aktuelle Stelle: auf A zuruecksetzen
+ manipulate( i, 'A' );
+
+ // vorherige Stelle erh�hen
+ inc( i - 1 );
+ }
+ else
+ {
+ // aktueller Buchstabe �ndern
+ manipulate( i, cBuchstabe );
+ }
+
+ }
+
+ /**
+ * Hilfsfunktion zur Berechnung eines neuen Namens.
+ *
Author: J�rg B�uerle
+ * @param nStelle
+ * @param nWert
+ */
+ private static void manipulate( int nStelle, char nWert )
+ {
+ // otth: Hilfsfunktion zur Berechnung eines neuen Namens
+ // otth: Ersetzt im String 'strNextName' an der Position 'nStelle' den Buchstaben durch 'nWert'
+
+ String strTemp = "";
+ for( int i = 0; i < strNextName.length(); i++)
+ {
+ if ( i == nStelle )
+ strTemp = strTemp + nWert;
+ else
+ strTemp = strTemp + strNextName.charAt( i );
+ }
+ strNextName = strTemp;
+ }
+
+}