Index: /trunk/de.ugoe.cs.swe.bnftools.xtools/META-INF/MANIFEST.MF
===================================================================
--- /trunk/de.ugoe.cs.swe.bnftools.xtools/META-INF/MANIFEST.MF	(revision 67)
+++ /trunk/de.ugoe.cs.swe.bnftools.xtools/META-INF/MANIFEST.MF	(revision 68)
@@ -12,5 +12,4 @@
 Bundle-RequiredExecutionEnvironment: JavaSE-1.7
 Bundle-ActivationPolicy: lazy
-Import-Package: org.apache.commons.io;version="2.0.1"
 Export-Package: app,
  resource.tools.xtools
Index: /trunk/de.ugoe.cs.swe.bnftools.xtools/example/test.bnf
===================================================================
--- /trunk/de.ugoe.cs.swe.bnftools.xtools/example/test.bnf	(revision 68)
+++ /trunk/de.ugoe.cs.swe.bnftools.xtools/example/test.bnf	(revision 68)
@@ -0,0 +1,4 @@
+grammar testforReferences;
+
+import "test3.bnf";
+1. start ::= a
Index: /trunk/de.ugoe.cs.swe.bnftools.xtools/example/test3.bnf
===================================================================
--- /trunk/de.ugoe.cs.swe.bnftools.xtools/example/test3.bnf	(revision 68)
+++ /trunk/de.ugoe.cs.swe.bnftools.xtools/example/test3.bnf	(revision 68)
@@ -0,0 +1,6 @@
+grammar test3 ;
+
+1. a ::= b
+2. b ::= "moo"  f
+3. c ::= "moo"
+f ::= c
Index: /trunk/de.ugoe.cs.swe.bnftools.xtools/src/app/Translator.java
===================================================================
--- /trunk/de.ugoe.cs.swe.bnftools.xtools/src/app/Translator.java	(revision 67)
+++ /trunk/de.ugoe.cs.swe.bnftools.xtools/src/app/Translator.java	(revision 68)
@@ -16,8 +16,11 @@
 		if (args.length != 1) {
 			System.out.println("Usage: Translator <FILE>");
-			return;
+//			return;
 		}
+		
 		Translator app = new Translator();
-		app.process(args[0],"bnf");
+		System.out.println(args[0]);
+		String path = "C:\\Users\\hauke\\test.bnf";
+		app.process(path,"bnf");
 	}
 
Index: /trunk/de.ugoe.cs.swe.bnftools.xtools/src/resource/tools/xtools/ResourceTool.java
===================================================================
--- /trunk/de.ugoe.cs.swe.bnftools.xtools/src/resource/tools/xtools/ResourceTool.java	(revision 67)
+++ /trunk/de.ugoe.cs.swe.bnftools.xtools/src/resource/tools/xtools/ResourceTool.java	(revision 68)
@@ -7,5 +7,4 @@
 import java.util.Properties;
 
-import org.apache.commons.io.FileUtils;
 import org.eclipse.emf.common.util.BasicDiagnostic;
 import org.eclipse.emf.common.util.Diagnostic;
@@ -99,10 +98,10 @@
 		System.out.println(s);
 		
-		try {
-			FileUtils.writeStringToFile(new File(pathName), s);
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
+//		try {
+////			FileUtils.writeStringToFile(new File(pathName), s);
+//		} catch (IOException e) {
+//			// TODO Auto-generated catch block
+//			e.printStackTrace();
+//		}
 		Resource resource = null;
 		//Resource resource = loadResourceFromXtext(workspace, pathName, true);
Index: /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/plugin.xml
===================================================================
--- /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/plugin.xml	(revision 67)
+++ /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/plugin.xml	(revision 68)
@@ -248,5 +248,5 @@
 	</extension>
 
-<!---->
+<!--
    <extension
          point="org.eclipse.xtext.builder.participant">
@@ -255,7 +255,7 @@
       </participant>
    </extension>
+   -->
    
-   
-   <!--this is for using a button for generation
+   <!--this is for using a button for generation-->
    <extension
         point="org.eclipse.ui.handlers">
@@ -291,5 +291,5 @@
     </menuContribution>
     </extension>
- -->
+ <!---->
    
    
Index: /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/GenerationHandler.java
===================================================================
--- /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/GenerationHandler.java	(revision 68)
+++ /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/handler/GenerationHandler.java	(revision 68)
@@ -0,0 +1,78 @@
+package de.ugoe.cs.swe.bnftools.ui.handler;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFolder;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.handlers.HandlerUtil;
+import org.eclipse.xtext.builder.EclipseResourceFileSystemAccess;
+import org.eclipse.xtext.generator.IGenerator;
+import org.eclipse.xtext.resource.IResourceDescriptions;
+import org.eclipse.xtext.ui.resource.IResourceSetProvider;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+
+public class GenerationHandler extends AbstractHandler implements IHandler {
+    
+    @Inject
+    private IGenerator generator;
+ 
+    @Inject
+    private Provider<EclipseResourceFileSystemAccess> fileAccessProvider;
+     
+    @Inject
+    IResourceDescriptions resourceDescriptions;
+     
+    @Inject
+    IResourceSetProvider resourceSetProvider;
+     
+    @Override
+    public Object execute(ExecutionEvent event) throws ExecutionException {
+         
+        ISelection selection = HandlerUtil.getCurrentSelection(event);
+        if (selection instanceof IStructuredSelection) {
+            IStructuredSelection structuredSelection = (IStructuredSelection) selection;
+            Object firstElement = structuredSelection.getFirstElement();
+            if (firstElement instanceof IFile) {
+                IFile file = (IFile) firstElement;
+                IProject project = file.getProject();
+                IFolder srcGenFolder = project.getFolder("src-gen");
+                if (!srcGenFolder.exists()) {
+                    try {
+                        srcGenFolder.create(true, true,
+                                new NullProgressMonitor());
+                    } catch (CoreException e) {
+                        return null;
+                    }
+                }
+ 
+                final EclipseResourceFileSystemAccess fsa = fileAccessProvider.get();
+                fsa.setOutputPath(srcGenFolder.getFullPath().toString());
+                 
+                URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
+                ResourceSet rs = resourceSetProvider.get(project);
+                Resource r = rs.getResource(uri, true);
+                generator.doGenerate(r, fsa);
+                 
+            }
+        }
+        return null;
+    }
+ 
+    @Override
+    public boolean isEnabled() {
+        return true;
+    }
+ 
+}
Index: /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/labeling/EbnfLabelProvider.xtend
===================================================================
--- /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/labeling/EbnfLabelProvider.xtend	(revision 67)
+++ /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/labeling/EbnfLabelProvider.xtend	(revision 68)
@@ -8,4 +8,9 @@
 import de.ugoe.cs.swe.bnftools.ebnf.Rule
 import de.ugoe.cs.swe.bnftools.ebnf.BnfEntry
+import de.ugoe.cs.swe.bnftools.ebnf.DefinitionList
+import de.ugoe.cs.swe.bnftools.ebnf.SingleDefinition
+import de.ugoe.cs.swe.bnftools.ebnf.Term
+import de.ugoe.cs.swe.bnftools.ebnf.Atom
+import de.ugoe.cs.swe.bnftools.ebnf.StringRule
 
 /**
@@ -26,5 +31,26 @@
 	
 	def text(BnfEntry entry){
-		'Rule'
+		'BnfEntry'
 	}
+	
+	def text(Rule rule){
+		'Rule: '+rule.name
+	}
+	
+	def text(DefinitionList dlist){
+		'Definition List'
+	}
+	
+	def text(SingleDefinition sdef){
+		'Single Definition'
+	}
+	
+	def text(Term term){
+		'Term'
+	}
+	
+	def text(Atom atom){
+		'Atom'
+	}
+	
 }
Index: /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/outline/EbnfOutlineTreeProvider.xtend
===================================================================
--- /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/outline/EbnfOutlineTreeProvider.xtend	(revision 67)
+++ /v2/trunk/de.ugoe.cs.swe.bnftools.ebnf.ui/src/de/ugoe/cs/swe/bnftools/ui/outline/EbnfOutlineTreeProvider.xtend	(revision 68)
@@ -23,7 +23,5 @@
 	}
 
-	def boolean _isLeaf(Rule rule) {
-		return true;
-	}
+
 
 }
