initial commit in accordance with CQ 3784
diff --git a/org.eclipse.jdt.core/scripts/GenerateBuildScript.java b/org.eclipse.jdt.core/scripts/GenerateBuildScript.java
new file mode 100644
index 0000000..d0bb011
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/GenerateBuildScript.java
@@ -0,0 +1,149 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ *******************************************************************************/
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileFilter;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.Writer;
+import java.text.MessageFormat;
+import java.util.ArrayList;
+
+public class GenerateBuildScript {
+
+	private static final String LINE_SEPARATOR = System.getProperty("line.separator"); //$NON-NLS-1$
+	private static final String HEADER=
+		"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"<project name=\"export-executable\" default=\"build_executable\">" +LINE_SEPARATOR + //$NON-NLS-1$
+		"    <target name=\"build_executable\">" + LINE_SEPARATOR; //$NON-NLS-1$
+
+	private static final String SOURCE_FILES =
+		"	    <echo message=\"compiling sources      -> .o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"        <apply failonerror=\"true\" executable=\"$'{'gcc-path'}'/bin/{0}\" dest=\"{1}\" parallel=\"false\">" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"--verbose\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"--classpath={1}\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-O2\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-c\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-fassume-compiled\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-march=pentium4\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-mfpmath=sse\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <srcfile/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <targetfile/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <fileset dir=\"{1}\" includes=\"**/*.java\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <mapper type=\"glob\" from=\"*.java\" to=\"*.o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"        </apply>" + LINE_SEPARATOR + LINE_SEPARATOR; //$NON-NLS-1$
+	private static final String FOOTER =
+		"        <echo message=\"linking .o -> $'{'binaryname'}'\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"        <apply failonerror=\"true\" executable=\"$'{'gcc-path'}'/bin/{0}\" parallel=\"true\">" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"--verbose\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg line =\"-o $'{'dest'}'/$'{'binaryname'}'\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-fassume-compiled\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-march=pentium4\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-mfpmath=sse\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg line=\"--main=org.eclipse.jdt.internal.compiler.batch.Main\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <fileset dir=\"{1}\" includes=\"**/*.o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"       </apply>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"    </target>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"</project>" + LINE_SEPARATOR; //$NON-NLS-1$
+
+	private static void collectAllFiles(File root, ArrayList collector, FileFilter fileFilter) {
+		File[] files = root.listFiles(fileFilter);
+		for (int i = 0; i < files.length; i++) {
+			if (files[i].isDirectory()) {
+				collectAllFiles(files[i], collector, fileFilter);
+			} else {
+				String newElement = files[i].getAbsolutePath();
+				newElement = newElement.replace('\\', '/');
+				collector.add(newElement);
+			}
+		}
+	}
+
+	private static void dumpAllProperties(Writer writer, File sourceDir, ArrayList collector, String gcj_exe, String dest_dir) throws IOException {
+		writer.write("        <echo message=\"compiling resources   -> .o\"/>" + LINE_SEPARATOR); //$NON-NLS-1$
+		for (int i = 0, max = collector.size(); i < max; i++) {
+			String absolutePath = (String) collector.get(i);
+			String fileName = absolutePath.substring(sourceDir.getAbsolutePath().length() + 1); 
+			writer.write(MessageFormat.format("  		<exec dir=\"{1}\" executable=\"$'{'gcc-path'}'/bin/{0}\">" + LINE_SEPARATOR, new Object[] { gcj_exe, dest_dir})); //$NON-NLS-1$
+			writer.write("  		<arg line=\"--resource "); //$NON-NLS-1$
+			writer.write(fileName + " " + fileName + " -c -o " + getObjectName(fileName) + "\"/>" + LINE_SEPARATOR); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			writer.write("  		</exec>" + LINE_SEPARATOR); //$NON-NLS-1$
+		}
+	}
+
+	private static void dumpAllClassFiles(Writer writer, File sourceDir, ArrayList collector, String gcj_exe, String dest_dir) throws IOException {
+		writer.write("        <echo message=\"compiling class files   -> .o\"/>" + LINE_SEPARATOR); //$NON-NLS-1$
+		writer.write(
+				MessageFormat.format(
+		"        <apply failonerror=\"true\" executable=\"$'{'gcc-path'}'/bin/{0}\" dest=\"{1}\" parallel=\"false\">" + LINE_SEPARATOR + //$NON-NLS-1$
+		"  			 <arg value=\"--verbose\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"--classpath={1}\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-O2\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-c\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-fassume-compiled\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-march=pentium4\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-mfpmath=sse\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <srcfile/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <arg value=\"-o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <targetfile/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <fileset dir=\"{1}\" includes=\"**/*.class\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"            <mapper type=\"glob\" from=\"*.class\" to=\"*.o\"/>" + LINE_SEPARATOR + //$NON-NLS-1$
+		"        </apply>" + LINE_SEPARATOR + LINE_SEPARATOR,//$NON-NLS-1$
+		new Object[] {
+				gcj_exe,
+				dest_dir
+		}));
+	}
+
+	private static String getObjectName(String fileName) {
+		return fileName.substring(0, fileName.lastIndexOf('.')) + ".o"; //$NON-NLS-1$
+	}
+			
+	public static void main(String[] args) {
+		if (args.length != 5) {
+			System.out.println("Usage: script_name directory gcj_exe_name dest_dir source/bin"); //$NON-NLS-1$
+			return;
+		}
+		try {
+			BufferedWriter writer = new BufferedWriter(new FileWriter(new File(args[0])));
+			writer.write(HEADER);
+			File sourceDir = new File(args[1]);
+			if (sourceDir.exists()) { 
+				ArrayList collector = new ArrayList();
+				collectAllFiles(sourceDir, collector, new FileFilter() {
+					public boolean accept(File pathname) {
+						String fileName = pathname.getAbsolutePath();
+						return pathname.isDirectory() || fileName.endsWith(".rsc") || fileName.endsWith(".properties"); //$NON-NLS-1$ //$NON-NLS-2$
+					}
+				});
+				dumpAllProperties(writer, sourceDir, collector, args[2], args[3]);
+				if ("source".equals(args[4])) { //$NON-NLS-1$
+					writer.write(MessageFormat.format(SOURCE_FILES, new Object[] {args[2], args[3]}));
+				} else {
+					collector = new ArrayList();
+					collectAllFiles(sourceDir, collector, new FileFilter() {
+						public boolean accept(File pathname) {
+							String fileName = pathname.getAbsolutePath();
+							return pathname.isDirectory() || fileName.endsWith(".class"); //$NON-NLS-1$
+						}
+					});
+					dumpAllClassFiles(writer, sourceDir, collector, args[2], args[3]);				
+				}
+			}
+			writer.write(MessageFormat.format(FOOTER, new Object[] {args[2], args[3]}));
+			writer.flush();
+			writer.close();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+	}
+}
diff --git a/org.eclipse.jdt.core/scripts/UpdateParserFiles.java b/org.eclipse.jdt.core/scripts/UpdateParserFiles.java
new file mode 100644
index 0000000..e93c466
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/UpdateParserFiles.java
@@ -0,0 +1,39 @@
+/**********************************************************************
+ * This file is part of "Object Teams Development Tooling"-Software
+ * 
+ * Copyright 2004, 2010 Fraunhofer Gesellschaft, Munich, Germany,
+ * for its Fraunhofer Institute and Computer Architecture and Software
+ * Technology (FIRST), Berlin, Germany and Technical University Berlin,
+ * Germany.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * $Id$
+ * 
+ * Please visit http://www.eclipse.org/objectteams for updates and contact.
+ * 
+ * Contributors:
+ * 	  Fraunhofer FIRST - Initial API and implementation
+ * 	  Technical University Berlin - Initial API and implementation
+ **********************************************************************/
+import java.io.IOException;
+import org.eclipse.jdt.internal.compiler.parser.Parser;
+
+public class UpdateParserFiles {
+
+	public static void main(String[] args) throws IOException {
+		if (args.length != 2) {
+			printUsage();
+			return;
+		}
+	Parser.buildFilesFromLPG(args[0], args[1]);
+	}
+			
+	public static void printUsage() {
+		System.out.println("Usage: UpdateParserFiles <path to javadcl.java> <path to javahdr.java>");
+		System.out.println("e.g. UpdateParserFiles c:/javadcl.java c:/javahdr.java");
+	}
+}
+
diff --git a/org.eclipse.jdt.core/scripts/about.html b/org.eclipse.jdt.core/scripts/about.html
new file mode 100644
index 0000000..4602330
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>June 2, 2006</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/org.eclipse.jdt.core/scripts/binary/META-INF/MANIFEST.MF b/org.eclipse.jdt.core/scripts/binary/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..2adaf31
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/binary/META-INF/MANIFEST.MF
@@ -0,0 +1,28 @@
+Manifest-Version: 1.0
+Main-Class: org.eclipse.jdt.internal.compiler.batch.Main
+Bundle-ManifestVersion: 2
+Bundle-Name: Eclipse Compiler for Java(TM)
+Bundle-SymbolicName: org.eclipse.jdt.core.compiler.batch
+Bundle-Version: 3.6.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: Eclipse.org
+Export-Package: org.eclipse.jdt.core,
+ org.eclipse.jdt.core.compiler,
+ org.eclipse.jdt.internal.antadapter;x-internal:=true,
+ org.eclipse.jdt.internal.compiler;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.apt.dispatch;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.apt.model;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.apt.util;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.ast;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.batch;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.classfmt;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.codegen;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.env;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.flow;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.impl;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.lookup;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.parser;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.parser.diagnose;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.problem;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.util;x-internal:=true,
+ org.eclipse.jdt.internal.compiler.tool;x-internal:=true
diff --git a/org.eclipse.jdt.core/scripts/build.xml b/org.eclipse.jdt.core/scripts/build.xml
new file mode 100644
index 0000000..d2cbfc1
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/build.xml
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/build_ecj.xml b/org.eclipse.jdt.core/scripts/build_ecj.xml
new file mode 100644
index 0000000..66c7030
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/build_ecj.xml
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/export-batch-jdtcom.xml b/org.eclipse.jdt.core/scripts/export-batch-jdtcom.xml
new file mode 100644
index 0000000..85b24bf
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-batch-jdtcom.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- build script to create a batch compiler from org.eclipse.jdt.core -->
+<project name="Eclipse Batch Compiler" default="export" basedir="..">
+	<target name="init">
+		<tstamp/>
+		<property name="destdir" value="../../batchcompiler-export" />
+		<property name="dest"  value="${destdir}" />
+	</target>
+
+	<target name="export" depends="init">
+
+		<echo message="TARGET: ${destdir}" />
+		<mkdir dir="${destdir}" />
+		<delete dir="${dest}" />
+		<mkdir dir="${dest}" />
+
+		<echo message="UPDATE jdtcom.jar" />
+		<zip zipfile="${dest}/jdtcom.jar">
+			<fileset dir=".">
+			  <include name="META-INF/**" />
+	        </fileset>
+	        <fileset dir="bin" includes="org/eclipse/jdt/internal/compiler/**,org/eclipse/jdt/core/compiler/**">
+	        	<exclude name="org/eclipse/jdt/core/compiler/CompilationParticipant*.class"/>
+	        	<exclude name="org/eclipse/jdt/core/compiler/BuildContext.class"/>
+	        	<exclude name="org/eclipse/jdt/core/compiler/IScanner.class"/>
+	        	<exclude name="org/eclipse/jdt/core/compiler/ITerminalSymbols*.class"/>
+	        	<exclude name="org/eclipse/jdt/core/compiler/ReconcileContext*.class"/>
+	        	<exclude name="org/eclipse/jdt/internal/compiler/DocumentElementParser*.class"/>
+	        	<exclude name="org/eclipse/jdt/internal/compiler/IDocumentElementRequestor.class"/>
+	        	<exclude name="org/eclipse/jdt/internal/compiler/ISourceElementRequestor.class"/>
+	        	<exclude name="org/eclipse/jdt/internal/compiler/SourceElementParser*.class"/>
+	        	<exclude name="org/eclipse/jdt/internal/compiler/SourceElementRequestorAdapter*.class"/>
+	        	<exclude name="org/eclipse/jdt/internal/compiler/SourceJavadocParser*.class"/>
+	        	<exclude name="org/eclipse/jdt/internal/compiler/parser/SourceTypeConverter*.class"/>
+        	</fileset>
+		</zip>
+		<echo message="UPDATE jdtcomsrc.zip" />
+		<zip zipfile="${dest}/jdtcomsrc.zip">
+		    <zipfileset dir="batch" />
+		    <zipfileset dir="compiler" />
+  		</zip>		
+	
+	</target>
+</project>
diff --git a/org.eclipse.jdt.core/scripts/export-ecj.xml b/org.eclipse.jdt.core/scripts/export-ecj.xml
new file mode 100644
index 0000000..64947b8
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ecj.xml
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/export-ejavac.xml b/org.eclipse.jdt.core/scripts/export-ejavac.xml
new file mode 100644
index 0000000..8c7d2ac
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ejavac.xml
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/export-ejavac2.xml b/org.eclipse.jdt.core/scripts/export-ejavac2.xml
new file mode 100644
index 0000000..a5fe20e
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ejavac2.xml
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/export-ejavac2_linux.xml b/org.eclipse.jdt.core/scripts/export-ejavac2_linux.xml
new file mode 100644
index 0000000..6d38b19
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ejavac2_linux.xml
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/export-ejavac_linux.xml b/org.eclipse.jdt.core/scripts/export-ejavac_linux.xml
new file mode 100644
index 0000000..7a0cae9
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/export-ejavac_linux.xml
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/exportplugin.xml b/org.eclipse.jdt.core/scripts/exportplugin.xml
new file mode 100644
index 0000000..1223454
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/exportplugin.xml
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/generateOTParser.sh b/org.eclipse.jdt.core/scripts/generateOTParser.sh
new file mode 100644
index 0000000..cb2f947
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/generateOTParser.sh
@@ -0,0 +1,330 @@
+#!/bin/bash
+############################################################################################################################################################
+# This file is part of "Object Teams Development Tooling"-Software
+#
+# Copyright 2003, 2006 Fraunhofer Gesellschaft, Munich, Germany,
+# for its Fraunhofer Institute and Computer Architecture and Software
+# Technology (FIRST), Berlin, Germany and Technical University Berlin,
+# Germany.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+#
+# Contributors:
+# Fraunhofer FIRST - Initial API and implementation
+# Technical University Berlin - Initial API and implementation
+#
+# Dieses Script erzeugt aus der java.g Datei alle automatisch generierbaren Dateien
+# und kopiert diese an die richtigen Stellen innerhalb der aktuellen Sourcen
+# Das Script benötigt den Ordner "OTDTCore"
+# Das Script benötigt die Datei "objectteams.g" welche aus dem Eclipse Quellcode extrahiert werden kann.
+# Zu Beginn des Vorganges wird eine Kopie aller Dateien die in den Sourcen verändert werden erstellt
+
+############################################################################################################################################################
+
+JIKESPG_HOME=${JIKESPG_HOME:-/usr/bin}
+export JIKESPG_HOME
+
+# please adjust:
+JDTCORE_JAR=/home/local/eclipse-3.5/plugins/org.eclipse.jdt.core_3.5.0.v_963.jar
+
+
+
+if test $# -ne 2
+then
+	echo "Achtung: JIKESPG_HOME muss KORREKT gesetzt sein!"
+	echo "Aufruf: generateOTParser.sh <grammatik> <eclipse-projekt-OTDTCore-verzeichnis>"
+	echo "Bsp: generateOTParser.sh objectteams.g OTDTCore"
+	echo "(im Verzeichnis des Skripts aufzurufen)."
+	exit
+fi
+
+GRAMMAR=`readlink -f "$1"`
+SOURCE=`readlink -f "$2"`
+
+if test -f $JIKESPG_HOME/jikespg
+then
+	echo "jikespg wurde gefunden"
+else
+	echo "JIKESPG_HOME/jikespg konnte nicht gefunden werden"
+	exit
+fi
+
+if test -f $GRAMMAR
+then
+	echo "Verwende Grammatik:" $GRAMMAR
+else
+	echo "Fehler: Grammatik" $GRAMMAR "konnte nicht gefunden werden!"
+	echo "Aufruf: generateOTParser.sh <grammatik> <eclipse-projekt-OTDTCore-verzeichnis>"
+	exit
+fi
+
+if test -d $SOURCE
+then
+	echo "Verwende Eclipse-Sourcen:" $SOURCE
+else
+	echo "Fehler: Eclipse-Sourcen" $SOURCE "konnten nicht gefunden werden!"
+	echo "Aufruf: generateOTParser.sh <grammatik> <eclipse-projekt-OTDTCore-verzeichnis>"
+	exit
+fi
+
+echo "Initiales Aufräumen"
+if test -d output
+then
+	rm -r output
+fi
+
+if test -d backup
+then
+	rm -r backup
+fi
+
+echo "Leere Verzeichnisse erzeugen"
+mkdir output
+mkdir backup
+
+echo "Original Dateien vor der Anpassung aus Sourcen holen"
+
+if test -f $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java
+then
+	cp  $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java                  output
+else
+	exit
+fi
+
+if test -f $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.java
+then
+	cp  $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.java          output
+else
+	exit
+fi
+
+if test -f $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.java
+then
+	cp  $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.java  output
+else
+	exit
+fi
+
+echo "Eine Kopie der Originaldateien die verändert werden im Ordner backup erzeugen"
+cp $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/Parser.java                   backup
+cp $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.java           backup
+cp $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.java   backup
+cp $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/parser?.rsc                   backup
+cp $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser/readableNames.properties      backup
+
+cp $GRAMMAR output
+
+############################################################################################################################################################
+cd output
+echo "Parsergenerator starten"
+islalr=`$JIKESPG_HOME/jikespg $GRAMMAR | tee /tmp/jikes.log | grep grammar`
+
+if [ "$islalr" = "This grammar is LALR(1)." ]
+then
+	echo "Grammatik ist LALR(1)."
+else
+	echo "Grammatik ist nicht korrekt!"
+	exit
+fi
+
+chmod 644 *
+
+#echo "Konstanten von javasym.java umbenennen"
+cat javasym.java | sed -e s/TokenName\$eof/TokenNameEOF/g -e s/TokenName\$error/TokenNameERROR/g > javasym_tmp.java
+rm javasym.java
+mv javasym_tmp.java javasym.java
+cd ..
+############################################################################################################################################################
+cd output
+echo "Alles unnötige wegschneiden: javadef.java"
+cat javadef.java  | awk '{
+	if($0 ~ /^[ \t]*{[ \t]*$/ ){
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*}.*$/){
+			print nextline ;
+		}
+		print "}" ;
+	}
+}
+' > javadef_tmp.java
+
+echo "Alles unnötige wegschneiden: ParserBasicInformation.java"
+cat ParserBasicInformation.java  | awk '{
+	if($0 ~ /^.*{[ \t]*$/ ){
+		print $0;
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*}[ \t]*$/){
+			nextline="" ;
+		}
+		while((getline nextline) == 1 ){
+			print nextline ;
+		}
+	} else {
+		print $0
+	}
+}
+' > ParserBasicInformation_tmp.java
+
+echo "Kopiere den Inhalt von javadef.java nach ParserBasicInformation.java"
+cat ParserBasicInformation_tmp.java javadef_tmp.java > ParserBasicInformation.java
+cd ..
+############################################################################################################################################################
+cd output
+echo "Alles unnötige wegschneiden: JavaAction.java"
+cat JavaAction.java | awk '{\
+	if($0 !~ /^[ \t]*\/\/ This method is part of an automatic generation : do NOT edit-modify[ \t]*$/ ){\
+		print $0\
+	}\
+}\
+' > JavaAction_tmp.java
+
+echo "Ersetze die Methode consumeRule gegen das Token TMP_CUT_OUT"
+cat Parser.java  | awk '{
+	if($0 ~ /^[ \t]*protected void consumeRule\(int act\) \{[ \t]*$/ ){
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*}[ \t]*$/){
+			nextline="" ;
+		}
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*}[ \t]*$/){
+			nextline="" ;
+		}
+		print "TMP_CUT_OUT";
+		while((getline nextline) == 1 ){
+			print nextline ;
+		}
+	} else {
+		print $0
+	}
+}
+' > Parser_tmp.java
+
+cat Parser_tmp.java  | awk '{
+	if($0 ~ /^TMP_CUT_OUT$/ ){
+		while((getline nextline) == 1){
+			nextline="" ;
+		}
+	} else {
+		print $0
+	}
+}
+' > Parser_1_tmp.java
+
+cat Parser_tmp.java  | awk '{
+	if($0 ~ /^TMP_CUT_OUT$/ ){
+		while((getline nextline) == 1){
+			print nextline;
+		}
+	}
+}
+' > Parser_2_tmp.java
+
+echo "Kopiere den Inhalt von JavaAction.java nach Parser.java"
+cat Parser_1_tmp.java JavaAction_tmp.java Parser_2_tmp.java > Parser.java
+cd ..
+############################################################################################################################################################
+cd output
+echo "Alles unnötige wegschneiden: TerminalTokens.java"
+cat TerminalTokens.java  | awk '{
+	if($0 ~ /^[ \t]*public interface TerminalTokens \{[ \t]*$/ ){
+		print $0
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*int[ \t]*$/){
+			print nextline ;
+		}
+		print nextline ;
+		while((getline nextline) == 1 && nextline !~ /^[ \t]*int[ \t]*$/){
+			print nextline ;
+		}
+		print nextline ;
+
+		while((getline nextline) == 1 ){
+			nextline ="";
+		}
+
+	} else {
+		print $0
+	}
+}
+' > TerminalTokens_tmp.java
+
+echo "Alles unnötige wegschneiden: javasym.java"
+cat javasym.java  | awk '{
+	if($0 ~ /^[ \t]*public final static int[ \t]*$/ ){
+		while((getline nextline) == 1 ){
+			print nextline ;
+		}
+	}
+}
+' > javasym_tmp.java
+
+
+echo "Kopiere den Inhalt von javasym.java nach TerminalTokens.java"
+cat TerminalTokens_tmp.java javasym_tmp.java > TerminalTokens.java
+cd ..
+############################################################################################################################################################
+cd output
+
+cp  ../UpdateParserFiles.java .
+if [ -z ${JDTCORE_JAR} ]
+then
+  if test -f ${ECLIPSE_HOME}/plugins/org.eclipse.jdt.core_3.0.0/jdtcore.jar
+  then
+	JDTCORE_JAR=${ECLIPSE_HOME}/plugins/org.eclipse.jdt.core_3.0.0/jdtcore.jar
+  else
+    	echo "FEHLER: jdtcore.jar nicht gefunden!"
+	echo "Bitte Umgebungsvariable ECLIPSE_HOME setzen."
+    	exit
+  fi
+fi
+echo "Verwende jdtcore.jar aus ${JDTCORE_JAR}"
+#cp ${JDTCORE_JAR} .
+echo "UpdateParserFiles kompilieren"
+javac -classpath ${JDTCORE_JAR} UpdateParserFiles.java
+echo "Ressourcendateien erzeugen (*.rsc)"
+java -classpath .:${JDTCORE_JAR} UpdateParserFiles javadcl.java javahdr.java
+
+cd ..
+
+############################################################################################################################################################
+echo "Alle zu aktualisierenden Classfiles entfernen (Parser/TerminalTokens/ParserBasicInformation)"
+if test -f $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/Parser.class
+then
+	rm $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/Parser.class
+fi
+
+if test -f $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.class
+then
+	rm $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/TerminalTokens.class
+fi
+
+if test -f $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.class
+then
+	rm $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser/ParserBasicInformation.class
+fi
+
+#################################################################################################################
+echo "Die originalen Dateien werden in den Sourcen durch die neu generierten ersetzt"
+cp output/Parser.java                 $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser
+cp output/TerminalTokens.java         $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser
+cp output/ParserBasicInformation.java $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser
+cp output/parser*.rsc                 $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser
+cp output/parser*.rsc                 $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser
+cp output/readableNames.properties    $SOURCE/compiler/org/eclipse/jdt/internal/compiler/parser
+cp output/readableNames.properties    $SOURCE/bin/org/eclipse/jdt/internal/compiler/parser
+############################################################################################################################################################
+#echo "Eclipse Build ausfhren mit Optionen build -os linux -ws motif"
+#cd $SOURCE
+#build -os linux -ws motif
+#cd ..
+############################################################################################################################################################
+#echo "Alle nicht mehr benötigten bzw temporären Dateien entfernen"
+#rm -rf output
+############################################################################################################################################################
+#echo "Eclipse starten"
+#cd $SOURCE
+#eclipse
+############################################################################################################################################################
+echo "Fertig"
+echo "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
+echo "Bitte fhren sie ein 'Refresh' im Eclipse Package Explorer aus"
+echo "Da Eclipse die Abhängigkeiten zu den geänderten Interfaces sonst nicht aktualisiert"
diff --git a/org.eclipse.jdt.core/scripts/ikvm_script.xml b/org.eclipse.jdt.core/scripts/ikvm_script.xml
new file mode 100644
index 0000000..ff090db
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/ikvm_script.xml
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/oldexportplugin.xml b/org.eclipse.jdt.core/scripts/oldexportplugin.xml
new file mode 100644
index 0000000..4b76405
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/oldexportplugin.xml
Binary files differ
diff --git a/org.eclipse.jdt.core/scripts/source/META-INF/MANIFEST.MF b/org.eclipse.jdt.core/scripts/source/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..1966ba5
--- /dev/null
+++ b/org.eclipse.jdt.core/scripts/source/META-INF/MANIFEST.MF
@@ -0,0 +1,7 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Source of Eclipse Compiler for Java(TM)
+Bundle-SymbolicName: org.eclipse.jdt.core.compiler.batch.source
+Bundle-Version: 3.6.0.qualifier
+Bundle-Vendor: Eclipse.org
+Eclipse-SourceBundle: org.eclipse.jdt.core.compiler.batch;version="3.6.0.qualifier";roots:="."