Removed unmaintained Gymnast code
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/.project b/doc/org.eclipse.gymnast.generator.doc.user/.project
deleted file mode 100644
index a52588a..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generator.doc.user</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-	</natures>
-</projectDescription>
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/META-INF/MANIFEST.MF b/doc/org.eclipse.gymnast.generator.doc.user/META-INF/MANIFEST.MF
deleted file mode 100644
index ed3f2c5..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,6 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Gymnast Generator Online Documentation (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.generator.doc.user; singleton:=true
-Bundle-Version: 0.3.0.qualifier
-Bundle-Vendor: Eclipse.org
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/build.properties b/doc/org.eclipse.gymnast.generator.doc.user/build.properties
deleted file mode 100644
index 3c05d07..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-bin.includes = plugin.xml,\
-               META-INF/,\
-               html/,\
-               *.xml
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/book.css b/doc/org.eclipse.gymnast.generator.doc.user/html/book.css
deleted file mode 100644
index 84c1c77..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/book.css
+++ /dev/null
@@ -1,108 +0,0 @@
-P.Code {
-	display: block;
-	text-align: left;
-	text-indent: 0.00pt;
-	margin-top: 0.000000pt;
-	margin-bottom: 0.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 15pt;
-	font-size: 10.000000pt;
-	font-weight: medium;
-	font-style: Regular;
-	color: #4444CC;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Courier New";
-}
-H6.CaptionFigColumn {
-	display: block;
-	text-align: left;
-	text-indent: 0.000000pt;
-	margin-top: 3.000000pt;
-	margin-bottom: 11.000000pt;
-	margin-right: 0.000000pt;
-	margin-left: 0.000000pt;
-	font-size: 9.000000pt;
-	font-weight: medium;
-	font-style: Italic;
-	color: #000000;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Arial";
-}
-P.Note {
-	display: block;
-	text-align: left;
-	text-indent: 0pt;
-	margin-top: 19.500000pt;
-	margin-bottom: 19.500000pt;
-	margin-right: 0.000000pt;
-	margin-left: 30pt;
-	font-size: 11.000000pt;
-	font-weight: medium;
-	font-style: Italic;
-	color: #000000;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family: "Arial";
-}
-EM.UILabel {
-	font-weight: Bold;
-	font-style: Regular;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-}
-EM.CodeName {
-	font-weight: Bold;
-	font-style: Regular;
-	text-decoration: none;
-	vertical-align: baseline;
-	text-transform: none;
-	font-family:"Courier New";
-}
-
-img {
-	margin-bottom: 20.000000pt;
-}
-
-
-/* following font face declarations need to be removed for DBCS */
-
-body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, Helvetica, sans-serif; color: #000000}
-pre				{ font-family: Courier, monospace}
-
-/* end font face declarations */
-
-/* following font size declarations should be OK for DBCS */
-body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 10pt; }
-pre				{ font-size: 10pt}
-
-/* end font size declarations */
-
-body	     { background: #FFFFFF}
-h1           { font-size: 18pt; margin-top: 5; margin-bottom: 1 }	
-h2           { font-size: 14pt; margin-top: 25; margin-bottom: 3 }
-h3           { font-size: 11pt; margin-top: 20; margin-bottom: 3 }
-h4           { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }
-p            { margin-top: 10px; margin-bottom: 10px }
-pre	     { margin-left: 6; font-size: 9pt }
-a:link	     { color: #0000FF }
-a:hover	     { color: #000080 }
-a:visited    { text-decoration: underline }
-ul	     { margin-top: 0; margin-bottom: 10 }
-li	     { margin-top: 0; margin-bottom: 0 } 
-li p	     { margin-top: 0; margin-bottom: 0 } 
-ol	     { margin-top: 0; margin-bottom: 10 }
-dl	     { margin-top: 0; margin-bottom: 10 }
-dt	     { margin-top: 0; margin-bottom: 0; font-weight: bold }
-dd	     { margin-top: 0; margin-bottom: 0 }
-strong	     { font-weight: bold}
-em	     { font-style: italic}
-var	     { font-style: italic}
-div.revision { border-left-style: solid; border-left-width: thin; 
-				   border-left-color: #7B68EE; padding-left:5 }
-th	     { font-weight: bold }
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/howto.html b/doc/org.eclipse.gymnast.generator.doc.user/html/howto.html
deleted file mode 100644
index df549f7..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/howto.html
+++ /dev/null
@@ -1,229 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<link rel="STYLESHEET" href="book.css" charset="ISO-8859-1" type="text/css">
-	<title>How to use Gymnast Generator</title>
-</head>
-
-<body>
-<h1>How to use Gymnast Generator</h1>
-
-<h2>Overview</h2>
-<p>
-Gymnast comprises two main parts (Runtime and Generator), each of which can in
-turn be divided into Core and User Interface. This section is all about using the
-Gymnast Generator to:
-
-<ol>
-  <li>create <code>.ast</code> files</li>
-  <li>configure options in that file</li>
-  <li>manually add a lexer file, and</li>
-  <li>manually add the parser's <code>.jar</code> to the (Build path or Plugin dependencies)</li>
-</ol>
-
-so that POJO-style CST classes can be generated and compiled. IDEs generated by
-IDEalize rely on such parsing infrastructure, as discussed in Sec. 2.3 of the technical report 
-<i><a href="http://www.sts.tu-harburg.de/%7Emi.garcia/SoC2007/draftreport.pdf">Generation of Eclipse-based IDEs for Custom DSLs</a></i>. 
-</p>
-
-
-<p>
-Let's say we want to reproduce the steps to generate POJO CST classes for Emfatic.
-An Eclipse project should be created and an .ast and a lexer file added, to
-look as shown in Figure 1(a) (more on that lexer file later). 
-
-<p></p>
-<p></p>
-
-<table border="0" cellpadding="8">
-	<tr>
-		<td><img src="img-ch2/HowToUseGymnast1.PNG" ></td>
-	</tr>
-	<caption align="bottom"><b>Figure 1(a)</b> Before Gymnast Generator</caption>
-
-</table>
-<p></p>
-
-After the generator is run (by
-rightclicking on <code>emfatic.ast</code> and choosing "Generate AST") the result looks as in Figure
-1(b). 
-
-<p></p>
-<p></p>
-
-<table border="0" cellpadding="8">
-	<tr>
-		<td><img src="img-ch2/HowToUseGymnast2.PNG" ></td>
-	</tr>
-	<caption align="bottom"><b>Figure 1(b)</b> After Gymnast Generator</caption>
-
-</table>
-<p></p>
-
-
-Not shown here is the added plugin dependency to <code>org.antlr</code>, which can be
-installed as described next.
-</p>
-
-<h2>What if you target ANTLR instead of JavaCC</h2>
-
-<p>
-<b>Installing ANTLR Eclipse</b>
-Your parsing infrastructure will depend on the ANTLR parser generator framework.  
-The easiest way to install a plugin with ANTLR is to get it from the update site 
-on SourceForge by following these steps:
-<p/>
-<ol>
-<li>In Eclipse, go to <i>Help -> Software Updates -> Find and Install....</i></li>
-
-<li>Select <i>Search for new features to install</i> and click on Next.</li>
-<li>Press the <i>New Remote Site...</i> button and enter the following values:</li>
-     <ul>
-	name: ANTLR  <br/>
-	url: http://antlreclipse.sourceforge.net/updates 
-     </ul>
-
-<li>Now check the new ANTLR checkbox and click on Next.  </li>
-<li>Select version 3.0.5 of the feature <i>org.antlr.ui</i> and click on Next.</li>
-<li>Accept the licensing terms and click on Next and Finish.</li>
-<li>Click on <i>Install</i> when you see a pop-up message warning about unsigned features.</li>
-<li>When prompted, click on Yes to restart the workbench.</li>
-</ol>
-
-<h2>Choosing target parser, and providing the parser-dependent lexer file</h2>
-
-<p>
-The choice of target parser is made with the option <code>parserGenerator = ". . ."</code>
-(Figure 2). Unlike ANTLR, JavaCC requires no runtime library: all the code it
-needs gets generated.
-</p>
-<p>
-The lexer file (<code>emfaticLexer.g</code> in the ANTLR example) is actually constant for all
-<code>.ast</code>s we care to write. It can be copied from <code>org.eclipse.gymnast.generator.core.parser</code> 
-(the file ending in <code>.g</code> is the ANTLR one, ending in <code>.jj</code> the JavaCC one) The
-only thing that needs updating are its filename (to match the name of the DSL in
-question) and, in the case of ANTLR, the first line in the lexer file (because such
-heading also contains the name of the DSL).
-</p>
-
-<p></p>
-<p></p>
-
-<table border="0" cellpadding="8">
-	<tr>
-		<td><img src="img-ch2/antlrOption.PNG" ></td>
-	</tr>
-	<caption align="bottom"><b>Figure 2</b> How to choose a parser</caption>
-
-</table>
-<p></p>
-
-<h2>Exploring the generated artifacts</h2>
-
-The generated grammar files (for the ANTLR example the one highlighted in
-Figure 3) are not supposed to be messed up by the user, however in order to explore
-them the following Eclipse plugins prove useful:
-
-<ul>
-  <li><a href="http://sourceforge.net/projects/eclipse-javacc/">for JavaCC</a>
-  </li>
-  <li><a href="http://antlreclipse.sourceforge.net/">for ANTLR v2 grammars</a></li>
-  </li>
-  <li><a href="http://www.antlr.org/works/index.html">for ANTLR v3 grammars</a></li>
-      (although Gymnast Generator generates as of now only v2 grammar files)
-  </li>
-  <li><a href="http://sourceforge.net/projects/jgedit">JikesPG Grammar Editor</a></li> 
-      (it's planned for Gymnast Generator to generate JikesPG grammar files, see plugin <code>org.eclipse.gymnast.generators.parser.lpg</code>)
-  </li>
-</ul>
-
-<p></p>
-<p></p>
-<table border="0" cellpadding="8">
-	<tr>
-		<td><img src="img-ch2/generatedGrammarFile.PNG" ></td>
-	</tr>
-	<caption align="bottom"><b>Figure 3</b> Generated artifacts</caption>
-</table>
-<p></p>
-
-<h2>POJO-based CSTs</h2>
-
-The generated POJO-style CST classes:
-
-<ul>
-<li>exhibit useful patterns for later processing (visiting in particular)</li>
-<li>are independent from the chosen parser generator</li>
-</ul>
-
-
-The input-output relationship and the resulting code patterns are described by
-Gymnast's author, Chris J Daly, in an Eclipse Tech Panel Exchange presentation, 
-available <a href="http://www.sts.tu-harburg.de/~mi.garcia/SoC2007/GymnastSlides.pdf">here</a>.
-
-
-The parser-generator-independent CST classes generated by Gymnast Generator
-implement <code>org.eclipse.gymnast.runtime.core.ast.ASTNode</code> (Figure 4(a)). 
-
-<p></p>
-<p></p>
-<table border="0" cellpadding="8">
-	<tr>
-		<td><img src="img-ch2/ASTNode.PNG" ></td>
-	</tr>
-	<caption align="bottom"><b>Figure 4(a) </b><code>ASTNode</code></caption>
-</table>
-<p></p>
-
-
-A sample
-POJO-style CST class is depicted in Figure 4(b), corresponding to the following
-grammar production:
-
-
-<table border="2" cellpadding="8">
-	<tr>
-		<td>
-<p class=MsoNormal style='text-autospace:none'><b><span style='font-size:8.0pt;
-font-family:"Courier New";color:red;background:yellow'>sequence</span></b><span
-style='font-size:8.0pt;font-family:"Courier New";color:black'> classDecl : (abstractModifier)?
-</span></p>
-
-<p class=MsoNormal style='text-autospace:none'><span style='font-size:8.0pt;
-font-family:"Courier New";color:black'>                     classKind name=ID </span></p>
-
-<p class=MsoNormal style='text-autospace:none'><span style='font-size:8.0pt;
-font-family:"Courier New";color:black'>                     (typeParamsInfo=typeParamsInfo)?</span></p>
-
-<p class=MsoNormal style='text-autospace:none'><span style='font-size:8.0pt;
-font-family:"Courier New";color:black'>                     (</span><b><span
-style='font-size:8.0pt;font-family:"Courier New";color:navy'>&quot;extends&quot;</span></b><span
-style='font-size:8.0pt;font-family:"Courier New";color:black'> superTypes=commaListBoundExceptWild)?
-</span></p>
-
-<p class=MsoNormal style='text-autospace:none'><span style='font-size:8.0pt;
-font-family:"Courier New";color:black'>                     (COLON instClassName=boundExceptWildcard)?
-</span></p>
-
-<p class=MsoNormal style='text-autospace:none'><span style='font-size:8.0pt;
-font-family:"Courier New";color:black'>                     LCURLY classMemberDecls
-RCURLY ;</span></p>
-
-</td></tr></table>
-
-
-<p></p>
-<p></p>
-<table border="0" cellpadding="8">
-	<tr>
-		<td><img src="img-ch2/ClassDecl.PNG" ></td>
-	</tr>
-	<caption align="bottom"><b>Figure 4(b) </b><code>ClassDecl</code></caption>
-</table>
-<p></p>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ASTNode.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ASTNode.PNG
deleted file mode 100644
index 2b455ba..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ASTNode.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ASTUtil.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ASTUtil.PNG
deleted file mode 100644
index 68111b4..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ASTUtil.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ClassDecl.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ClassDecl.PNG
deleted file mode 100644
index 69e27c3..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ClassDecl.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EcoreGenPluginStructure.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EcoreGenPluginStructure.PNG
deleted file mode 100644
index f102b78..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EcoreGenPluginStructure.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EmfEditorForGymnast.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EmfEditorForGymnast.PNG
deleted file mode 100644
index 175b608..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EmfEditorForGymnast.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EmfEditorForGymnast2.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EmfEditorForGymnast2.PNG
deleted file mode 100644
index f7806bb..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EmfEditorForGymnast2.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/Emfatic1.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/Emfatic1.PNG
deleted file mode 100644
index 4530e30..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/Emfatic1.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/Emfatic2.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/Emfatic2.PNG
deleted file mode 100644
index 9f785cf..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/Emfatic2.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/Emfatic3.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/Emfatic3.PNG
deleted file mode 100644
index 0555059..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/Emfatic3.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EmfaticEcoreTypeHierarchy.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EmfaticEcoreTypeHierarchy.PNG
deleted file mode 100644
index 7291368..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/EmfaticEcoreTypeHierarchy.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/GrammarInfo.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/GrammarInfo.PNG
deleted file mode 100644
index b56ce2a..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/GrammarInfo.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/HowToUseGymnast1.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/HowToUseGymnast1.PNG
deleted file mode 100644
index c5efd04..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/HowToUseGymnast1.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/HowToUseGymnast2.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/HowToUseGymnast2.PNG
deleted file mode 100644
index 7ece864..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/HowToUseGymnast2.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ParseTreeView.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ParseTreeView.PNG
deleted file mode 100644
index d4bc871..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/ParseTreeView.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/antlrOption.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/antlrOption.PNG
deleted file mode 100644
index 4e65d0c..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/antlrOption.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/generatedGrammarFile.PNG b/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/generatedGrammarFile.PNG
deleted file mode 100644
index b95f619..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/img-ch2/generatedGrammarFile.PNG
+++ /dev/null
Binary files differ
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/html/toc.html b/doc/org.eclipse.gymnast.generator.doc.user/html/toc.html
deleted file mode 100644
index 9e4acb6..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/html/toc.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
-	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-	<link rel="STYLESHEET" href="book.css" charset="ISO-8859-1" type="text/css">
-	<title>Table of Contents</title>
-</head>
-
-<body>
-<h1>Table of Contents</h1>
-
-
-<ul>
-  
-  <li>Getting started</li>
-     <ul>
-         <li><a href="howto.html">How to use Gymnast Generator</a></li>
-     </ul>
-  
-</ul>
-
-
-</body>
-</html>
\ No newline at end of file
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/plugin.xml b/doc/org.eclipse.gymnast.generator.doc.user/plugin.xml
deleted file mode 100644
index 1427912..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.help.toc">
-      <toc
-            file="toc.xml"
-            primary="true">
-      </toc>
-   </extension>
-
-</plugin>
diff --git a/doc/org.eclipse.gymnast.generator.doc.user/toc.xml b/doc/org.eclipse.gymnast.generator.doc.user/toc.xml
deleted file mode 100644
index a1df720..0000000
--- a/doc/org.eclipse.gymnast.generator.doc.user/toc.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="EMFT Gymnast Generator">
-	<topic label="Getting Started"> 
-		<topic label="How to use Gymnast Generator" href="html/howto.html"/> 
-	</topic>
-</toc>
diff --git a/examples/org.eclipse.gymnast.examples.game/.classpath b/examples/org.eclipse.gymnast.examples.game/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/examples/org.eclipse.gymnast.examples.game/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/examples/org.eclipse.gymnast.examples.game/.cvsignore b/examples/org.eclipse.gymnast.examples.game/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/examples/org.eclipse.gymnast.examples.game/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/examples/org.eclipse.gymnast.examples.game/.project b/examples/org.eclipse.gymnast.examples.game/.project
deleted file mode 100644
index b72a685..0000000
--- a/examples/org.eclipse.gymnast.examples.game/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.examples.game</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/examples/org.eclipse.gymnast.examples.game/META-INF/MANIFEST.MF b/examples/org.eclipse.gymnast.examples.game/META-INF/MANIFEST.MF
deleted file mode 100644
index 5e72164..0000000
--- a/examples/org.eclipse.gymnast.examples.game/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Gymnast Game Example Language (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.examples.game; singleton:=true
-Bundle-Version: 0.3.0.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.gymnast.examples.game.GamePlugin
-Bundle-Localization: plugin
-Export-Package: org.eclipse.gymnast.examples.game,
- org.eclipse.gymnast.examples.game.lang.gen.ast,
- org.eclipse.gymnast.examples.game.lang.gen.parser,
- org.eclipse.gymnast.examples.game.ui
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.ui,
- org.eclipse.jface.text,
- org.eclipse.ui.editors,
- org.eclipse.ui.workbench.texteditor,
- org.antlr,
- org.eclipse.gymnast.runtime.core,
- org.eclipse.gymnast.runtime.ui
-Eclipse-LazyStart: true
-Bundle-Vendor: Eclipse.org
diff --git a/examples/org.eclipse.gymnast.examples.game/build.properties b/examples/org.eclipse.gymnast.examples.game/build.properties
deleted file mode 100644
index d8cfccd..0000000
--- a/examples/org.eclipse.gymnast.examples.game/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/ 
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               icons/
diff --git a/examples/org.eclipse.gymnast.examples.game/icons/gymnast.gif b/examples/org.eclipse.gymnast.examples.game/icons/gymnast.gif
deleted file mode 100644
index 4771987..0000000
--- a/examples/org.eclipse.gymnast.examples.game/icons/gymnast.gif
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.gymnast.examples.game/plugin.xml b/examples/org.eclipse.gymnast.examples.game/plugin.xml
deleted file mode 100644
index d16fc5d..0000000
--- a/examples/org.eclipse.gymnast.examples.game/plugin.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="GameEditor"
-            icon="icons/gymnast.gif"
-            extensions="game"
-            class="org.eclipse.gymnast.examples.game.ui.GameEditor"
-            contributorClass="org.eclipse.gymnast.examples.game.ui.GameEditorActionContributor"
-            id="org.eclipse.gymnast.examples.game.ui.GameEditor">
-      </editor>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFile"
-            nameFilter="*.game"
-            id="org.eclipse.gymnast.examples.game.ui.GamePlayAction">
-         <action
-               label="Play Game!"
-               icon="icons/gymnast.gif"
-               class="org.eclipse.gymnast.examples.game.ui.GamePlayAction"
-               menubarPath="additions"
-               enablesFor="1"
-               id="org.eclipse.gymnast.examples.game.ui.GamePlayAction">
-         </action>
-      </objectContribution>
-   </extension>
-
-</plugin>
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/GamePlugin.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/GamePlugin.java
deleted file mode 100644
index e3c2889..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/GamePlugin.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.gymnast.examples.game;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class GamePlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static GamePlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public GamePlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("org.eclipse.gymnast.examples.game.GamePluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static GamePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = GamePlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/GameLexer.g b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/GameLexer.g
deleted file mode 100644
index 04fdb19..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/GameLexer.g
+++ /dev/null
@@ -1,26 +0,0 @@
-class GameLexer extends Lexer;
-
-options
-{
-	testLiterals=false;
-	k=3;
-	charVocabulary='\003'..'\377';
-}
-
-SEMI    : ';';
-
-ID options { testLiterals=true; }
-: ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | DIGIT)* ;
-
-INT_LITERAL : (DIGIT)+ ;
-
-protected DIGIT : '0'..'9';
-
-WS : (' ' | '\t' | '\f' | '\r' | '\n')+ 
-{ $setType(Token.SKIP); }
-;
-
-SINGLE_LINE_COMMENT : "//" (~('\n'|'\r'))* ('\n'|'\r')?
-{ $setType(Token.SKIP); }
-;
-
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/GameLexer.jj b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/GameLexer.jj
deleted file mode 100644
index 1941c35..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/GameLexer.jj
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-TOKEN : { <SEMI: ";" > }
-
-TOKEN : { <INT_LITERAL: (<DIGIT>)+ > }
-TOKEN : { <#DIGIT: ["0"-"9"] > }
-
-SKIP :
-{
-  " "
-| "\t"
-| "\f"
-| "\r"
-| "\n"
-}
-
-SKIP : { <SINGLE_LINE_COMMENT: "//" (~["\r","\n"])* ["\r","\n"] > }
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/GameLexer.lpg b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/GameLexer.lpg
deleted file mode 100644
index 8377843..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/GameLexer.lpg
+++ /dev/null
@@ -1,237 +0,0 @@
-
-$Start
-    Token
-$End
-
-$Export
-    ASSIGN  LEFT_BRACKET  RIGHT_BRACKET SEMICOLON
-    PLUS  MINUS  DIVIDE  STAR
-    LEFT_PARENTHESIS RIGHT_PARENTHESIS
-    CONSTANT EOF_SYMBOL ERROR_SYMBOL
-
-    IDENTIFIER 
-$End
-
-$Terminals
-
-    CtlCharNotWS
-
-    Space
-
-    LF  CR  HT  FF
-
-    a    b    c    d    e    f    g    h    i    j    k    l    m
-    n    o    p    q    r    s    t    u    v    w    x    y    z    _
-
-    A    B    C    D    E    F    G    H    I    J    K    L    M
-    N    O    P    Q    R    S    T    U    V    W    X    Y    Z
-
-    0    1    2    3    4    5    6    7    8    9
-
-    Plus        Minus        Slash        Star        LeftParen RightParen
-    Equal       DoubleQuote  AtSign       BackQuote   Tilde     Exclamation
-    Sharp       DollarSign   Percent      Ampersand   Caret     Colon
-    SemiColon   SingleQuote  BackSlash    VerticalBar LeftBrace RightBrace
-    LeftBracket RightBracket QuestionMark Comma       Dot       LessThan
-    GreaterThan
-
-    AfterASCII
-
-    EOF
-
-$End
-
-$Alias
-
-    ' ' ::= Space
-    '"' ::= DoubleQuote
-    "'" ::= SingleQuote
-    '%' ::= Percent
-    '|' ::= VerticalBar
-    '!' ::= Exclamation
-    '@' ::= AtSign
-    '`' ::= BackQuote
-    '~' ::= Tilde
-    '#' ::= Sharp
-    '$' ::= DollarSign
-    '&' ::= Ampersand
-    '^' ::= Caret
-    ':' ::= Colon
-    ';' ::= SemiColon
-    '\' ::= BackSlash
-    '{' ::= LeftBrace
-    '}' ::= RightBrace
-    '[' ::= LeftBracket
-    ']' ::= RightBracket
-    '?' ::= QuestionMark
-    ',' ::= Comma
-    '.' ::= Dot
-    '<' ::= LessThan
-    '>' ::= GreaterThan
-    '+' ::= Plus
-    '-' ::= Minus
-    '/' ::= Slash
-    '*' ::= Star
-    '(' ::= LeftParen
-    ')' ::= RightParen
-    '=' ::= Equal
-    '\u0080..\ufffe' ::= AfterASCII
-
-$End
-
-$Rules
-    Token ::= Identifier
-        /.$BeginAction
-                    checkForKeyWord();
-          $EndAction
-        ./
-
-    Token ::= WhiteSpace
-        /.$BeginAction
-                    skipToken();
-          $EndAction
-        ./
-
-    Token ::= '/' '*' Inside Stars '/'
-        /.$BeginAction
-                    skipToken();
-          $EndAction
-        ./
-
-    Token ::= SLComment
-        /.$BeginAction
-                    skipToken();
-          $EndAction
-        ./
-
-    Token ::= Integer
-        /.$BeginAction
-                    makeToken($_CONSTANT);
-          $EndAction
-        ./
-
-    Token ::= '+'
-        /.$BeginAction
-                    makeToken($_PLUS);
-          $EndAction
-        ./
-
-    Token ::= '-'
-        /.$BeginAction
-                    makeToken($_MINUS);
-          $EndAction
-        ./
-
-    Token ::= '*'
-        /.$BeginAction
-                    makeToken($_STAR);
-          $EndAction
-        ./
-
-    Token ::= '/'
-        /.$BeginAction
-                    makeToken($_DIVIDE);
-          $EndAction
-        ./
-
-    Token ::= '('
-        /.$BeginAction
-                    makeToken($_LEFT_PARENTHESIS);
-          $EndAction
-        ./
-
-    Token ::= ')'
-        /.$BeginAction
-                    makeToken($_RIGHT_PARENTHESIS);
-          $EndAction
-        ./
-
-    Token ::= '='
-        /.$BeginAction
-                    makeToken($_ASSIGN);
-          $EndAction
-        ./
-
-    Token ::= '['
-        /.$BeginAction
-                    makeToken($_LEFT_BRACKET);
-          $EndAction
-        ./
-
-    Token ::= ']'
-        /.$BeginAction
-                    makeToken($_RIGHT_BRACKET);
-          $EndAction
-        ./
-
-    Token ::= ';'
-        /.$BeginAction
-                    makeToken($_SEMICOLON);
-          $EndAction
-        ./
-
-    Identifier -> Letter
-                | Identifier Letter
-                | Identifier Digit
-
-    Integer -> Digit
-             | Integer Digit
-
-    WhiteSpace -> WSChar
-                | WhiteSpace WSChar
-
-    Inside ::= Inside Stars NotSlashOrStar
-             | Inside '/'
-             | Inside NotSlashOrStar
-             | $empty
-
-    Stars -> '*'
-           | Stars '*'
-
-    SLComment ::= '/' '/'
-                | SLComment NotEol
-
-    WSChar -> Space
-            | Eol
-            | CtlCharNotWS
-
-    Letter -> LowerCaseLetter
-            | UpperCaseLetter
-            | _
-            | '$'
-            | '\u0080..\ufffe'
-
-    LowerCaseLetter -> a | b | c | d | e | f | g | h | i | j | k | l | m |
-                       n | o | p | q | r | s | t | u | v | w | x | y | z
-
-    UpperCaseLetter -> A | B | C | D | E | F | G | H | I | J | K | L | M |
-                       N | O | P | Q | R | S | T | U | V | W | X | Y | Z
-
-    Digit -> 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
-
-    SpecialNotStar -> '+' | '-' | '/' | '(' | ')' | '"' | '!' | '@' | '`' | '~' |
-                      '%' | '&' | '^' | ':' | ';' | "'" | '\' | '|' | '{' | '}' |
-                      '[' | ']' | '?' | ',' | '.' | '<' | '>' | '=' | '#'
-
-    SpecialNotSlash -> '+' | '-' | -- exclude the star as well
-                       '(' | ')' | '"' | '!' | '@' | '`' | '~' |
-                       '%' | '&' | '^' | ':' | ';' | "'" | '\' | '|' | '{' | '}' |
-                       '[' | ']' | '?' | ',' | '.' | '<' | '>' | '=' | '#'
-
-    NotSlashOrStar -> Letter
-                    | Digit
-                    | SpecialNotSlash
-                    | WSChar
-
-    Eol -> LF
-         | CR
-
-    NotEol -> Letter
-            | Digit
-            | Space
-            | '*'
-            | SpecialNotStar
-            | HT
-            | FF
-            | CtlCharNotWS
-$End
\ No newline at end of file
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/game.ast b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/game.ast
deleted file mode 100644
index f7d7752..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/game.ast
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-
-language Game;
-
-options {
-  parserGenerator=antlr;
-}
-
-list commandList [entry] : command* ;
-abstract command : (optReps) shoot | move ;
-sequence optReps : (reps=INT_LITERAL)? ;
-sequence shoot : "fire" SEMI ;
-sequence move : "move" direction SEMI ;
-token direction : "left" | "right" ;
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Command.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Command.java
deleted file mode 100644
index 46fa6d7..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Command.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package org.eclipse.gymnast.examples.game.lang.gen.ast;
-
-/**
- *
- * @generated by Gymnast from game.ast on Jun 7, 2006 1:11:57 AM
- */
-public abstract class Command extends GameASTNode {
-	/**
-	 * Construct a new Command.
-	 */
-	public Command() {
-		super();
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GameASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/CommandList.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/CommandList.java
deleted file mode 100644
index 6425853..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/CommandList.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.gymnast.examples.game.lang.gen.ast;
-
-import java.util.ArrayList;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;
-
-/**
- *
- * @generated by Gymnast from game.ast on Jun 7, 2006 1:11:57 AM
- */
-public class CommandList extends GameASTNode {
-
-	private ArrayList _children = new ArrayList();
-	
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		return _children.size();
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		return (ASTNode)_children.get(index);
-	}
-
-	/**
-	 * Add a child to this list.
-	 */
-	public void addChild(GameASTNode child) {
-		if (child == null) return;
-		if (child._parent != null) throw new RuntimeException();
-		_children.add(child);
-		child._parent = this;
-	}
-
-	/**
-	 * Wrap the provided Token in a GameTokenNode
-	 * and add it as a child of this node.
-	 * 
-	 * @param token the Token to be added as a child of this node
-	 */
-	public void addChild(TokenInfo tokenInfo) {
-		addChild(new GameTokenNode(tokenInfo));
-	}
-
-	/**
-	 * Construct a new CommandList.
-	 */
-	public CommandList() {
-		super();
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GameASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Direction.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Direction.java
deleted file mode 100644
index 8eeb4b2..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Direction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.gymnast.examples.game.lang.gen.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;
-
-/**
- *
- * @generated by Gymnast from game.ast on Jun 7, 2006 1:11:57 AM
- */
-public class Direction extends GameTokenNode {
-
-	public static final String KW_LEFT = "left";
-	public static final String KW_RIGHT = "right";
-
-	
-	/**
-	 * Construct a new Direction.
-	 */
-	public Direction(TokenInfo tokenInfo) {
-		super(tokenInfo);
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GameASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/GameASTNode.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/GameASTNode.java
deleted file mode 100644
index 2d356e9..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/GameASTNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package org.eclipse.gymnast.examples.game.lang.gen.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-import org.eclipse.gymnast.runtime.core.ast.ASTNodeImpl;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;
-
-/**
- * The superclass of all ASTNodes for language Game.
- *
- * @generated by Gymnast from game.ast on Jun 7, 2006 1:11:57 AM
- */
-public abstract class GameASTNode extends ASTNodeImpl {
-
-	protected GameASTNode _parent;
-
-	/**
-	 * @return the parent of this ASTNode or null if this is the root node of a tree
-	 */
-	public ASTNode getParent() {
-		return _parent;
-	}
-
-	/**
-	 * Construct a new GameASTNode.
-	 */
-	public GameASTNode() {
-		super();
-	}
-
-	/**
-	 * Construct a new GameASTNode.
-	 *
-	 * @param token a Token to initialize the offset and text for this node.
-	 */
-	public GameASTNode(TokenInfo tokenInfo) {
-		super(tokenInfo);
-	}
-
-	/**
-	 * The external entry point used to initiate the visitor on this node.
-	 * 
-	 * @param visitor the Visitor to visit this node tree
-	 */
-	public final void accept(GameASTNodeVisitor visitor) {
-		visitor.preVisit(this);
-		acceptImpl(visitor);
-		visitor.postVisit(this);
-	}
-
-	/**
-	 * This method can be overridden by subclasses which should provide exactly
-	 * the same implementation.  Here <code>this</code> refers to the generic node
-	 * class, but in the subclass implementations <code>this</code> will refer to
-	 * the specific subclass type.  Thus the correct specific <code>beginVisit</code>
-	 * and <code>endVisit</code> methods will be invoked for each subclass and the
-	 * generic methods will be invoked for subclasses that don't need specific visitor
-	 * behavior.
-	 */
-	public void acceptImpl(GameASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-	/**
-	 * Iterate through the children of this node and accept the visitor on each.
-	 */
-	protected void visitChildren(GameASTNodeVisitor visitor) {
-		for (int i = 0; i < getChildCount(); i++) {
-			ASTNode child = getChild(i);
-			if (child instanceof GameASTNode) {
-				GameASTNode c = (GameASTNode)child;
-				c.accept(visitor);
-			}
-		}
-	}
-
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/GameASTNodeVisitor.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/GameASTNodeVisitor.java
deleted file mode 100644
index ae87550..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/GameASTNodeVisitor.java
+++ /dev/null
@@ -1,248 +0,0 @@
-package org.eclipse.gymnast.examples.game.lang.gen.ast;
-
-/**
- * A Visitor pattern stub implementation for language Game.
- *
- * @generated by Gymnast from game.ast on Jun 7, 2006 1:11:57 AM
- */
-public class GameASTNodeVisitor {
-
-	/**
-	 * The external entry point used to perform a visit beginning at the given node.
-	 * 
-	 * @param node the GameASTNode to visit
-	 */
-	public final void visit(GameASTNode node) {
-		node.accept(this);
-	}
-
-	/**
-	 * Called just before <code>beginVisit</code> for each node being visited.
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param node the GameASTNode currently being visited
-	 */
-	public void preVisit(GameASTNode node) {
-	}
-
-	/**
-	 * Called just after <code>endVisit</code> for each node being visited.
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param node the GameASTNode currently being visited
-	 */
-	public void postVisit(GameASTNode node) {
-	}
-
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the generic one called for node types that
-	 * don't provide a specific overloaded form of <code>beginVisit</code>.
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param node the GameASTNode currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(GameASTNode node) {
-		return true;
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the generic one called for node types that
-	 * don't provide a specific overloaded form of <code>endVisit</code>.
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param node the GameASTNode currently being visited
-	 */
-	public void endVisit(GameASTNode node) {
-	}
-
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>GameTokenNode</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param tokenNode the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(GameTokenNode tokenNode) {
-		return beginVisit((GameASTNode)tokenNode);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>GameTokenNode</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param tokenNode the node currently being visited
-	 */
-	public void endVisit(GameTokenNode tokenNode) {
-		endVisit((GameASTNode)tokenNode);
-	}
-
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>CommandList</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param commandList the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(CommandList commandList) {
-		return beginVisit((GameASTNode)commandList);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>CommandList</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param commandList the node currently being visited
-	 */
-	public void endVisit(CommandList commandList) {
-		endVisit((GameASTNode)commandList);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Command</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param command the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Command command) {
-		return beginVisit((GameASTNode)command);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Command</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param command the node currently being visited
-	 */
-	public void endVisit(Command command) {
-		endVisit((GameASTNode)command);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>OptReps</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param optReps the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(OptReps optReps) {
-		return beginVisit((GameASTNode)optReps);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>OptReps</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param optReps the node currently being visited
-	 */
-	public void endVisit(OptReps optReps) {
-		endVisit((GameASTNode)optReps);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Shoot</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param shoot the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Shoot shoot) {
-		return beginVisit((Command)shoot);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Shoot</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param shoot the node currently being visited
-	 */
-	public void endVisit(Shoot shoot) {
-		endVisit((Command)shoot);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Move</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param move the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Move move) {
-		return beginVisit((Command)move);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Move</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param move the node currently being visited
-	 */
-	public void endVisit(Move move) {
-		endVisit((Command)move);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Direction</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param direction the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Direction direction) {
-		return beginVisit((GameTokenNode)direction);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Direction</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param direction the node currently being visited
-	 */
-	public void endVisit(Direction direction) {
-		endVisit((GameTokenNode)direction);
-	}
-
-
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/GameTokenNode.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/GameTokenNode.java
deleted file mode 100644
index fd8dbf7..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/GameTokenNode.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.gymnast.examples.game.lang.gen.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;
-
-/**
- * Represents a token in the language grammar.
- * Can be subclassed to represent specific token subgroups.
- *
- * @generated by Gymnast from game.ast on Jun 7, 2006 1:11:57 AM
- */
-public class GameTokenNode extends GameASTNode {
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public final int getChildCount() {
-		// token rules cannot have children!
-		return 0;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public final ASTNode getChild(int index) {
-		// token rules cannot have children!
-		throw new IndexOutOfBoundsException();
-	}
-
-	/**
-	 * Construct a new GameTokenNode
-	 */
-	public GameTokenNode(TokenInfo tokenInfo) {
-		super(tokenInfo);
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GameASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Move.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Move.java
deleted file mode 100644
index 43ba144..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Move.java
+++ /dev/null
@@ -1,107 +0,0 @@
-package org.eclipse.gymnast.examples.game.lang.gen.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;
-
-/**
- *
- * @generated by Gymnast from game.ast on Jun 7, 2006 1:11:57 AM
- */
-public class Move extends Command  {
-
-	public static final String KW_MOVE = "move";
-
-	private OptReps _optReps;
-	private GameTokenNode _move_KW;
-	private Direction _direction;
-	private GameTokenNode _semi;
-
-	public OptReps getOptReps() {
-		return _optReps;
-	}
-	public GameTokenNode getMove_KW() {
-		return _move_KW;
-	}
-	public Direction getDirection() {
-		return _direction;
-	}
-	public GameTokenNode getSemi() {
-		return _semi;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_optReps != null) count++;
-		if (_move_KW != null) count++;
-		if (_direction != null) count++;
-		if (_semi != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_optReps != null) && (++count == index)) return _optReps;
-		if ((_move_KW != null) && (++count == index)) return _move_KW;
-		if ((_direction != null) && (++count == index)) return _direction;
-		if ((_semi != null) && (++count == index)) return _semi;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new Move.
-	 */
-	public Move(
-		OptReps optReps,
-		TokenInfo move_KW,
-		Direction direction,
-		TokenInfo semi
-	) {
-		super();
-
-		if (optReps != null) {
-			_optReps = optReps;
-			if (_optReps._parent != null) throw new RuntimeException();
-			_optReps._parent = this;
-		}
-		if (move_KW != null) {
-			_move_KW = new GameTokenNode(move_KW);
-			if (_move_KW._parent != null) throw new RuntimeException();
-			_move_KW._parent = this;
-		}
-		if (direction != null) {
-			_direction = direction;
-			if (_direction._parent != null) throw new RuntimeException();
-			_direction._parent = this;
-		}
-		if (semi != null) {
-			_semi = new GameTokenNode(semi);
-			if (_semi._parent != null) throw new RuntimeException();
-			_semi._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GameASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/OptReps.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/OptReps.java
deleted file mode 100644
index a50894e..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/OptReps.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package org.eclipse.gymnast.examples.game.lang.gen.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;
-
-/**
- *
- * @generated by Gymnast from game.ast on Jun 7, 2006 1:11:57 AM
- */
-public class OptReps extends GameASTNode  {
-
-
-	private GameTokenNode _reps;
-
-	public GameTokenNode getReps() {
-		return _reps;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_reps != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_reps != null) && (++count == index)) return _reps;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new OptReps.
-	 */
-	public OptReps(
-		TokenInfo reps
-	) {
-		super();
-
-		if (reps != null) {
-			_reps = new GameTokenNode(reps);
-			if (_reps._parent != null) throw new RuntimeException();
-			_reps._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GameASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Shoot.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Shoot.java
deleted file mode 100644
index fb68c4b..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/ast/Shoot.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package org.eclipse.gymnast.examples.game.lang.gen.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;
-
-/**
- *
- * @generated by Gymnast from game.ast on Jun 7, 2006 1:11:57 AM
- */
-public class Shoot extends Command  {
-
-	public static final String KW_FIRE = "fire";
-
-	private OptReps _optReps;
-	private GameTokenNode _fire_KW;
-	private GameTokenNode _semi;
-
-	public OptReps getOptReps() {
-		return _optReps;
-	}
-	public GameTokenNode getFire_KW() {
-		return _fire_KW;
-	}
-	public GameTokenNode getSemi() {
-		return _semi;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_optReps != null) count++;
-		if (_fire_KW != null) count++;
-		if (_semi != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_optReps != null) && (++count == index)) return _optReps;
-		if ((_fire_KW != null) && (++count == index)) return _fire_KW;
-		if ((_semi != null) && (++count == index)) return _semi;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new Shoot.
-	 */
-	public Shoot(
-		OptReps optReps,
-		TokenInfo fire_KW,
-		TokenInfo semi
-	) {
-		super();
-
-		if (optReps != null) {
-			_optReps = optReps;
-			if (_optReps._parent != null) throw new RuntimeException();
-			_optReps._parent = this;
-		}
-		if (fire_KW != null) {
-			_fire_KW = new GameTokenNode(fire_KW);
-			if (_fire_KW._parent != null) throw new RuntimeException();
-			_fire_KW._parent = this;
-		}
-		if (semi != null) {
-			_semi = new GameTokenNode(semi);
-			if (_semi._parent != null) throw new RuntimeException();
-			_semi._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GameASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/Game.g b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/Game.g
deleted file mode 100644
index 2749742..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/Game.g
+++ /dev/null
@@ -1,116 +0,0 @@
-
-header
-{
-package org.eclipse.gymnast.examples.game.lang.gen.parser;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.*;
-import org.eclipse.gymnast.runtime.core.parser.*;
-import org.eclipse.gymnast.runtime.core.ast.*;
-}
-
-class GameParser extends Parser;
-
-{
-    private ParseError createParseError(RecognitionException ex) {
-        return GameParserDriver.createParseError(ex);
-    }
-
-    private TokenInfo createTokenInfo(Token tok) {
-        if (tok == null) return null;
-        else return new TokenInfo(tok.getText(), tok.getColumn(), tok.getType());
-    }
-
-
-	private ParseContext _parseContext;
-	public void setParseContext(ParseContext parseContext) {
-		_parseContext = parseContext;
-	}
-	
-    public void reportError(RecognitionException ex) {
-        if (_parseContext != null) {
-        	_parseContext.addParseMessage(createParseError(ex));
-        }
-    }
-
-    public void reportError(String s) {
-        if (_parseContext != null) {
-        	_parseContext.addParseMessage(new ParseError(s, -1));
-        }
-    }
-
-    public void reportWarning(String s) {
-    	if (_parseContext != null) {
-        	_parseContext.addParseMessage(new ParseWarning(s, -1));
-        }
-    }
-
-}
-
-commandList returns [ CommandList retVal = new CommandList() ]
-:
-{ Command command = null; }
-  ( command=command { retVal.addChild(command); } )* EOF
-;
-
-command returns [ Command retVal = null ]
-:
-{ OptReps optReps = null; }
-optReps=optReps 
-  ( retVal=shoot[optReps]
-  | retVal=move[optReps]
-  )
-;
-
-optReps returns [ OptReps retVal = null ]
-:
-  ( reps:INT_LITERAL )? 
-{ retVal = new OptReps(createTokenInfo(reps)); }
-;
-
-shoot [ OptReps optReps ]  returns [ Shoot retVal = null ]
-:
-  fire_KW:"fire" semi:SEMI 
-{ retVal = new Shoot(optReps, createTokenInfo(fire_KW), createTokenInfo(semi)); }
-;
-
-move [ OptReps optReps ]  returns [ Move retVal = null ]
-:
-{ Direction direction = null; }
-  move_KW:"move" direction=direction semi:SEMI 
-{ retVal = new Move(optReps, createTokenInfo(move_KW), direction, createTokenInfo(semi)); }
-;
-
-direction returns [ Direction retVal = null ]
-{ Token tok = LT(1); }
-: ( "left"
-  | "right"
-  )
-{ retVal = new Direction(createTokenInfo(tok)); }
-;
-
-
-class GameLexer extends Lexer;
-
-options
-{
-	testLiterals=false;
-	k=3;
-	charVocabulary='\003'..'\377';
-}
-
-SEMI    : ';';
-
-ID options { testLiterals=true; }
-: ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | DIGIT)* ;
-
-INT_LITERAL : (DIGIT)+ ;
-
-protected DIGIT : '0'..'9';
-
-WS : (' ' | '\t' | '\f' | '\r' | '\n')+ 
-{ $setType(Token.SKIP); }
-;
-
-SINGLE_LINE_COMMENT : "//" (~('\n'|'\r'))* ('\n'|'\r')?
-{ $setType(Token.SKIP); }
-;
-
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameLexer.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameLexer.java
deleted file mode 100644
index ffab436..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameLexer.java
+++ /dev/null
@@ -1,378 +0,0 @@
-// $ANTLR : "Game.g" -> "GameLexer.java"$
-
-package org.eclipse.gymnast.examples.game.lang.gen.parser;
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.Hashtable;
-
-import antlr.ANTLRHashString;
-import antlr.ByteBuffer;
-import antlr.CharBuffer;
-import antlr.CharStreamException;
-import antlr.CharStreamIOException;
-import antlr.InputBuffer;
-import antlr.LexerSharedInputState;
-import antlr.NoViableAltForCharException;
-import antlr.RecognitionException;
-import antlr.Token;
-import antlr.TokenStream;
-import antlr.TokenStreamException;
-import antlr.TokenStreamIOException;
-import antlr.TokenStreamRecognitionException;
-import antlr.collections.impl.BitSet;
-
-public class GameLexer extends antlr.CharScanner implements GameParserTokenTypes, TokenStream
- {
-public GameLexer(InputStream in) {
-	this(new ByteBuffer(in));
-}
-public GameLexer(Reader in) {
-	this(new CharBuffer(in));
-}
-public GameLexer(InputBuffer ib) {
-	this(new LexerSharedInputState(ib));
-}
-public GameLexer(LexerSharedInputState state) {
-	super(state);
-	caseSensitiveLiterals = true;
-	setCaseSensitive(true);
-	literals = new Hashtable();
-	literals.put(new ANTLRHashString("right", this), new Integer(9));
-	literals.put(new ANTLRHashString("fire", this), new Integer(5));
-	literals.put(new ANTLRHashString("move", this), new Integer(7));
-	literals.put(new ANTLRHashString("left", this), new Integer(8));
-}
-
-public Token nextToken() throws TokenStreamException {
-	Token theRetToken=null;
-tryAgain:
-	for (;;) {
-		Token _token = null;
-		int _ttype = Token.INVALID_TYPE;
-		resetText();
-		try {   // for char stream error handling
-			try {   // for lexical error handling
-				switch ( LA(1)) {
-				case ';':
-				{
-					mSEMI(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case 'A':  case 'B':  case 'C':  case 'D':
-				case 'E':  case 'F':  case 'G':  case 'H':
-				case 'I':  case 'J':  case 'K':  case 'L':
-				case 'M':  case 'N':  case 'O':  case 'P':
-				case 'Q':  case 'R':  case 'S':  case 'T':
-				case 'U':  case 'V':  case 'W':  case 'X':
-				case 'Y':  case 'Z':  case '_':  case 'a':
-				case 'b':  case 'c':  case 'd':  case 'e':
-				case 'f':  case 'g':  case 'h':  case 'i':
-				case 'j':  case 'k':  case 'l':  case 'm':
-				case 'n':  case 'o':  case 'p':  case 'q':
-				case 'r':  case 's':  case 't':  case 'u':
-				case 'v':  case 'w':  case 'x':  case 'y':
-				case 'z':
-				{
-					mID(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '0':  case '1':  case '2':  case '3':
-				case '4':  case '5':  case '6':  case '7':
-				case '8':  case '9':
-				{
-					mINT_LITERAL(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '\t':  case '\n':  case '\u000c':  case '\r':
-				case ' ':
-				{
-					mWS(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '/':
-				{
-					mSINGLE_LINE_COMMENT(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				default:
-				{
-					if (LA(1)==EOF_CHAR) {uponEOF(); _returnToken = makeToken(Token.EOF_TYPE);}
-				else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
-				}
-				}
-				if ( _returnToken==null ) continue tryAgain; // found SKIP token
-				_ttype = _returnToken.getType();
-				_returnToken.setType(_ttype);
-				return _returnToken;
-			}
-			catch (RecognitionException e) {
-				throw new TokenStreamRecognitionException(e);
-			}
-		}
-		catch (CharStreamException cse) {
-			if ( cse instanceof CharStreamIOException ) {
-				throw new TokenStreamIOException(((CharStreamIOException)cse).io);
-			}
-			else {
-				throw new TokenStreamException(cse.getMessage());
-			}
-		}
-	}
-}
-
-	public final void mSEMI(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = SEMI;
-		int _saveIndex;
-		
-		match(';');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mID(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = ID;
-		int _saveIndex;
-		
-		{
-		switch ( LA(1)) {
-		case 'a':  case 'b':  case 'c':  case 'd':
-		case 'e':  case 'f':  case 'g':  case 'h':
-		case 'i':  case 'j':  case 'k':  case 'l':
-		case 'm':  case 'n':  case 'o':  case 'p':
-		case 'q':  case 'r':  case 's':  case 't':
-		case 'u':  case 'v':  case 'w':  case 'x':
-		case 'y':  case 'z':
-		{
-			matchRange('a','z');
-			break;
-		}
-		case 'A':  case 'B':  case 'C':  case 'D':
-		case 'E':  case 'F':  case 'G':  case 'H':
-		case 'I':  case 'J':  case 'K':  case 'L':
-		case 'M':  case 'N':  case 'O':  case 'P':
-		case 'Q':  case 'R':  case 'S':  case 'T':
-		case 'U':  case 'V':  case 'W':  case 'X':
-		case 'Y':  case 'Z':
-		{
-			matchRange('A','Z');
-			break;
-		}
-		case '_':
-		{
-			match('_');
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
-		}
-		}
-		}
-		{
-		_loop16:
-		do {
-			switch ( LA(1)) {
-			case 'a':  case 'b':  case 'c':  case 'd':
-			case 'e':  case 'f':  case 'g':  case 'h':
-			case 'i':  case 'j':  case 'k':  case 'l':
-			case 'm':  case 'n':  case 'o':  case 'p':
-			case 'q':  case 'r':  case 's':  case 't':
-			case 'u':  case 'v':  case 'w':  case 'x':
-			case 'y':  case 'z':
-			{
-				matchRange('a','z');
-				break;
-			}
-			case 'A':  case 'B':  case 'C':  case 'D':
-			case 'E':  case 'F':  case 'G':  case 'H':
-			case 'I':  case 'J':  case 'K':  case 'L':
-			case 'M':  case 'N':  case 'O':  case 'P':
-			case 'Q':  case 'R':  case 'S':  case 'T':
-			case 'U':  case 'V':  case 'W':  case 'X':
-			case 'Y':  case 'Z':
-			{
-				matchRange('A','Z');
-				break;
-			}
-			case '_':
-			{
-				match('_');
-				break;
-			}
-			case '0':  case '1':  case '2':  case '3':
-			case '4':  case '5':  case '6':  case '7':
-			case '8':  case '9':
-			{
-				mDIGIT(false);
-				break;
-			}
-			default:
-			{
-				break _loop16;
-			}
-			}
-		} while (true);
-		}
-		_ttype = testLiteralsTable(_ttype);
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	protected final void mDIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = DIGIT;
-		int _saveIndex;
-		
-		matchRange('0','9');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mINT_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = INT_LITERAL;
-		int _saveIndex;
-		
-		{
-		int _cnt19=0;
-		_loop19:
-		do {
-			if (((LA(1) >= '0' && LA(1) <= '9'))) {
-				mDIGIT(false);
-			}
-			else {
-				if ( _cnt19>=1 ) { break _loop19; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
-			}
-			
-			_cnt19++;
-		} while (true);
-		}
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mWS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = WS;
-		int _saveIndex;
-		
-		{
-		int _cnt23=0;
-		_loop23:
-		do {
-			switch ( LA(1)) {
-			case ' ':
-			{
-				match(' ');
-				break;
-			}
-			case '\t':
-			{
-				match('\t');
-				break;
-			}
-			case '\u000c':
-			{
-				match('\f');
-				break;
-			}
-			case '\r':
-			{
-				match('\r');
-				break;
-			}
-			case '\n':
-			{
-				match('\n');
-				break;
-			}
-			default:
-			{
-				if ( _cnt23>=1 ) { break _loop23; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
-			}
-			}
-			_cnt23++;
-		} while (true);
-		}
-		_ttype = Token.SKIP;
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mSINGLE_LINE_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = SINGLE_LINE_COMMENT;
-		int _saveIndex;
-		
-		match("//");
-		{
-		_loop27:
-		do {
-			if ((_tokenSet_0.member(LA(1)))) {
-				{
-				match(_tokenSet_0);
-				}
-			}
-			else {
-				break _loop27;
-			}
-			
-		} while (true);
-		}
-		{
-		switch ( LA(1)) {
-		case '\n':
-		{
-			match('\n');
-			break;
-		}
-		case '\r':
-		{
-			match('\r');
-			break;
-		}
-		default:
-			{
-			}
-		}
-		}
-		_ttype = Token.SKIP;
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	
-	private static final long[] mk_tokenSet_0() {
-		long[] data = new long[8];
-		data[0]=-9224L;
-		for (int i = 1; i<=3; i++) { data[i]=-1L; }
-		return data;
-	}
-	public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
-	
-	}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameLexer.smap b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameLexer.smap
deleted file mode 100644
index 0d48e09..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameLexer.smap
+++ /dev/null
@@ -1,208 +0,0 @@
-SMAP
-GameLexer.java
-G
-*S G
-*F
-+ 0 Game.g
-Game.g
-*L
-0:66
-0:85
-0:93
-0:100
-0:106
-3:3
-3:4
-3:5
-3:6
-100:136
-100:137
-100:138
-100:139
-100:141
-100:142
-100:143
-100:144
-100:145
-100:146
-100:147
-102:149
-102:150
-102:151
-102:152
-102:234
-102:235
-102:236
-102:237
-102:238
-102:239
-102:240
-103:155
-103:156
-103:157
-103:158
-103:159
-103:160
-103:161
-103:162
-103:163
-103:164
-103:167
-103:168
-103:169
-103:170
-103:171
-103:172
-103:173
-103:174
-103:175
-103:178
-103:179
-103:180
-103:183
-103:184
-103:185
-103:186
-103:187
-103:189
-103:190
-103:191
-103:192
-103:193
-103:194
-103:195
-103:196
-103:197
-103:198
-103:199
-103:200
-103:201
-103:204
-103:205
-103:206
-103:207
-103:208
-103:209
-103:210
-103:211
-103:212
-103:215
-103:216
-103:217
-103:220
-103:221
-103:222
-103:223
-103:224
-103:227
-103:228
-103:229
-103:230
-103:231
-103:232
-103:233
-105:255
-105:256
-105:257
-105:258
-105:261
-105:262
-105:263
-105:264
-105:265
-105:266
-105:267
-105:268
-105:269
-105:271
-105:272
-105:273
-105:274
-105:275
-105:276
-105:277
-105:278
-105:279
-107:242
-107:243
-107:244
-107:245
-107:247
-107:248
-107:249
-107:250
-107:251
-107:252
-107:253
-109:281
-109:282
-109:283
-109:284
-109:287
-109:288
-109:289
-109:290
-109:291
-109:292
-109:293
-109:296
-109:297
-109:298
-109:301
-109:302
-109:303
-109:306
-109:307
-109:308
-109:311
-109:312
-109:313
-109:316
-109:317
-109:318
-109:319
-109:320
-109:321
-109:322
-109:323
-109:325
-109:326
-109:327
-109:328
-109:329
-109:330
-110:324
-113:332
-113:333
-113:334
-113:335
-113:337
-113:338
-113:339
-113:340
-113:341
-113:343
-113:345
-113:346
-113:347
-113:348
-113:350
-113:351
-113:353
-113:354
-113:355
-113:356
-113:359
-113:360
-113:361
-113:364
-113:366
-113:367
-113:370
-113:371
-113:372
-113:373
-113:374
-113:375
-114:369
-*E
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParser.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParser.java
deleted file mode 100644
index b685fd9..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParser.java
+++ /dev/null
@@ -1,297 +0,0 @@
-// $ANTLR : "Game.g" -> "GameParser.java"$
-
-package org.eclipse.gymnast.examples.game.lang.gen.parser;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.Command;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.CommandList;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.Direction;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.Move;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.OptReps;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.Shoot;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-import org.eclipse.gymnast.runtime.core.parser.ParseError;
-import org.eclipse.gymnast.runtime.core.parser.ParseWarning;
-
-import antlr.NoViableAltException;
-import antlr.ParserSharedInputState;
-import antlr.RecognitionException;
-import antlr.Token;
-import antlr.TokenBuffer;
-import antlr.TokenStream;
-import antlr.TokenStreamException;
-import antlr.collections.impl.BitSet;
-
-public class GameParser extends antlr.LLkParser       implements GameParserTokenTypes
- {
-
-    private ParseError createParseError(RecognitionException ex) {
-        return GameParserDriver.createParseError(ex);
-    }
-
-    private TokenInfo createTokenInfo(Token tok) {
-        if (tok == null) return null;
-        else return new TokenInfo(tok.getText(), tok.getColumn(), tok.getType());
-    }
-
-
-	private ParseContext _parseContext;
-	public void setParseContext(ParseContext parseContext) {
-		_parseContext = parseContext;
-	}
-	
-    public void reportError(RecognitionException ex) {
-        if (_parseContext != null) {
-        	_parseContext.addParseMessage(createParseError(ex));
-        }
-    }
-
-    public void reportError(String s) {
-        if (_parseContext != null) {
-        	_parseContext.addParseMessage(new ParseError(s, -1));
-        }
-    }
-
-    public void reportWarning(String s) {
-    	if (_parseContext != null) {
-        	_parseContext.addParseMessage(new ParseWarning(s, -1));
-        }
-    }
-
-
-protected GameParser(TokenBuffer tokenBuf, int k) {
-  super(tokenBuf,k);
-  tokenNames = _tokenNames;
-}
-
-public GameParser(TokenBuffer tokenBuf) {
-  this(tokenBuf,1);
-}
-
-protected GameParser(TokenStream lexer, int k) {
-  super(lexer,k);
-  tokenNames = _tokenNames;
-}
-
-public GameParser(TokenStream lexer) {
-  this(lexer,1);
-}
-
-public GameParser(ParserSharedInputState state) {
-  super(state,1);
-  tokenNames = _tokenNames;
-}
-
-	public final CommandList  commandList() throws RecognitionException, TokenStreamException {
-		 CommandList retVal = new CommandList() ;
-		
-		
-		try {      // for error handling
-			Command command = null;
-			{
-			_loop3:
-			do {
-				if ((LA(1)==INT_LITERAL||LA(1)==LITERAL_fire||LA(1)==LITERAL_move)) {
-					command=command();
-					retVal.addChild(command);
-				}
-				else {
-					break _loop3;
-				}
-				
-			} while (true);
-			}
-			match(Token.EOF_TYPE);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			recover(ex,_tokenSet_0);
-		}
-		return retVal;
-	}
-	
-	public final Command  command() throws RecognitionException, TokenStreamException {
-		 Command retVal = null ;
-		
-		
-		try {      // for error handling
-			OptReps optReps = null;
-			optReps=optReps();
-			{
-			switch ( LA(1)) {
-			case LITERAL_fire:
-			{
-				retVal=shoot(optReps);
-				break;
-			}
-			case LITERAL_move:
-			{
-				retVal=move(optReps);
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			recover(ex,_tokenSet_1);
-		}
-		return retVal;
-	}
-	
-	public final OptReps  optReps() throws RecognitionException, TokenStreamException {
-		 OptReps retVal = null ;
-		
-		Token  reps = null;
-		
-		try {      // for error handling
-			{
-			switch ( LA(1)) {
-			case INT_LITERAL:
-			{
-				reps = LT(1);
-				match(INT_LITERAL);
-				break;
-			}
-			case LITERAL_fire:
-			case LITERAL_move:
-			{
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			retVal = new OptReps(createTokenInfo(reps));
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			recover(ex,_tokenSet_2);
-		}
-		return retVal;
-	}
-	
-	public final Shoot  shoot(
-		 OptReps optReps 
-	) throws RecognitionException, TokenStreamException {
-		 Shoot retVal = null ;
-		
-		Token  fire_KW = null;
-		Token  semi = null;
-		
-		try {      // for error handling
-			fire_KW = LT(1);
-			match(LITERAL_fire);
-			semi = LT(1);
-			match(SEMI);
-			retVal = new Shoot(optReps, createTokenInfo(fire_KW), createTokenInfo(semi));
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			recover(ex,_tokenSet_1);
-		}
-		return retVal;
-	}
-	
-	public final Move  move(
-		 OptReps optReps 
-	) throws RecognitionException, TokenStreamException {
-		 Move retVal = null ;
-		
-		Token  move_KW = null;
-		Token  semi = null;
-		
-		try {      // for error handling
-			Direction direction = null;
-			move_KW = LT(1);
-			match(LITERAL_move);
-			direction=direction();
-			semi = LT(1);
-			match(SEMI);
-			retVal = new Move(optReps, createTokenInfo(move_KW), direction, createTokenInfo(semi));
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			recover(ex,_tokenSet_1);
-		}
-		return retVal;
-	}
-	
-	public final Direction  direction() throws RecognitionException, TokenStreamException {
-		 Direction retVal = null ;
-		
-		Token tok = LT(1);
-		
-		try {      // for error handling
-			{
-			switch ( LA(1)) {
-			case LITERAL_left:
-			{
-				match(LITERAL_left);
-				break;
-			}
-			case LITERAL_right:
-			{
-				match(LITERAL_right);
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			retVal = new Direction(createTokenInfo(tok));
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			recover(ex,_tokenSet_3);
-		}
-		return retVal;
-	}
-	
-	
-	public static final String[] _tokenNames = {
-		"<0>",
-		"EOF",
-		"<2>",
-		"NULL_TREE_LOOKAHEAD",
-		"INT_LITERAL",
-		"\"fire\"",
-		"SEMI",
-		"\"move\"",
-		"\"left\"",
-		"\"right\"",
-		"ID",
-		"DIGIT",
-		"WS",
-		"SINGLE_LINE_COMMENT"
-	};
-	
-	private static final long[] mk_tokenSet_0() {
-		long[] data = { 2L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
-	private static final long[] mk_tokenSet_1() {
-		long[] data = { 178L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
-	private static final long[] mk_tokenSet_2() {
-		long[] data = { 160L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
-	private static final long[] mk_tokenSet_3() {
-		long[] data = { 64L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3());
-	
-	}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParser.smap b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParser.smap
deleted file mode 100644
index 6c690d2..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParser.smap
+++ /dev/null
@@ -1,173 +0,0 @@
-SMAP
-GameParser.java
-G
-*S G
-*F
-+ 0 Game.g
-Game.g
-*L
-3:3
-3:4
-3:5
-3:6
-13:25
-14:26
-15:27
-17:29
-18:30
-19:31
-20:32
-23:35
-24:36
-25:37
-26:38
-28:40
-29:41
-30:42
-31:43
-32:44
-34:46
-35:47
-36:48
-37:49
-38:50
-40:52
-41:53
-42:54
-43:55
-44:56
-48:82
-48:83
-48:86
-48:102
-48:103
-48:104
-48:105
-48:106
-48:107
-48:108
-50:87
-51:88
-51:89
-51:90
-51:91
-51:92
-51:93
-51:94
-51:95
-51:96
-51:97
-51:99
-51:100
-51:101
-54:110
-54:111
-54:114
-54:135
-54:136
-54:137
-54:138
-54:139
-54:140
-54:141
-56:115
-57:116
-58:118
-58:119
-58:120
-58:121
-58:129
-58:130
-58:131
-58:132
-58:133
-59:124
-59:125
-59:126
-63:143
-63:144
-63:148
-63:169
-63:170
-63:171
-63:172
-63:173
-63:174
-63:175
-65:146
-65:150
-65:151
-65:152
-65:153
-65:154
-65:162
-65:163
-65:164
-65:165
-65:166
-66:168
-69:177
-69:178
-69:179
-69:180
-69:185
-69:191
-69:192
-69:193
-69:194
-69:195
-69:196
-69:197
-71:182
-71:183
-71:186
-71:187
-71:188
-71:189
-72:190
-75:199
-75:200
-75:201
-75:202
-75:207
-75:215
-75:216
-75:217
-75:218
-75:219
-75:220
-75:221
-77:208
-78:204
-78:205
-78:209
-78:210
-78:211
-78:212
-78:213
-79:214
-82:223
-82:224
-82:226
-82:228
-82:248
-82:249
-82:250
-82:251
-82:252
-82:253
-82:254
-84:230
-84:231
-84:232
-84:233
-84:241
-84:242
-84:243
-84:244
-84:245
-85:236
-85:237
-85:238
-87:247
-*E
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParserDriver.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParserDriver.java
deleted file mode 100644
index ab325d4..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParserDriver.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.eclipse.gymnast.examples.game.lang.gen.parser;
-
-import java.io.Reader;
-
-import org.eclipse.gymnast.examples.game.lang.gen.ast.CommandList;
-import org.eclipse.gymnast.runtime.core.parser.IParser;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-import org.eclipse.gymnast.runtime.core.parser.ParseError;
-import org.eclipse.gymnast.runtime.core.parser.ParseMessage;
-
-import antlr.MismatchedCharException;
-import antlr.MismatchedTokenException;
-import antlr.NoViableAltException;
-import antlr.NoViableAltForCharException;
-import antlr.RecognitionException;
-import antlr.TokenStreamRecognitionException;
-
-/**
- *
- * @generated by Gymnast from game.ast on Jun 7, 2006 1:11:57 AM
- */
-public class GameParserDriver implements IParser {
-
-	public ParseContext parse(Reader input) {
-		GameLexer lexer = new GameLexer(input);
-		lexer.setColumn(0);
-		lexer.setTabSize(1);
-
-		GameParser parser = new GameParser(lexer);
-		ParseContext parseContext = new ParseContext();
-		parser.setParseContext(parseContext);
-		
-		CommandList compUnit = parseCompUnit(parser, parseContext);
-	
-		if (parseContext.getMessageCount() == 0) {
-			System.out.println("Parse OK!");
-		}
-		else {
-			ParseMessage[] msgs = parseContext.getMessages();
-			for (int i = 0; i < msgs.length; i++) {
-				System.err.println(msgs[i].getMessage());
-			}
-		}
-		
-		return parseContext;
-	}
-	
-	private CommandList parseCompUnit(GameParser parser, ParseContext parseContext) {
-	    try {
-	        CommandList compUnit = parser.commandList();
-	        parseContext.setParseRoot(compUnit);
-	        return compUnit;
-	    }
-	    catch (RecognitionException rex) {
-	        parseContext.addParseMessage(createParseError(rex));
-	    }
-	    catch (TokenStreamRecognitionException tex) {
-	    	RecognitionException rex = tex.recog;
-	        parseContext.addParseMessage(createParseError(rex));
-	    }
-	    catch (Exception ex) {
-	        parseContext.addParseMessage(new ParseError(ex.getMessage(), 1));
-	    }
-	    return null;
-	}
-
-	static ParseError createParseError(RecognitionException ex) {
-		String message = ex.getMessage();
-		int offset = ex.getColumn();
-		int length = 0;
-
-		if (ex instanceof MismatchedCharException) {
-			length = 1;
-		} else if (ex instanceof MismatchedTokenException) {
-			MismatchedTokenException ex2 = (MismatchedTokenException) ex;
-			if ((ex2.token != null) && (ex2.token.getText() != null)) {
-				length = ex2.token.getText().length();
-			}
-		} else if (ex instanceof NoViableAltException) {
-			NoViableAltException ex2 = (NoViableAltException) ex;
-			if ((ex2.token != null) && (ex2.token.getText() != null)) {
-				length = ex2.token.getText().length();
-			}
-		} else if (ex instanceof NoViableAltForCharException) {
-			length = 1;
-		}
-		
-		return new ParseError(message, offset, length);
-	}
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParserTokenTypes.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParserTokenTypes.java
deleted file mode 100644
index 639cb26..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParserTokenTypes.java
+++ /dev/null
@@ -1,18 +0,0 @@
-// $ANTLR : "Game.g" -> "GameLexer.java"$
-
-package org.eclipse.gymnast.examples.game.lang.gen.parser;
-
-public interface GameParserTokenTypes {
-	int EOF = 1;
-	int NULL_TREE_LOOKAHEAD = 3;
-	int INT_LITERAL = 4;
-	int LITERAL_fire = 5;
-	int SEMI = 6;
-	int LITERAL_move = 7;
-	int LITERAL_left = 8;
-	int LITERAL_right = 9;
-	int ID = 10;
-	int DIGIT = 11;
-	int WS = 12;
-	int SINGLE_LINE_COMMENT = 13;
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParserTokenTypes.txt b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParserTokenTypes.txt
deleted file mode 100644
index 69d6501..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/lang/gen/parser/GameParserTokenTypes.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-// $ANTLR : Game.g -> GameParserTokenTypes.txt$
-GameParser    // output token vocab name
-INT_LITERAL=4
-LITERAL_fire="fire"=5
-SEMI=6
-LITERAL_move="move"=7
-LITERAL_left="left"=8
-LITERAL_right="right"=9
-ID=10
-DIGIT=11
-WS=12
-SINGLE_LINE_COMMENT=13
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameCodeScanner.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameCodeScanner.java
deleted file mode 100644
index 99630c0..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameCodeScanner.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.examples.game.ui;
-
-import org.eclipse.gymnast.runtime.ui.editor.LDTCodeScanner;
-import org.eclipse.gymnast.runtime.ui.util.LDTColorProvider;
-import org.eclipse.swt.SWT;
-
-public class GameCodeScanner extends LDTCodeScanner {
-    
-    private static final String[] COMMANDS = {"fire", "move"};
-    private static final String[] DIRECTIONS = {"left", "right"};
-    
-    public void initKeywords() {
-        addKeywords(COMMANDS, LDTColorProvider.BLUE);
-        addKeywords(DIRECTIONS, LDTColorProvider.DARK_GREEN, null, SWT.BOLD);
-    }
-
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameEditor.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameEditor.java
deleted file mode 100644
index 09f5b2c..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameEditor.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.examples.game.ui;
-
-import org.eclipse.gymnast.runtime.ui.editor.LDTEditor;
-import org.eclipse.gymnast.runtime.ui.editor.LDTSourceViewerConfiguration;
-import org.eclipse.gymnast.runtime.ui.outline.LDTOutlineConfiguration;
-
-public class GameEditor extends LDTEditor {
-    
-    protected LDTSourceViewerConfiguration createSourceViewerConfiguration() {
-        return new GameSourceViewerConfiguration(this);
-    }
-    
-    protected LDTOutlineConfiguration createOutlineConfiguration() {
-        return new GameOutlineConfiguration(this);
-    }
-    
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameEditorActionContributor.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameEditorActionContributor.java
deleted file mode 100644
index 14da78c..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameEditorActionContributor.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.examples.game.ui;
-
-import org.eclipse.gymnast.runtime.ui.editor.LDTEditorActionContributor;
-
-public class GameEditorActionContributor extends LDTEditorActionContributor {
-
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameOutlineBuilder.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameOutlineBuilder.java
deleted file mode 100644
index 4436ba0..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameOutlineBuilder.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.examples.game.ui;
-
-import org.eclipse.gymnast.examples.game.lang.gen.ast.CommandList;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.GameASTNodeVisitor;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.Move;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.Shoot;
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-import org.eclipse.gymnast.runtime.core.outline.IOutlineBuilder;
-import org.eclipse.gymnast.runtime.core.outline.OutlineNode;
-
-public class GameOutlineBuilder implements IOutlineBuilder {
-    
-    public OutlineNode[] buildOutline(ASTNode parseRoot) {
-        
-        if (parseRoot instanceof CommandList) {
-            CommandList commandList = (CommandList)parseRoot;
-            
-            final OutlineNode root = new OutlineNode(commandList, "Commands");
-            
-            new GameASTNodeVisitor() {
-                public boolean beginVisit(Move move) {
-					if (move.getDirection() == null) {
-						OutlineNode n = new OutlineNode(move, "move ?");
-	                    root.addChild(n);
-					}
-					else {
-	                    String text = move.getDirection().getText();
-	                    if (move.getOptReps().getReps() != null) {
-	                        text += " (x" + move.getOptReps().getReps().getText() + ")";
-	                    }
-	                    OutlineNode n = new OutlineNode(move, text);
-	                    root.addChild(n);
-					}
-                    return false;
-                }
-                public boolean beginVisit(Shoot shoot) {
-                    String text = shoot.getFire_KW().getText();
-                    if (shoot.getOptReps().getReps() != null) {
-                        text += " (x" + shoot.getOptReps().getReps().getText() + ")";
-                    }
-                    OutlineNode n = new OutlineNode(shoot, text);
-                    root.addChild(n);
-                    return false;
-                }
-            }.visit(commandList);
-            
-            return new OutlineNode[] {root};
-        }
-        
-        return null;
-    }
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameOutlineConfiguration.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameOutlineConfiguration.java
deleted file mode 100644
index 2361474..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameOutlineConfiguration.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.examples.game.ui;
-
-import org.eclipse.gymnast.runtime.core.outline.IOutlineBuilder;
-import org.eclipse.gymnast.runtime.ui.outline.LDTOutlineConfiguration;
-
-public class GameOutlineConfiguration extends LDTOutlineConfiguration {
-    
-    public GameOutlineConfiguration(GameEditor editor) {
-        super(editor);
-    }
-    
-    public IOutlineBuilder getOutlineBuilder() {
-        return new GameOutlineBuilder();
-    }
-
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GamePlayAction.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GamePlayAction.java
deleted file mode 100644
index d0b81cd..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GamePlayAction.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.examples.game.ui;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.CommandList;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.GameASTNodeVisitor;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.Move;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.OptReps;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.Shoot;
-import org.eclipse.gymnast.examples.game.lang.gen.parser.GameParserDriver;
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class GamePlayAction implements IObjectActionDelegate {
-    
-    private IFile _file;
-
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-	
-	public void selectionChanged(IAction action, ISelection selection) {
-		_file = null;
-		
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection sel = (IStructuredSelection)selection;
-			Object selElem = sel.getFirstElement();
-			if (selElem instanceof IFile) {
-				_file = (IFile)selElem;
-			}
-		}
-	}
-	
-	public void run(IAction action) {
-	    if (_file != null) {
-	        try {
-	    		BufferedReader reader = new BufferedReader(new InputStreamReader(_file.getContents()));
-	    		GameParserDriver parser = new GameParserDriver();
-	    		ParseContext parseContext = parser.parse(reader);
-	    		
-	    		if (parseContext.hasErrors()) {
-	    		    System.out.println("Error in parse!");
-	    		}
-	    		else {
-	    		    ASTNode root = parseContext.getParseRoot();
-	    		    if (root instanceof CommandList) {
-	    		        play((CommandList)root);
-	    		    }
-	    		}
-	        }
-	        catch (Exception ex) {
-	            ex.printStackTrace();
-	        }
-	    }
-	}
-	
-	private void play(CommandList commandList) {
-	    new GameASTNodeVisitor() {
-	        
-	        public boolean beginVisit(Move move) {
-	            String text = move.getDirection().getText().toUpperCase();
-	            int reps = getReps(move.getOptReps());
-	            println(text, reps);
-                return false;
-            }
-	        public boolean beginVisit(Shoot shoot) {
-	            String text = shoot.getFire_KW().getText().toUpperCase();
-	            int reps = getReps(shoot.getOptReps());
-	            println(text, reps);
-                return false;
-            }
-	        
-	    }.visit(commandList);
-	}
-	
-	private int getReps(OptReps optReps) {
-	    if (optReps.getReps() == null) return 1;
-	    String reps = optReps.getReps().getText();
-	    return Integer.parseInt(reps);
-	}
-	
-	private void println(String text, int times) {
-	    for (int i = 0; i < times; i++) {
-	        System.out.print(text + " ");
-	    }
-	    System.out.println();
-	}
-    
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameSourceViewerConfiguration.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameSourceViewerConfiguration.java
deleted file mode 100644
index 7223b97..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameSourceViewerConfiguration.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.examples.game.ui;
-
-import org.eclipse.gymnast.examples.game.lang.gen.parser.GameParserDriver;
-import org.eclipse.gymnast.runtime.core.parser.IParser;
-import org.eclipse.gymnast.runtime.ui.editor.LDTCodeScanner;
-import org.eclipse.gymnast.runtime.ui.editor.LDTSourceViewerConfiguration;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.source.ISourceViewer;
-
-public class GameSourceViewerConfiguration extends LDTSourceViewerConfiguration {
-    
-    private final GameTextHover _textHover;
-    
-    public GameSourceViewerConfiguration(GameEditor editor) {
-        super(editor);
-        _textHover = new GameTextHover(editor);
-    }
-    
-    public LDTCodeScanner createCodeScanner() {
-        return new GameCodeScanner();
-    }
-    
-    public IParser getParser() {
-        return new GameParserDriver();
-    }
-    
-    public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType) {
-        return _textHover;
-    }
-    
-    public ITextHover getTextHover(ISourceViewer sourceViewer, String contentType, int stateMask) {
-        return _textHover;
-    }
-
-}
diff --git a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameTextHover.java b/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameTextHover.java
deleted file mode 100644
index 883a522..0000000
--- a/examples/org.eclipse.gymnast.examples.game/src/org/eclipse/gymnast/examples/game/ui/GameTextHover.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.examples.game.ui;
-
-import org.eclipse.gymnast.examples.game.lang.gen.ast.Move;
-import org.eclipse.gymnast.examples.game.lang.gen.ast.Shoot;
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-import org.eclipse.jface.text.IRegion;
-import org.eclipse.jface.text.ITextHover;
-import org.eclipse.jface.text.ITextViewer;
-import org.eclipse.jface.text.Region;
-
-public class GameTextHover implements ITextHover {
-    
-    private final GameEditor _editor;
-    private final Class[] _hoverClasses;
-    
-    public GameTextHover(GameEditor editor) {
-        _editor = editor;
-        _hoverClasses = new Class[] {
-                Move.class,
-                Shoot.class
-        };
-    }
-    
-    public String getHoverInfo(ITextViewer textViewer, IRegion hoverRegion) {
-        if (hoverRegion != null) {
-            ASTNode rootNode = _editor.getParseRoot();
-            if (rootNode != null) {
-                ASTNode hoverNode = rootNode.getNodeAt(hoverRegion.getOffset(), hoverRegion.getLength(), _hoverClasses, true);
-                if (hoverNode != null) return getHoverInfo(hoverNode);
-            }
-        }
-        return null;
-    }
-    
-    public IRegion getHoverRegion(ITextViewer textViewer, int offset) {
-        return new Region(offset, 0);
-    }
-    
-    private String getHoverInfo(ASTNode hoverNode) {
-        if (hoverNode instanceof Move) {
-            return "MOVE!";
-        }
-        else if (hoverNode instanceof Shoot) {
-            return "BANG!";
-        }
-        else return null;
-    }
-    
-}
diff --git a/features/org.eclipse.emf.emfatic.all.runtime-feature/.project b/features/org.eclipse.emf.emfatic.all.runtime-feature/.project
deleted file mode 100644
index f52ef8d..0000000
--- a/features/org.eclipse.emf.emfatic.all.runtime-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.emf.emfatic.all.runtime-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.emf.emfatic.all.runtime-feature/build.properties b/features/org.eclipse.emf.emfatic.all.runtime-feature/build.properties
deleted file mode 100644
index 64f93a9..0000000
--- a/features/org.eclipse.emf.emfatic.all.runtime-feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/features/org.eclipse.emf.emfatic.all.runtime-feature/feature.xml b/features/org.eclipse.emf.emfatic.all.runtime-feature/feature.xml
deleted file mode 100644
index b881d4e..0000000
--- a/features/org.eclipse.emf.emfatic.all.runtime-feature/feature.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.emf.emfatic.all.runtime"
-      label="EMFatic All Runtime (Incubation)"
-      version="0.7.0.qualifier">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <includes
-         id="org.eclipse.emf.emfatic"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.emf.emfatic.all.sdk-feature/.project b/features/org.eclipse.emf.emfatic.all.sdk-feature/.project
deleted file mode 100644
index 002817c..0000000
--- a/features/org.eclipse.emf.emfatic.all.sdk-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.emf.emfatic.all.sdk-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.emf.emfatic.all.sdk-feature/build.properties b/features/org.eclipse.emf.emfatic.all.sdk-feature/build.properties
deleted file mode 100644
index 64f93a9..0000000
--- a/features/org.eclipse.emf.emfatic.all.sdk-feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/features/org.eclipse.emf.emfatic.all.sdk-feature/feature.xml b/features/org.eclipse.emf.emfatic.all.sdk-feature/feature.xml
deleted file mode 100644
index b1be663..0000000
--- a/features/org.eclipse.emf.emfatic.all.sdk-feature/feature.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.emf.emfatic.all.sdk"
-      label="All EMFatic Sdk (Incubation)"
-      version="0.7.0.qualifier">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <includes
-         id="org.eclipse.emf.emfatic.sdk"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.emf.emfatic.sdk-feature/.project b/features/org.eclipse.emf.emfatic.sdk-feature/.project
deleted file mode 100644
index 688c150..0000000
--- a/features/org.eclipse.emf.emfatic.sdk-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.emf.emfatic.sdk-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.emf.emfatic.sdk-feature/build.properties b/features/org.eclipse.emf.emfatic.sdk-feature/build.properties
deleted file mode 100644
index 64f93a9..0000000
--- a/features/org.eclipse.emf.emfatic.sdk-feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/features/org.eclipse.emf.emfatic.sdk-feature/feature.xml b/features/org.eclipse.emf.emfatic.sdk-feature/feature.xml
deleted file mode 100644
index 0efbc78..0000000
--- a/features/org.eclipse.emf.emfatic.sdk-feature/feature.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.emf.emfatic.sdk"
-      label="EMFatic SDK (Incubation)"
-      version="0.7.0.qualifier">
-
-   <description url="http://www.example.com/description">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="http://www.example.com/copyright">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="http://www.example.com/license">
-      [Enter License Description here.]
-   </license>
-
-   <includes
-         id="org.eclipse.emf.emfatic"
-         version="0.0.0"/>
-
-</feature>
diff --git a/features/org.eclipse.gymnast.generator-feature/.project b/features/org.eclipse.gymnast.generator-feature/.project
deleted file mode 100644
index ad82b54..0000000
--- a/features/org.eclipse.gymnast.generator-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generator-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.gymnast.generator-feature/build.properties b/features/org.eclipse.gymnast.generator-feature/build.properties
deleted file mode 100644
index 64f93a9..0000000
--- a/features/org.eclipse.gymnast.generator-feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/features/org.eclipse.gymnast.generator-feature/feature.xml b/features/org.eclipse.gymnast.generator-feature/feature.xml
deleted file mode 100644
index 07083e5..0000000
--- a/features/org.eclipse.gymnast.generator-feature/feature.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.gymnast.generator"
-      label="Gymnast Generator (Incubation)"
-      version="0.7.0.qualifier"
-      provider-name="Eclipse.org">
-
-   <description url="http://www.sts.tu-harburg.de/%7Emi.garcia/SoC2007/GymnastSlides.pdf">
-      Gymnast is a framework for jumpstarting text editors for custom Domain Specific Languages. 
-      Gymnast comprises two main parts (Runtime and Generator), each of which can in
-      turn be divided into Core and User Interface. 
-      Technical documentation on how to use Gymnast can be found in Ch. 1 and 2 of the technical report &quot;Generation of Eclipse-based IDEs for
-Custom DSLs&quot;, to be found at http://www.sts.tu-harburg.de/%7Emi.garcia/SoC2007/draftreport.pdf
-
-  Gymnast is hosted as an EMFT component with Incubation status.
-   </description>
-
-   <copyright>
-      Copyright (c) 2006 IBM Corporation and others.
-   </copyright>
-
-   <license url="http://www.eclipse.org/legal/epl-v10.html">
-      Eclipse Public License - v 1.0
-   </license>
-
-   <requires>
-      <import plugin="org.antlr"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.jdt.core"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.gymnast.runtime.core"/>
-      <import plugin="org.eclipse.ui.console"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.gymnast.runtime.ui"/>
-      <import plugin="org.eclipse.text"/>
-      <import feature="org.eclipse.gymnast.runtime"/>
-      <import plugin="org.eclipse.emf.ecore"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.gymnast.generator.core"
-         download-size="0"
-         install-size="0"
-         version="0.7.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gymnast.generator.ui"
-         download-size="0"
-         install-size="0"
-         version="0.7.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gymnast.generators.parser.antlr"
-         download-size="0"
-         install-size="0"
-         version="0.7.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gymnast.generators.parser.javacc"
-         download-size="0"
-         install-size="0"
-         version="0.7.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gymnast.generators.ast.primordial"
-         download-size="0"
-         install-size="0"
-         version="0.7.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gymnast.generators.parser.lpg"
-         download-size="0"
-         install-size="0"
-         version="0.7.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gymnast.generator.doc.user"
-         download-size="0"
-         install-size="0"
-         version="0.7.0.qualifier"/>
-
-</feature>
diff --git a/features/org.eclipse.gymnast.runtime-feature/.project b/features/org.eclipse.gymnast.runtime-feature/.project
deleted file mode 100644
index c8a6518..0000000
--- a/features/org.eclipse.gymnast.runtime-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.runtime-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/features/org.eclipse.gymnast.runtime-feature/build.properties b/features/org.eclipse.gymnast.runtime-feature/build.properties
deleted file mode 100644
index 64f93a9..0000000
--- a/features/org.eclipse.gymnast.runtime-feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/features/org.eclipse.gymnast.runtime-feature/feature.xml b/features/org.eclipse.gymnast.runtime-feature/feature.xml
deleted file mode 100644
index 6507c28..0000000
--- a/features/org.eclipse.gymnast.runtime-feature/feature.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.gymnast.runtime"
-      label="Gymnast Runtime (Incubation)"
-      version="0.7.0.qualifier"
-      provider-name="Eclipse.org">
-
-   <description url="http://www.sts.tu-harburg.de/%7Emi.garcia/SoC2007/GymnastSlides.pdf">
-      Gymnast is a framework for jumpstarting text editors for custom
-Domain Specific Languages. Gymnast comprises two main parts (Runtime and Generator), each of which can in turn be divided into Core and User Interface. 
-
-Technical documentation on how to use Gymnast can be found in
-Ch. 1 and 2 of the technical report &quot;Generation of Eclipse-based
-IDEs for Custom DSLs&quot;, to be found at http://www.sts.tu-harburg.de/%7Emi.garcia/SoC2007/draftreport.pdf
-
-Gymnast is hosted as an EMFT component with Incubation status.
-   </description>
-
-   <copyright>
-      Copyright (c) 2006 IBM Corporation and others.
-   </copyright>
-
-   <license url="http://www.eclipse.org/legal/epl-v10.html">
-      Eclipse Public License - v 1.0
-   </license>
-
-   <requires>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.console"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.gymnast.runtime.core"
-         download-size="0"
-         install-size="0"
-         version="0.7.0.qualifier"
-         unpack="false"/>
-
-   <plugin
-         id="org.eclipse.gymnast.runtime.ui"
-         download-size="0"
-         install-size="0"
-         version="0.7.0.qualifier"
-         unpack="false"/>
-
-</feature>
diff --git a/plugins/org.eclipse.gymnast.generator.core/.classpath b/plugins/org.eclipse.gymnast.generator.core/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.gymnast.generator.core/.cvsignore b/plugins/org.eclipse.gymnast.generator.core/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/plugins/org.eclipse.gymnast.generator.core/.project b/plugins/org.eclipse.gymnast.generator.core/.project
deleted file mode 100644
index 86cf52a..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generator.core</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.gymnast.generator.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.gymnast.generator.core/META-INF/MANIFEST.MF
deleted file mode 100644
index 4757280..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,22 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.generator.core;singleton:=true
-Bundle-Version: 0.3.0.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.gymnast.generator.core.GymnastCorePlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: org.eclipse.gymnast.generator.core,
- org.eclipse.gymnast.generator.core.ast,
- org.eclipse.gymnast.generator.core.generator,
- org.eclipse.gymnast.generator.core.parser,
- org.eclipse.gymnast.generator.core.registry
-Require-Bundle: org.antlr,
- org.eclipse.core.resources,
- org.eclipse.jdt.core,
- org.eclipse.ui,
- org.eclipse.ui.views,
- org.eclipse.core.runtime,
- org.eclipse.gymnast.runtime.core
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.gymnast.generator.core/build.properties b/plugins/org.eclipse.gymnast.generator.core/build.properties
deleted file mode 100644
index 720c9fd..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/build.properties
+++ /dev/null
@@ -1,8 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.properties,\
-               plugin.xml,\
-               schema/
-
diff --git a/plugins/org.eclipse.gymnast.generator.core/plugin.properties b/plugins/org.eclipse.gymnast.generator.core/plugin.properties
deleted file mode 100644
index c9f4212..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/plugin.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-#/**
-# * <copyright>
-# *
-# * Copyright (c) 2004,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 - Initial API and implementation
-# *
-# * </copyright>
-# *
-# * $Id: plugin.properties,v 1.1 2008/01/15 06:19:18 cdaly Exp $
-# */
-
-# NLS_MESSAGEFORMAT_VAR
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
-
-Plugin.name = Gymnast Generator Core
-Plugin.providerName = Eclipse.org
diff --git a/plugins/org.eclipse.gymnast.generator.core/plugin.xml b/plugins/org.eclipse.gymnast.generator.core/plugin.xml
deleted file mode 100644
index 7525f74..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-   <extension-point id="parserGenerators" name="Gymnast Parser Generators" schema="schema/parserGenerators.exsd"/>
-   <extension-point id="astGenerators" name="Gymnast AST Generators" schema="schema/astGenerators.exsd"/>
-
-</plugin>
diff --git a/plugins/org.eclipse.gymnast.generator.core/schema/astGenerators.exsd b/plugins/org.eclipse.gymnast.generator.core/schema/astGenerators.exsd
deleted file mode 100644
index a09fe29..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/schema/astGenerators.exsd
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.gymnast.generator.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.gymnast.generator.core" id="astGenerators" name="Gymnast AST Generators"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="astGenerator" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="astGenerator">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.gymnast.generator.core.registry.ASTGenerator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.gymnast.generator.core/schema/parserGenerators.exsd b/plugins/org.eclipse.gymnast.generator.core/schema/parserGenerators.exsd
deleted file mode 100644
index 15ccff4..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/schema/parserGenerators.exsd
+++ /dev/null
@@ -1,102 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.gymnast.generator.core">
-<annotation>
-      <appInfo>
-         <meta.schema plugin="org.eclipse.gymnast.generator.core" id="parserGenerators" name="Gymnast Parser Generators"/>
-      </appInfo>
-      <documentation>
-         [Enter description of this extension point.]
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <complexType>
-         <sequence>
-            <element ref="parserGenerator" minOccurs="1" maxOccurs="unbounded"/>
-         </sequence>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="parserGenerator">
-      <complexType>
-         <attribute name="id" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="description" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="class" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appInfo>
-                  <meta.attribute kind="java" basedOn="org.eclipse.gymnast.generator.core.registry.ParserGenerator"/>
-               </appInfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="since"/>
-      </appInfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="examples"/>
-      </appInfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="apiInfo"/>
-      </appInfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="implementation"/>
-      </appInfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appInfo>
-         <meta.section type="copyright"/>
-      </appInfo>
-      <documentation>
-         
-      </documentation>
-   </annotation>
-
-</schema>
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/GymnastCorePlugin.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/GymnastCorePlugin.java
deleted file mode 100644
index 1e40d8c..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/GymnastCorePlugin.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.core.runtime.Plugin;
-
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class GymnastCorePlugin extends Plugin {
-	//The shared instance.
-	private static GymnastCorePlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public GymnastCorePlugin() {
-		plugin = this;
-		try {
-			resourceBundle   = ResourceBundle.getBundle("org.eclipse.gymnast.generator.core.GymnastCorePluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static GymnastCorePlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = GymnastCorePlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRule.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRule.java
deleted file mode 100644
index f83f683..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRule.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class AltRule extends Rule  {
-
-
-	private AltRuleDecl _decl;
-	private AltRuleBody _body;
-	private GymnastTokenNode _semi;
-
-	public AltRuleDecl getDecl() {
-		return _decl;
-	}
-	public AltRuleBody getBody() {
-		return _body;
-	}
-	public GymnastTokenNode getSemi() {
-		return _semi;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_decl != null) count++;
-		if (_body != null) count++;
-		if (_semi != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_decl != null) && (++count == index)) return _decl;
-		if ((_body != null) && (++count == index)) return _body;
-		if ((_semi != null) && (++count == index)) return _semi;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new AltRule.
-	 */
-	public AltRule(
-		AltRuleDecl decl,
-		AltRuleBody body,
-		Token semi
-	) {
-		super();
-
-		if (decl != null) {
-			_decl = decl;
-			if (_decl._parent != null) throw new RuntimeException();
-			_decl._parent = this;
-		}
-		if (body != null) {
-			_body = body;
-			if (_body._parent != null) throw new RuntimeException();
-			_body._parent = this;
-		}
-		if (semi != null) {
-			_semi = new GymnastTokenNode(semi);
-			if (_semi._parent != null) throw new RuntimeException();
-			_semi._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRuleBody.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRuleBody.java
deleted file mode 100644
index d655c6e..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRuleBody.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class AltRuleBody extends GymnastASTNode  {
-
-
-	private AltSeq _preSeq;
-	private Alts _alts;
-	private AltSeq _postSeq;
-
-	public AltSeq getPreSeq() {
-		return _preSeq;
-	}
-	public Alts getAlts() {
-		return _alts;
-	}
-	public AltSeq getPostSeq() {
-		return _postSeq;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_preSeq != null) count++;
-		if (_alts != null) count++;
-		if (_postSeq != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_preSeq != null) && (++count == index)) return _preSeq;
-		if ((_alts != null) && (++count == index)) return _alts;
-		if ((_postSeq != null) && (++count == index)) return _postSeq;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new AltRuleBody.
-	 */
-	public AltRuleBody(
-		AltSeq preSeq,
-		Alts alts,
-		AltSeq postSeq
-	) {
-		super();
-
-		if (preSeq != null) {
-			_preSeq = preSeq;
-			if (_preSeq._parent != null) throw new RuntimeException();
-			_preSeq._parent = this;
-		}
-		if (alts != null) {
-			_alts = alts;
-			if (_alts._parent != null) throw new RuntimeException();
-			_alts._parent = this;
-		}
-		if (postSeq != null) {
-			_postSeq = postSeq;
-			if (_postSeq._parent != null) throw new RuntimeException();
-			_postSeq._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRuleDecl.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRuleDecl.java
deleted file mode 100644
index 6ed02e6..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRuleDecl.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class AltRuleDecl extends GymnastASTNode  {
-
-
-	private AltRuleKind _kind;
-	private Id _name;
-	private Attrs _attrs;
-	private GymnastTokenNode _colon;
-
-	public AltRuleKind getKind() {
-		return _kind;
-	}
-	public Id getName() {
-		return _name;
-	}
-	public Attrs getAttrs() {
-		return _attrs;
-	}
-	public GymnastTokenNode getColon() {
-		return _colon;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_kind != null) count++;
-		if (_name != null) count++;
-		if (_attrs != null) count++;
-		if (_colon != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_kind != null) && (++count == index)) return _kind;
-		if ((_name != null) && (++count == index)) return _name;
-		if ((_attrs != null) && (++count == index)) return _attrs;
-		if ((_colon != null) && (++count == index)) return _colon;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new AltRuleDecl.
-	 */
-	public AltRuleDecl(
-		AltRuleKind kind,
-		Id name,
-		Attrs attrs,
-		Token colon
-	) {
-		super();
-
-		if (kind != null) {
-			_kind = kind;
-			if (_kind._parent != null) throw new RuntimeException();
-			_kind._parent = this;
-		}
-		if (name != null) {
-			_name = name;
-			if (_name._parent != null) throw new RuntimeException();
-			_name._parent = this;
-		}
-		if (attrs != null) {
-			_attrs = attrs;
-			if (_attrs._parent != null) throw new RuntimeException();
-			_attrs._parent = this;
-		}
-		if (colon != null) {
-			_colon = new GymnastTokenNode(colon);
-			if (_colon._parent != null) throw new RuntimeException();
-			_colon._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRuleKind.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRuleKind.java
deleted file mode 100644
index ba7a8df..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltRuleKind.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import antlr.Token;
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class AltRuleKind extends GymnastTokenNode {
-
-	public static final String KW_ABSTRACT = "abstract";
-	public static final String KW_CONTAINER = "container";
-	public static final String KW_INTERFACE = "interface";
-
-	
-	/**
-	 * Construct a new AltRuleKind.
-	 */
-	public AltRuleKind(Token token) {
-		super(token);
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltSeq.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltSeq.java
deleted file mode 100644
index 6543108..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AltSeq.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class AltSeq extends GymnastASTNode  {
-
-
-	private GymnastTokenNode _lparen;
-	private Seq _seq;
-	private GymnastTokenNode _rparen;
-
-	public GymnastTokenNode getLparen() {
-		return _lparen;
-	}
-	public Seq getSeq() {
-		return _seq;
-	}
-	public GymnastTokenNode getRparen() {
-		return _rparen;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_lparen != null) count++;
-		if (_seq != null) count++;
-		if (_rparen != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_lparen != null) && (++count == index)) return _lparen;
-		if ((_seq != null) && (++count == index)) return _seq;
-		if ((_rparen != null) && (++count == index)) return _rparen;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new AltSeq.
-	 */
-	public AltSeq(
-		Token lparen,
-		Seq seq,
-		Token rparen
-	) {
-		super();
-
-		if (lparen != null) {
-			_lparen = new GymnastTokenNode(lparen);
-			if (_lparen._parent != null) throw new RuntimeException();
-			_lparen._parent = this;
-		}
-		if (seq != null) {
-			_seq = seq;
-			if (_seq._parent != null) throw new RuntimeException();
-			_seq._parent = this;
-		}
-		if (rparen != null) {
-			_rparen = new GymnastTokenNode(rparen);
-			if (_rparen._parent != null) throw new RuntimeException();
-			_rparen._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Alts.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Alts.java
deleted file mode 100644
index c23d4f3..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Alts.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import java.util.ArrayList;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class Alts extends GymnastASTNode {
-
-	private ArrayList _children = new ArrayList();
-	
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		return _children.size();
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		return (ASTNode)_children.get(index);
-	}
-
-	/**
-	 * Add a child to this list.
-	 */
-	public void addChild(GymnastASTNode child) {
-		if (child == null) return;
-		if (child._parent != null) throw new RuntimeException();
-		_children.add(child);
-		child._parent = this;
-	}
-
-	/**
-	 * Wrap the provided Token in a GymnastTokenNode
-	 * and add it as a child of this node.
-	 * 
-	 * @param token the Token to be added as a child of this node
-	 */
-	public void addChild(Token token) {
-		addChild(new GymnastTokenNode(token));
-	}
-
-	/**
-	 * Construct a new Alts.
-	 */
-	public Alts() {
-		super();
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Atom.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Atom.java
deleted file mode 100644
index 625af34..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Atom.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import antlr.Token;
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class Atom extends GymnastTokenNode {
-
-	public static final String KW_ABSTRACT = "abstract";
-	public static final String KW_CONTAINER = "container";
-	public static final String KW_INTERFACE = "interface";
-	public static final String KW_LANGUAGE = "language";
-	public static final String KW_LIST = "list";
-	public static final String KW_OPTIONS = "options";
-	public static final String KW_SEQUENCE = "sequence";
-	public static final String KW_TOKEN = "token";
-
-	
-	/**
-	 * Construct a new Atom.
-	 */
-	public Atom(Token token) {
-		super(token);
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AttrList.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AttrList.java
deleted file mode 100644
index 7577ef0..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/AttrList.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import java.util.ArrayList;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class AttrList extends GymnastASTNode {
-
-	private ArrayList _children = new ArrayList();
-	
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		return _children.size();
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		return (ASTNode)_children.get(index);
-	}
-
-	/**
-	 * Add a child to this list.
-	 */
-	public void addChild(GymnastASTNode child) {
-		if (child == null) return;
-		if (child._parent != null) throw new RuntimeException();
-		_children.add(child);
-		child._parent = this;
-	}
-
-	/**
-	 * Wrap the provided Token in a GymnastTokenNode
-	 * and add it as a child of this node.
-	 * 
-	 * @param token the Token to be added as a child of this node
-	 */
-	public void addChild(Token token) {
-		addChild(new GymnastTokenNode(token));
-	}
-
-	/**
-	 * Construct a new AttrList.
-	 */
-	public AttrList() {
-		super();
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Attrs.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Attrs.java
deleted file mode 100644
index 4e190ff..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Attrs.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class Attrs extends GymnastASTNode  {
-
-
-	private GymnastTokenNode _lsquare;
-	private AttrList _attrList;
-	private GymnastTokenNode _rsquare;
-
-	public GymnastTokenNode getLsquare() {
-		return _lsquare;
-	}
-	public AttrList getAttrList() {
-		return _attrList;
-	}
-	public GymnastTokenNode getRsquare() {
-		return _rsquare;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_lsquare != null) count++;
-		if (_attrList != null) count++;
-		if (_rsquare != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_lsquare != null) && (++count == index)) return _lsquare;
-		if ((_attrList != null) && (++count == index)) return _attrList;
-		if ((_rsquare != null) && (++count == index)) return _rsquare;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new Attrs.
-	 */
-	public Attrs(
-		Token lsquare,
-		AttrList attrList,
-		Token rsquare
-	) {
-		super();
-
-		if (lsquare != null) {
-			_lsquare = new GymnastTokenNode(lsquare);
-			if (_lsquare._parent != null) throw new RuntimeException();
-			_lsquare._parent = this;
-		}
-		if (attrList != null) {
-			_attrList = attrList;
-			if (_attrList._parent != null) throw new RuntimeException();
-			_attrList._parent = this;
-		}
-		if (rsquare != null) {
-			_rsquare = new GymnastTokenNode(rsquare);
-			if (_rsquare._parent != null) throw new RuntimeException();
-			_rsquare._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/CompUnit.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/CompUnit.java
deleted file mode 100644
index daf8039..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/CompUnit.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class CompUnit extends GymnastASTNode  {
-
-
-	private HeaderSection _headerSection;
-	private Grammar _grammar;
-
-	public HeaderSection getHeaderSection() {
-		return _headerSection;
-	}
-	public Grammar getGrammar() {
-		return _grammar;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_headerSection != null) count++;
-		if (_grammar != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_headerSection != null) && (++count == index)) return _headerSection;
-		if ((_grammar != null) && (++count == index)) return _grammar;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new CompUnit.
-	 */
-	public CompUnit(
-		HeaderSection headerSection,
-		Grammar grammar
-	) {
-		super();
-
-		if (headerSection != null) {
-			_headerSection = headerSection;
-			if (_headerSection._parent != null) throw new RuntimeException();
-			_headerSection._parent = this;
-		}
-		if (grammar != null) {
-			_grammar = grammar;
-			if (_grammar._parent != null) throw new RuntimeException();
-			_grammar._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Expr.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Expr.java
deleted file mode 100644
index bef1922..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Expr.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public abstract class Expr extends GymnastASTNode {
-	/**
-	 * Construct a new Expr.
-	 */
-	public Expr() {
-		super();
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Grammar.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Grammar.java
deleted file mode 100644
index 9cfadb4..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Grammar.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import java.util.ArrayList;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class Grammar extends GymnastASTNode {
-
-	private ArrayList _children = new ArrayList();
-	
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		return _children.size();
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		return (ASTNode)_children.get(index);
-	}
-
-	/**
-	 * Add a child to this list.
-	 */
-	public void addChild(GymnastASTNode child) {
-		if (child == null) return;
-		if (child._parent != null) throw new RuntimeException();
-		_children.add(child);
-		child._parent = this;
-	}
-
-	/**
-	 * Wrap the provided Token in a GymnastTokenNode
-	 * and add it as a child of this node.
-	 * 
-	 * @param token the Token to be added as a child of this node
-	 */
-	public void addChild(Token token) {
-		addChild(new GymnastTokenNode(token));
-	}
-
-	/**
-	 * Construct a new Grammar.
-	 */
-	public Grammar() {
-		super();
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/GymnastASTNode.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/GymnastASTNode.java
deleted file mode 100644
index 70473f6..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/GymnastASTNode.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-import org.eclipse.gymnast.runtime.core.ast.ASTNodeImpl;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;
-
-import antlr.Token;
-
-
-/**
- * The superclass of all ASTNodes for language Gymnast.
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public abstract class GymnastASTNode extends ASTNodeImpl {
-
-	protected GymnastASTNode _parent;
-
-	/**
-	 * @return the parent of this ASTNode or null if this is the root node of a tree
-	 */
-	public ASTNode getParent() {
-		return _parent;
-	}
-
-	/**
-	 * Construct a new GymnastASTNode.
-	 */
-	public GymnastASTNode() {
-		super();
-	}
-
-	/**
-	 * Construct a new GymnastASTNode.
-	 *
-	 * @param token a Token to initialize the offset and text for this node.
-	 */
-	public GymnastASTNode(Token token) {
-		super(new TokenInfo(token.getText(), token.getColumn(), token.getType()));
-	}
-
-	/**
-	 * The external entry point used to initiate the visitor on this node.
-	 * 
-	 * @param visitor the Visitor to visit this node tree
-	 */
-	public final void accept(GymnastASTNodeVisitor visitor) {
-		visitor.preVisit(this);
-		acceptImpl(visitor);
-		visitor.postVisit(this);
-	}
-
-	/**
-	 * This method can be overridden by subclasses which should provide exactly
-	 * the same implementation.  Here <code>this</code> refers to the generic node
-	 * class, but in the subclass implementations <code>this</code> will refer to
-	 * the specific subclass type.  Thus the correct specific <code>beginVisit</code>
-	 * and <code>endVisit</code> methods will be invoked for each subclass and the
-	 * generic methods will be invoked for subclasses that don't need specific visitor
-	 * behavior.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-	/**
-	 * Iterate through the children of this node and accept the visitor on each.
-	 */
-	protected void visitChildren(GymnastASTNodeVisitor visitor) {
-		for (int i = 0; i < getChildCount(); i++) {
-			ASTNode child = getChild(i);
-			if (child instanceof GymnastASTNode) {
-				GymnastASTNode c = (GymnastASTNode)child;
-				c.accept(visitor);
-			}
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/GymnastASTNodeVisitor.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/GymnastASTNodeVisitor.java
deleted file mode 100644
index 4f14ed2..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/GymnastASTNodeVisitor.java
+++ /dev/null
@@ -1,882 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-/**
- * A Visitor pattern stub implementation for language Gymnast.
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class GymnastASTNodeVisitor {
-
-	/**
-	 * The external entry point used to perform a visit beginning at the given node.
-	 * 
-	 * @param node the GymnastASTNode to visit
-	 */
-	public final void visit(GymnastASTNode node) {
-		node.accept(this);
-	}
-
-	/**
-	 * Called just before <code>beginVisit</code> for each node being visited.
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param node the GymnastASTNode currently being visited
-	 */
-	public void preVisit(GymnastASTNode node) {
-	}
-
-	/**
-	 * Called just after <code>endVisit</code> for each node being visited.
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param node the GymnastASTNode currently being visited
-	 */
-	public void postVisit(GymnastASTNode node) {
-	}
-
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the generic one called for node types that
-	 * don't provide a specific overloaded form of <code>beginVisit</code>.
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param node the GymnastASTNode currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(GymnastASTNode node) {
-		return true;
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the generic one called for node types that
-	 * don't provide a specific overloaded form of <code>endVisit</code>.
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param node the GymnastASTNode currently being visited
-	 */
-	public void endVisit(GymnastASTNode node) {
-	}
-
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>GymnastTokenNode</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param tokenNode the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(GymnastTokenNode tokenNode) {
-		return beginVisit((GymnastASTNode)tokenNode);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>GymnastTokenNode</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param tokenNode the node currently being visited
-	 */
-	public void endVisit(GymnastTokenNode tokenNode) {
-		endVisit((GymnastASTNode)tokenNode);
-	}
-
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>CompUnit</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param compUnit the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(CompUnit compUnit) {
-		return beginVisit((GymnastASTNode)compUnit);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>CompUnit</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param compUnit the node currently being visited
-	 */
-	public void endVisit(CompUnit compUnit) {
-		endVisit((GymnastASTNode)compUnit);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>HeaderSection</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param headerSection the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(HeaderSection headerSection) {
-		return beginVisit((GymnastASTNode)headerSection);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>HeaderSection</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param headerSection the node currently being visited
-	 */
-	public void endVisit(HeaderSection headerSection) {
-		endVisit((GymnastASTNode)headerSection);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>OptionsSection</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param optionsSection the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(OptionsSection optionsSection) {
-		return beginVisit((GymnastASTNode)optionsSection);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>OptionsSection</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param optionsSection the node currently being visited
-	 */
-	public void endVisit(OptionsSection optionsSection) {
-		endVisit((GymnastASTNode)optionsSection);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>OptionList</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param optionList the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(OptionList optionList) {
-		return beginVisit((GymnastASTNode)optionList);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>OptionList</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param optionList the node currently being visited
-	 */
-	public void endVisit(OptionList optionList) {
-		endVisit((GymnastASTNode)optionList);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Option</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param option the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Option option) {
-		return beginVisit((GymnastASTNode)option);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Option</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param option the node currently being visited
-	 */
-	public void endVisit(Option option) {
-		endVisit((GymnastASTNode)option);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>OptionValue</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param optionValue the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(OptionValue optionValue) {
-		return beginVisit((GymnastTokenNode)optionValue);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>OptionValue</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param optionValue the node currently being visited
-	 */
-	public void endVisit(OptionValue optionValue) {
-		endVisit((GymnastTokenNode)optionValue);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Grammar</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param grammar the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Grammar grammar) {
-		return beginVisit((GymnastASTNode)grammar);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Grammar</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param grammar the node currently being visited
-	 */
-	public void endVisit(Grammar grammar) {
-		endVisit((GymnastASTNode)grammar);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Rule</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param rule the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Rule rule) {
-		return beginVisit((GymnastASTNode)rule);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Rule</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param rule the node currently being visited
-	 */
-	public void endVisit(Rule rule) {
-		endVisit((GymnastASTNode)rule);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>AltRule</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param altRule the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(AltRule altRule) {
-		return beginVisit((Rule)altRule);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>AltRule</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param altRule the node currently being visited
-	 */
-	public void endVisit(AltRule altRule) {
-		endVisit((Rule)altRule);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>AltRuleDecl</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param altRuleDecl the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(AltRuleDecl altRuleDecl) {
-		return beginVisit((GymnastASTNode)altRuleDecl);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>AltRuleDecl</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param altRuleDecl the node currently being visited
-	 */
-	public void endVisit(AltRuleDecl altRuleDecl) {
-		endVisit((GymnastASTNode)altRuleDecl);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>AltRuleKind</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param altRuleKind the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(AltRuleKind altRuleKind) {
-		return beginVisit((GymnastTokenNode)altRuleKind);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>AltRuleKind</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param altRuleKind the node currently being visited
-	 */
-	public void endVisit(AltRuleKind altRuleKind) {
-		endVisit((GymnastTokenNode)altRuleKind);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>AltRuleBody</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param altRuleBody the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(AltRuleBody altRuleBody) {
-		return beginVisit((GymnastASTNode)altRuleBody);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>AltRuleBody</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param altRuleBody the node currently being visited
-	 */
-	public void endVisit(AltRuleBody altRuleBody) {
-		endVisit((GymnastASTNode)altRuleBody);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Alts</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param alts the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Alts alts) {
-		return beginVisit((GymnastASTNode)alts);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Alts</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param alts the node currently being visited
-	 */
-	public void endVisit(Alts alts) {
-		endVisit((GymnastASTNode)alts);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>AltSeq</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param altSeq the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(AltSeq altSeq) {
-		return beginVisit((GymnastASTNode)altSeq);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>AltSeq</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param altSeq the node currently being visited
-	 */
-	public void endVisit(AltSeq altSeq) {
-		endVisit((GymnastASTNode)altSeq);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>ListRule</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param listRule the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(ListRule listRule) {
-		return beginVisit((Rule)listRule);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>ListRule</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param listRule the node currently being visited
-	 */
-	public void endVisit(ListRule listRule) {
-		endVisit((Rule)listRule);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>ListRuleDecl</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param listRuleDecl the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(ListRuleDecl listRuleDecl) {
-		return beginVisit((GymnastASTNode)listRuleDecl);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>ListRuleDecl</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param listRuleDecl the node currently being visited
-	 */
-	public void endVisit(ListRuleDecl listRuleDecl) {
-		endVisit((GymnastASTNode)listRuleDecl);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>ListRuleBody</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param listRuleBody the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(ListRuleBody listRuleBody) {
-		return beginVisit((GymnastASTNode)listRuleBody);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>ListRuleBody</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param listRuleBody the node currently being visited
-	 */
-	public void endVisit(ListRuleBody listRuleBody) {
-		endVisit((GymnastASTNode)listRuleBody);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>ListMark</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param listMark the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(ListMark listMark) {
-		return beginVisit((GymnastTokenNode)listMark);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>ListMark</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param listMark the node currently being visited
-	 */
-	public void endVisit(ListMark listMark) {
-		endVisit((GymnastTokenNode)listMark);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>SeqRule</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param seqRule the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(SeqRule seqRule) {
-		return beginVisit((Rule)seqRule);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>SeqRule</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param seqRule the node currently being visited
-	 */
-	public void endVisit(SeqRule seqRule) {
-		endVisit((Rule)seqRule);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>SeqRuleDecl</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param seqRuleDecl the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(SeqRuleDecl seqRuleDecl) {
-		return beginVisit((GymnastASTNode)seqRuleDecl);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>SeqRuleDecl</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param seqRuleDecl the node currently being visited
-	 */
-	public void endVisit(SeqRuleDecl seqRuleDecl) {
-		endVisit((GymnastASTNode)seqRuleDecl);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Seq</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param seq the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Seq seq) {
-		return beginVisit((GymnastASTNode)seq);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Seq</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param seq the node currently being visited
-	 */
-	public void endVisit(Seq seq) {
-		endVisit((GymnastASTNode)seq);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>TokenRule</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param tokenRule the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(TokenRule tokenRule) {
-		return beginVisit((Rule)tokenRule);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>TokenRule</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param tokenRule the node currently being visited
-	 */
-	public void endVisit(TokenRule tokenRule) {
-		endVisit((Rule)tokenRule);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>TokenRuleDecl</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param tokenRuleDecl the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(TokenRuleDecl tokenRuleDecl) {
-		return beginVisit((GymnastASTNode)tokenRuleDecl);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>TokenRuleDecl</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param tokenRuleDecl the node currently being visited
-	 */
-	public void endVisit(TokenRuleDecl tokenRuleDecl) {
-		endVisit((GymnastASTNode)tokenRuleDecl);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Expr</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param expr the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Expr expr) {
-		return beginVisit((GymnastASTNode)expr);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Expr</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param expr the node currently being visited
-	 */
-	public void endVisit(Expr expr) {
-		endVisit((GymnastASTNode)expr);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>OptSubSeq</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param optSubSeq the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(OptSubSeq optSubSeq) {
-		return beginVisit((Expr)optSubSeq);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>OptSubSeq</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param optSubSeq the node currently being visited
-	 */
-	public void endVisit(OptSubSeq optSubSeq) {
-		endVisit((Expr)optSubSeq);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>SimpleExpr</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param simpleExpr the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(SimpleExpr simpleExpr) {
-		return beginVisit((Expr)simpleExpr);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>SimpleExpr</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param simpleExpr the node currently being visited
-	 */
-	public void endVisit(SimpleExpr simpleExpr) {
-		endVisit((Expr)simpleExpr);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Attrs</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param attrs the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Attrs attrs) {
-		return beginVisit((GymnastASTNode)attrs);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Attrs</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param attrs the node currently being visited
-	 */
-	public void endVisit(Attrs attrs) {
-		endVisit((GymnastASTNode)attrs);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>AttrList</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param attrList the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(AttrList attrList) {
-		return beginVisit((GymnastASTNode)attrList);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>AttrList</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param attrList the node currently being visited
-	 */
-	public void endVisit(AttrList attrList) {
-		endVisit((GymnastASTNode)attrList);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Atom</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param atom the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Atom atom) {
-		return beginVisit((GymnastTokenNode)atom);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Atom</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param atom the node currently being visited
-	 */
-	public void endVisit(Atom atom) {
-		endVisit((GymnastTokenNode)atom);
-	}
-	/**
-	 * This is called, for each node being visited, just after <code>preVisit</code> and
-	 * before (optionally) visiting the children of the node.
-	 * This <code>beginVisit</code> method is the specific one called for nodes
-	 * of type <code>Id</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param id the node currently being visited
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node
-	 */
-	public boolean beginVisit(Id id) {
-		return beginVisit((GymnastTokenNode)id);
-	}
-
-	/**
-	 * This is called, for each node being visited, after <code>beginVisit</code> and
-	 * (optionally) visiting the children of the node and before <code>postVisit</code>.
-	 * This <code>endVisit</code> method is the specific one called for nodes
-	 * of type <code>Id</code>
-	 * This may be overridden to provide special behavior at that point in processing.
-	 * 
-	 * @param id the node currently being visited
-	 */
-	public void endVisit(Id id) {
-		endVisit((GymnastTokenNode)id);
-	}
-
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/GymnastTokenNode.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/GymnastTokenNode.java
deleted file mode 100644
index 0d2f2ba..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/GymnastTokenNode.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- * Represents a token in the language grammar.
- * Can be subclassed to represent specific token subgroups.
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class GymnastTokenNode extends GymnastASTNode {
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public final int getChildCount() {
-		// token rules cannot have children!
-		return 0;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public final ASTNode getChild(int index) {
-		// token rules cannot have children!
-		throw new IndexOutOfBoundsException();
-	}
-
-	/**
-	 * Construct a new GymnastTokenNode
-	 */
-	public GymnastTokenNode(Token token) {
-		super(token);
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/HeaderSection.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/HeaderSection.java
deleted file mode 100644
index 5c06eae..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/HeaderSection.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class HeaderSection extends GymnastASTNode  {
-
-	public static final String KW_LANGUAGE = "language";
-
-	private GymnastTokenNode _language_KW;
-	private Id _name;
-	private GymnastTokenNode _semi;
-	private OptionsSection _optionsSection;
-
-	public GymnastTokenNode getLanguage_KW() {
-		return _language_KW;
-	}
-	public Id getName() {
-		return _name;
-	}
-	public GymnastTokenNode getSemi() {
-		return _semi;
-	}
-	public OptionsSection getOptionsSection() {
-		return _optionsSection;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_language_KW != null) count++;
-		if (_name != null) count++;
-		if (_semi != null) count++;
-		if (_optionsSection != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_language_KW != null) && (++count == index)) return _language_KW;
-		if ((_name != null) && (++count == index)) return _name;
-		if ((_semi != null) && (++count == index)) return _semi;
-		if ((_optionsSection != null) && (++count == index)) return _optionsSection;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new HeaderSection.
-	 */
-	public HeaderSection(
-		Token language_KW,
-		Id name,
-		Token semi,
-		OptionsSection optionsSection
-	) {
-		super();
-
-		if (language_KW != null) {
-			_language_KW = new GymnastTokenNode(language_KW);
-			if (_language_KW._parent != null) throw new RuntimeException();
-			_language_KW._parent = this;
-		}
-		if (name != null) {
-			_name = name;
-			if (_name._parent != null) throw new RuntimeException();
-			_name._parent = this;
-		}
-		if (semi != null) {
-			_semi = new GymnastTokenNode(semi);
-			if (_semi._parent != null) throw new RuntimeException();
-			_semi._parent = this;
-		}
-		if (optionsSection != null) {
-			_optionsSection = optionsSection;
-			if (_optionsSection._parent != null) throw new RuntimeException();
-			_optionsSection._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Id.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Id.java
deleted file mode 100644
index 1941bf6..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Id.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import antlr.Token;
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class Id extends GymnastTokenNode {
-
-	public static final String KW_ABSTRACT = "abstract";
-	public static final String KW_CONTAINER = "container";
-	public static final String KW_INTERFACE = "interface";
-	public static final String KW_LANGUAGE = "language";
-	public static final String KW_LIST = "list";
-	public static final String KW_OPTIONS = "options";
-	public static final String KW_SEQUENCE = "sequence";
-	public static final String KW_TOKEN = "token";
-
-	
-	/**
-	 * Construct a new Id.
-	 */
-	public Id(Token token) {
-		super(token);
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListMark.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListMark.java
deleted file mode 100644
index f41137b..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListMark.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import antlr.Token;
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class ListMark extends GymnastTokenNode {
-
-
-	
-	/**
-	 * Construct a new ListMark.
-	 */
-	public ListMark(Token token) {
-		super(token);
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListRule.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListRule.java
deleted file mode 100644
index b7895eb..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListRule.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class ListRule extends Rule  {
-
-
-	private ListRuleDecl _decl;
-	private ListRuleBody _body;
-	private GymnastTokenNode _semi;
-
-	public ListRuleDecl getDecl() {
-		return _decl;
-	}
-	public ListRuleBody getBody() {
-		return _body;
-	}
-	public GymnastTokenNode getSemi() {
-		return _semi;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_decl != null) count++;
-		if (_body != null) count++;
-		if (_semi != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_decl != null) && (++count == index)) return _decl;
-		if ((_body != null) && (++count == index)) return _body;
-		if ((_semi != null) && (++count == index)) return _semi;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new ListRule.
-	 */
-	public ListRule(
-		ListRuleDecl decl,
-		ListRuleBody body,
-		Token semi
-	) {
-		super();
-
-		if (decl != null) {
-			_decl = decl;
-			if (_decl._parent != null) throw new RuntimeException();
-			_decl._parent = this;
-		}
-		if (body != null) {
-			_body = body;
-			if (_body._parent != null) throw new RuntimeException();
-			_body._parent = this;
-		}
-		if (semi != null) {
-			_semi = new GymnastTokenNode(semi);
-			if (_semi._parent != null) throw new RuntimeException();
-			_semi._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListRuleBody.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListRuleBody.java
deleted file mode 100644
index 34022cf..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListRuleBody.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class ListRuleBody extends GymnastASTNode  {
-
-
-	private SimpleExpr _listExpr;
-	private GymnastTokenNode _lparen;
-	private SimpleExpr _separator;
-	private SimpleExpr _listExpr2;
-	private GymnastTokenNode _rparen;
-	private ListMark _listMark;
-
-	public SimpleExpr getListExpr() {
-		return _listExpr;
-	}
-	public GymnastTokenNode getLparen() {
-		return _lparen;
-	}
-	public SimpleExpr getSeparator() {
-		return _separator;
-	}
-	public SimpleExpr getListExpr2() {
-		return _listExpr2;
-	}
-	public GymnastTokenNode getRparen() {
-		return _rparen;
-	}
-	public ListMark getListMark() {
-		return _listMark;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_listExpr != null) count++;
-		if (_lparen != null) count++;
-		if (_separator != null) count++;
-		if (_listExpr2 != null) count++;
-		if (_rparen != null) count++;
-		if (_listMark != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_listExpr != null) && (++count == index)) return _listExpr;
-		if ((_lparen != null) && (++count == index)) return _lparen;
-		if ((_separator != null) && (++count == index)) return _separator;
-		if ((_listExpr2 != null) && (++count == index)) return _listExpr2;
-		if ((_rparen != null) && (++count == index)) return _rparen;
-		if ((_listMark != null) && (++count == index)) return _listMark;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new ListRuleBody.
-	 */
-	public ListRuleBody(
-		SimpleExpr listExpr,
-		Token lparen,
-		SimpleExpr separator,
-		SimpleExpr listExpr2,
-		Token rparen,
-		ListMark listMark
-	) {
-		super();
-
-		if (listExpr != null) {
-			_listExpr = listExpr;
-			if (_listExpr._parent != null) throw new RuntimeException();
-			_listExpr._parent = this;
-		}
-		if (lparen != null) {
-			_lparen = new GymnastTokenNode(lparen);
-			if (_lparen._parent != null) throw new RuntimeException();
-			_lparen._parent = this;
-		}
-		if (separator != null) {
-			_separator = separator;
-			if (_separator._parent != null) throw new RuntimeException();
-			_separator._parent = this;
-		}
-		if (listExpr2 != null) {
-			_listExpr2 = listExpr2;
-			if (_listExpr2._parent != null) throw new RuntimeException();
-			_listExpr2._parent = this;
-		}
-		if (rparen != null) {
-			_rparen = new GymnastTokenNode(rparen);
-			if (_rparen._parent != null) throw new RuntimeException();
-			_rparen._parent = this;
-		}
-		if (listMark != null) {
-			_listMark = listMark;
-			if (_listMark._parent != null) throw new RuntimeException();
-			_listMark._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListRuleDecl.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListRuleDecl.java
deleted file mode 100644
index 72c4593..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/ListRuleDecl.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class ListRuleDecl extends GymnastASTNode  {
-
-	public static final String KW_LIST = "list";
-
-	private GymnastTokenNode _list_KW;
-	private Id _name;
-	private Attrs _attrs;
-	private GymnastTokenNode _colon;
-
-	public GymnastTokenNode getList_KW() {
-		return _list_KW;
-	}
-	public Id getName() {
-		return _name;
-	}
-	public Attrs getAttrs() {
-		return _attrs;
-	}
-	public GymnastTokenNode getColon() {
-		return _colon;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_list_KW != null) count++;
-		if (_name != null) count++;
-		if (_attrs != null) count++;
-		if (_colon != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_list_KW != null) && (++count == index)) return _list_KW;
-		if ((_name != null) && (++count == index)) return _name;
-		if ((_attrs != null) && (++count == index)) return _attrs;
-		if ((_colon != null) && (++count == index)) return _colon;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new ListRuleDecl.
-	 */
-	public ListRuleDecl(
-		Token list_KW,
-		Id name,
-		Attrs attrs,
-		Token colon
-	) {
-		super();
-
-		if (list_KW != null) {
-			_list_KW = new GymnastTokenNode(list_KW);
-			if (_list_KW._parent != null) throw new RuntimeException();
-			_list_KW._parent = this;
-		}
-		if (name != null) {
-			_name = name;
-			if (_name._parent != null) throw new RuntimeException();
-			_name._parent = this;
-		}
-		if (attrs != null) {
-			_attrs = attrs;
-			if (_attrs._parent != null) throw new RuntimeException();
-			_attrs._parent = this;
-		}
-		if (colon != null) {
-			_colon = new GymnastTokenNode(colon);
-			if (_colon._parent != null) throw new RuntimeException();
-			_colon._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptSubSeq.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptSubSeq.java
deleted file mode 100644
index 1b9c6de..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptSubSeq.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class OptSubSeq extends Expr  {
-
-
-	private GymnastTokenNode _lparen;
-	private Seq _seq;
-	private GymnastTokenNode _rparen;
-	private GymnastTokenNode _qmark;
-
-	public GymnastTokenNode getLparen() {
-		return _lparen;
-	}
-	public Seq getSeq() {
-		return _seq;
-	}
-	public GymnastTokenNode getRparen() {
-		return _rparen;
-	}
-	public GymnastTokenNode getQmark() {
-		return _qmark;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_lparen != null) count++;
-		if (_seq != null) count++;
-		if (_rparen != null) count++;
-		if (_qmark != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_lparen != null) && (++count == index)) return _lparen;
-		if ((_seq != null) && (++count == index)) return _seq;
-		if ((_rparen != null) && (++count == index)) return _rparen;
-		if ((_qmark != null) && (++count == index)) return _qmark;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new OptSubSeq.
-	 */
-	public OptSubSeq(
-		Token lparen,
-		Seq seq,
-		Token rparen,
-		Token qmark
-	) {
-		super();
-
-		if (lparen != null) {
-			_lparen = new GymnastTokenNode(lparen);
-			if (_lparen._parent != null) throw new RuntimeException();
-			_lparen._parent = this;
-		}
-		if (seq != null) {
-			_seq = seq;
-			if (_seq._parent != null) throw new RuntimeException();
-			_seq._parent = this;
-		}
-		if (rparen != null) {
-			_rparen = new GymnastTokenNode(rparen);
-			if (_rparen._parent != null) throw new RuntimeException();
-			_rparen._parent = this;
-		}
-		if (qmark != null) {
-			_qmark = new GymnastTokenNode(qmark);
-			if (_qmark._parent != null) throw new RuntimeException();
-			_qmark._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Option.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Option.java
deleted file mode 100644
index 9168669..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Option.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class Option extends GymnastASTNode  {
-
-
-	private Id _name;
-	private GymnastTokenNode _equals;
-	private OptionValue _value;
-	private GymnastTokenNode _semi;
-
-	public Id getName() {
-		return _name;
-	}
-	public GymnastTokenNode getEquals() {
-		return _equals;
-	}
-	public OptionValue getValue() {
-		return _value;
-	}
-	public GymnastTokenNode getSemi() {
-		return _semi;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_name != null) count++;
-		if (_equals != null) count++;
-		if (_value != null) count++;
-		if (_semi != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_name != null) && (++count == index)) return _name;
-		if ((_equals != null) && (++count == index)) return _equals;
-		if ((_value != null) && (++count == index)) return _value;
-		if ((_semi != null) && (++count == index)) return _semi;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new Option.
-	 */
-	public Option(
-		Id name,
-		Token equals,
-		OptionValue value,
-		Token semi
-	) {
-		super();
-
-		if (name != null) {
-			_name = name;
-			if (_name._parent != null) throw new RuntimeException();
-			_name._parent = this;
-		}
-		if (equals != null) {
-			_equals = new GymnastTokenNode(equals);
-			if (_equals._parent != null) throw new RuntimeException();
-			_equals._parent = this;
-		}
-		if (value != null) {
-			_value = value;
-			if (_value._parent != null) throw new RuntimeException();
-			_value._parent = this;
-		}
-		if (semi != null) {
-			_semi = new GymnastTokenNode(semi);
-			if (_semi._parent != null) throw new RuntimeException();
-			_semi._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptionList.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptionList.java
deleted file mode 100644
index 1001fc4..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptionList.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import java.util.ArrayList;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class OptionList extends GymnastASTNode {
-
-	private ArrayList _children = new ArrayList();
-	
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		return _children.size();
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		return (ASTNode)_children.get(index);
-	}
-
-	/**
-	 * Add a child to this list.
-	 */
-	public void addChild(GymnastASTNode child) {
-		if (child == null) return;
-		if (child._parent != null) throw new RuntimeException();
-		_children.add(child);
-		child._parent = this;
-	}
-
-	/**
-	 * Wrap the provided Token in a GymnastTokenNode
-	 * and add it as a child of this node.
-	 * 
-	 * @param token the Token to be added as a child of this node
-	 */
-	public void addChild(Token token) {
-		addChild(new GymnastTokenNode(token));
-	}
-
-	/**
-	 * Construct a new OptionList.
-	 */
-	public OptionList() {
-		super();
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptionValue.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptionValue.java
deleted file mode 100644
index 2ca8565..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptionValue.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import antlr.Token;
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class OptionValue extends GymnastTokenNode {
-
-
-	
-	/**
-	 * Construct a new OptionValue.
-	 */
-	public OptionValue(Token token) {
-		super(token);
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptionsSection.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptionsSection.java
deleted file mode 100644
index dc4d7d9..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/OptionsSection.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class OptionsSection extends GymnastASTNode  {
-
-	public static final String KW_OPTIONS = "options";
-
-	private GymnastTokenNode _options_KW;
-	private GymnastTokenNode _lcurly;
-	private OptionList _optionList;
-	private GymnastTokenNode _rcurly;
-
-	public GymnastTokenNode getOptions_KW() {
-		return _options_KW;
-	}
-	public GymnastTokenNode getLcurly() {
-		return _lcurly;
-	}
-	public OptionList getOptionList() {
-		return _optionList;
-	}
-	public GymnastTokenNode getRcurly() {
-		return _rcurly;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_options_KW != null) count++;
-		if (_lcurly != null) count++;
-		if (_optionList != null) count++;
-		if (_rcurly != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_options_KW != null) && (++count == index)) return _options_KW;
-		if ((_lcurly != null) && (++count == index)) return _lcurly;
-		if ((_optionList != null) && (++count == index)) return _optionList;
-		if ((_rcurly != null) && (++count == index)) return _rcurly;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new OptionsSection.
-	 */
-	public OptionsSection(
-		Token options_KW,
-		Token lcurly,
-		OptionList optionList,
-		Token rcurly
-	) {
-		super();
-
-		if (options_KW != null) {
-			_options_KW = new GymnastTokenNode(options_KW);
-			if (_options_KW._parent != null) throw new RuntimeException();
-			_options_KW._parent = this;
-		}
-		if (lcurly != null) {
-			_lcurly = new GymnastTokenNode(lcurly);
-			if (_lcurly._parent != null) throw new RuntimeException();
-			_lcurly._parent = this;
-		}
-		if (optionList != null) {
-			_optionList = optionList;
-			if (_optionList._parent != null) throw new RuntimeException();
-			_optionList._parent = this;
-		}
-		if (rcurly != null) {
-			_rcurly = new GymnastTokenNode(rcurly);
-			if (_rcurly._parent != null) throw new RuntimeException();
-			_rcurly._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Rule.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Rule.java
deleted file mode 100644
index 071effa..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Rule.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public abstract class Rule extends GymnastASTNode {
-	/**
-	 * Construct a new Rule.
-	 */
-	public Rule() {
-		super();
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Seq.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Seq.java
deleted file mode 100644
index 6d1bc7b..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/Seq.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import java.util.ArrayList;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class Seq extends GymnastASTNode {
-
-	private ArrayList _children = new ArrayList();
-	
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		return _children.size();
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		return (ASTNode)_children.get(index);
-	}
-
-	/**
-	 * Add a child to this list.
-	 */
-	public void addChild(GymnastASTNode child) {
-		if (child == null) return;
-		if (child._parent != null) throw new RuntimeException();
-		_children.add(child);
-		child._parent = this;
-	}
-
-	/**
-	 * Wrap the provided Token in a GymnastTokenNode
-	 * and add it as a child of this node.
-	 * 
-	 * @param token the Token to be added as a child of this node
-	 */
-	public void addChild(Token token) {
-		addChild(new GymnastTokenNode(token));
-	}
-
-	/**
-	 * Construct a new Seq.
-	 */
-	public Seq() {
-		super();
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/SeqRule.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/SeqRule.java
deleted file mode 100644
index 4115937..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/SeqRule.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class SeqRule extends Rule  {
-
-
-	private SeqRuleDecl _decl;
-	private Seq _body;
-	private GymnastTokenNode _semi;
-
-	public SeqRuleDecl getDecl() {
-		return _decl;
-	}
-	public Seq getBody() {
-		return _body;
-	}
-	public GymnastTokenNode getSemi() {
-		return _semi;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_decl != null) count++;
-		if (_body != null) count++;
-		if (_semi != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_decl != null) && (++count == index)) return _decl;
-		if ((_body != null) && (++count == index)) return _body;
-		if ((_semi != null) && (++count == index)) return _semi;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new SeqRule.
-	 */
-	public SeqRule(
-		SeqRuleDecl decl,
-		Seq body,
-		Token semi
-	) {
-		super();
-
-		if (decl != null) {
-			_decl = decl;
-			if (_decl._parent != null) throw new RuntimeException();
-			_decl._parent = this;
-		}
-		if (body != null) {
-			_body = body;
-			if (_body._parent != null) throw new RuntimeException();
-			_body._parent = this;
-		}
-		if (semi != null) {
-			_semi = new GymnastTokenNode(semi);
-			if (_semi._parent != null) throw new RuntimeException();
-			_semi._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/SeqRuleDecl.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/SeqRuleDecl.java
deleted file mode 100644
index 4513550..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/SeqRuleDecl.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class SeqRuleDecl extends GymnastASTNode  {
-
-	public static final String KW_SEQUENCE = "sequence";
-
-	private GymnastTokenNode _sequence_KW;
-	private Id _name;
-	private Attrs _attrs;
-	private GymnastTokenNode _colon;
-
-	public GymnastTokenNode getSequence_KW() {
-		return _sequence_KW;
-	}
-	public Id getName() {
-		return _name;
-	}
-	public Attrs getAttrs() {
-		return _attrs;
-	}
-	public GymnastTokenNode getColon() {
-		return _colon;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_sequence_KW != null) count++;
-		if (_name != null) count++;
-		if (_attrs != null) count++;
-		if (_colon != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_sequence_KW != null) && (++count == index)) return _sequence_KW;
-		if ((_name != null) && (++count == index)) return _name;
-		if ((_attrs != null) && (++count == index)) return _attrs;
-		if ((_colon != null) && (++count == index)) return _colon;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new SeqRuleDecl.
-	 */
-	public SeqRuleDecl(
-		Token sequence_KW,
-		Id name,
-		Attrs attrs,
-		Token colon
-	) {
-		super();
-
-		if (sequence_KW != null) {
-			_sequence_KW = new GymnastTokenNode(sequence_KW);
-			if (_sequence_KW._parent != null) throw new RuntimeException();
-			_sequence_KW._parent = this;
-		}
-		if (name != null) {
-			_name = name;
-			if (_name._parent != null) throw new RuntimeException();
-			_name._parent = this;
-		}
-		if (attrs != null) {
-			_attrs = attrs;
-			if (_attrs._parent != null) throw new RuntimeException();
-			_attrs._parent = this;
-		}
-		if (colon != null) {
-			_colon = new GymnastTokenNode(colon);
-			if (_colon._parent != null) throw new RuntimeException();
-			_colon._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/SimpleExpr.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/SimpleExpr.java
deleted file mode 100644
index 01861a4..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/SimpleExpr.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class SimpleExpr extends Expr  {
-
-
-	private Id _name;
-	private GymnastTokenNode _equals;
-	private Atom _value;
-	private Attrs _attrs;
-
-	public Id getName() {
-		return _name;
-	}
-	public GymnastTokenNode getEquals() {
-		return _equals;
-	}
-	public Atom getValue() {
-		return _value;
-	}
-	public Attrs getAttrs() {
-		return _attrs;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_name != null) count++;
-		if (_equals != null) count++;
-		if (_value != null) count++;
-		if (_attrs != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_name != null) && (++count == index)) return _name;
-		if ((_equals != null) && (++count == index)) return _equals;
-		if ((_value != null) && (++count == index)) return _value;
-		if ((_attrs != null) && (++count == index)) return _attrs;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new SimpleExpr.
-	 */
-	public SimpleExpr(
-		Id name,
-		Token equals,
-		Atom value,
-		Attrs attrs
-	) {
-		super();
-
-		if (name != null) {
-			_name = name;
-			if (_name._parent != null) throw new RuntimeException();
-			_name._parent = this;
-		}
-		if (equals != null) {
-			_equals = new GymnastTokenNode(equals);
-			if (_equals._parent != null) throw new RuntimeException();
-			_equals._parent = this;
-		}
-		if (value != null) {
-			_value = value;
-			if (_value._parent != null) throw new RuntimeException();
-			_value._parent = this;
-		}
-		if (attrs != null) {
-			_attrs = attrs;
-			if (_attrs._parent != null) throw new RuntimeException();
-			_attrs._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/TokenRule.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/TokenRule.java
deleted file mode 100644
index 4490aa4..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/TokenRule.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class TokenRule extends Rule  {
-
-
-	private TokenRuleDecl _decl;
-	private Alts _body;
-	private GymnastTokenNode _semi;
-
-	public TokenRuleDecl getDecl() {
-		return _decl;
-	}
-	public Alts getBody() {
-		return _body;
-	}
-	public GymnastTokenNode getSemi() {
-		return _semi;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_decl != null) count++;
-		if (_body != null) count++;
-		if (_semi != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_decl != null) && (++count == index)) return _decl;
-		if ((_body != null) && (++count == index)) return _body;
-		if ((_semi != null) && (++count == index)) return _semi;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new TokenRule.
-	 */
-	public TokenRule(
-		TokenRuleDecl decl,
-		Alts body,
-		Token semi
-	) {
-		super();
-
-		if (decl != null) {
-			_decl = decl;
-			if (_decl._parent != null) throw new RuntimeException();
-			_decl._parent = this;
-		}
-		if (body != null) {
-			_body = body;
-			if (_body._parent != null) throw new RuntimeException();
-			_body._parent = this;
-		}
-		if (semi != null) {
-			_semi = new GymnastTokenNode(semi);
-			if (_semi._parent != null) throw new RuntimeException();
-			_semi._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/TokenRuleDecl.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/TokenRuleDecl.java
deleted file mode 100644
index 9892c66..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/ast/TokenRuleDecl.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-package org.eclipse.gymnast.generator.core.ast;
-
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-import antlr.Token;
-
-
-/**
- *
- * @generated by Gymnast from gymnast.ast on Aug 15, 2004 2:28:15 PM
- */
-public class TokenRuleDecl extends GymnastASTNode  {
-
-	public static final String KW_TOKEN = "token";
-
-	private GymnastTokenNode _token_KW;
-	private Id _name;
-	private Attrs _attrs;
-	private GymnastTokenNode _colon;
-
-	public GymnastTokenNode getToken_KW() {
-		return _token_KW;
-	}
-	public Id getName() {
-		return _name;
-	}
-	public Attrs getAttrs() {
-		return _attrs;
-	}
-	public GymnastTokenNode getColon() {
-		return _colon;
-	}
-
-
-	/**
-	 * @return the number of children of this ASTNode
-	 */
-	public int getChildCount() {
-		int count = 0;
-		if (_token_KW != null) count++;
-		if (_name != null) count++;
-		if (_attrs != null) count++;
-		if (_colon != null) count++;
-
-		return count;
-	}
-
-	/**
-	 * @param index the index of a child ASTNode to get
-	 * @return the child ASTNode at the given index
-	 * @throws IndexOutOfBoundsException when the index is out of bounds
-	 */
-	public ASTNode getChild(int index) {
-		int count = -1;
-		if ((_token_KW != null) && (++count == index)) return _token_KW;
-		if ((_name != null) && (++count == index)) return _name;
-		if ((_attrs != null) && (++count == index)) return _attrs;
-		if ((_colon != null) && (++count == index)) return _colon;
-
-		throw new IndexOutOfBoundsException();
-	}
-	
-	/**
-	 * Construct a new TokenRuleDecl.
-	 */
-	public TokenRuleDecl(
-		Token token_KW,
-		Id name,
-		Attrs attrs,
-		Token colon
-	) {
-		super();
-
-		if (token_KW != null) {
-			_token_KW = new GymnastTokenNode(token_KW);
-			if (_token_KW._parent != null) throw new RuntimeException();
-			_token_KW._parent = this;
-		}
-		if (name != null) {
-			_name = name;
-			if (_name._parent != null) throw new RuntimeException();
-			_name._parent = this;
-		}
-		if (attrs != null) {
-			_attrs = attrs;
-			if (_attrs._parent != null) throw new RuntimeException();
-			_attrs._parent = this;
-		}
-		if (colon != null) {
-			_colon = new GymnastTokenNode(colon);
-			if (_colon._parent != null) throw new RuntimeException();
-			_colon._parent = this;
-		}
-
-	}
-
-	/**
-	 * This method overrides the superclass <code>acceptImpl</code> providing
-	 * the same implementation.  Here <code>this</code> refers to this specific node
-	 * class, so the <code>beginVisit</code> and <code>endVisit</code> methods
-	 * specific to this type in the visitor will be invoked.
-	 */
-	public void acceptImpl(GymnastASTNodeVisitor visitor) {
-		boolean visitChildren = visitor.beginVisit(this);
-		if (visitChildren) visitChildren(visitor);
-		visitor.endVisit(this);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/ASTUtil.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/ASTUtil.java
deleted file mode 100644
index 5bb3519..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/ASTUtil.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.generator;
-
-import org.eclipse.gymnast.generator.core.ast.AltRule;
-import org.eclipse.gymnast.generator.core.ast.AltRuleKind;
-import org.eclipse.gymnast.generator.core.ast.AttrList;
-import org.eclipse.gymnast.generator.core.ast.Attrs;
-import org.eclipse.gymnast.generator.core.ast.ListRule;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.ast.SeqRule;
-import org.eclipse.gymnast.generator.core.ast.SimpleExpr;
-import org.eclipse.gymnast.generator.core.ast.TokenRule;
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class ASTUtil {
-	
-	public static String getName(Rule rule) {
-		return rule.getChild(0).getChild(1).getText();
-	}
-	
-	public static boolean hasAttr(SimpleExpr se, String attrText) {
-		return hasAttr(se.getAttrs(), attrText);
-	}
-	
-	public static boolean hasAttr(Rule rule, String attrText) {
-
-		if (rule instanceof AltRule) {
-			AltRule r = (AltRule) rule;
-			return hasAttr(r.getDecl().getAttrs(), attrText);
-		}
-		else if (rule instanceof ListRule) {
-			ListRule r = (ListRule) rule;
-			return hasAttr(r.getDecl().getAttrs(), attrText);
-		}
-		else if (rule instanceof SeqRule) {
-			SeqRule r = (SeqRule) rule;
-			return hasAttr(r.getDecl().getAttrs(), attrText);
-		}
-		else if (rule instanceof TokenRule) {
-			TokenRule r = (TokenRule) rule;
-			return hasAttr(r.getDecl().getAttrs(), attrText);
-		}
-		
-		return false;
-	}
-	
-	private static boolean hasAttr(Attrs attrs, String attrText) {
-		if (attrs == null) return false;
-		AttrList attrList = attrs.getAttrList();
-		
-		for (int i = 0; i < attrList.getChildCount(); i+=2) {
-			if (attrText.equals(attrList.getChild(i).getText())) return true;
-		}
-		return false;
-	}
-	
-	public static boolean isAbstract(Rule rule) {
-		if (rule instanceof AltRule) {
-			AltRule altRule = (AltRule)rule;
-			return altRule.getDecl().getKind().getText().equals(AltRuleKind.KW_ABSTRACT);
-		}
-		return false;
-	}
-	public static boolean isContainer(Rule rule) {
-		if (rule instanceof AltRule) {
-			AltRule altRule = (AltRule)rule;
-			return altRule.getDecl().getKind().getText().equals(AltRuleKind.KW_CONTAINER);
-		}
-		return false;
-	}
-	public static boolean isInterface(Rule rule) {
-		if (rule instanceof AltRule) {
-			AltRule altRule = (AltRule)rule;
-			return altRule.getDecl().getKind().getText().equals(AltRuleKind.KW_INTERFACE);
-		}
-		return false;
-	}
-	public static boolean isList(Rule rule) {
-		return (rule instanceof ListRule);
-	}
-	public static boolean isSequence(Rule rule) {
-		return (rule instanceof SeqRule);
-	}
-	public static boolean isToken(Rule rule) {
-		return (rule instanceof TokenRule);
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/Generator.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/Generator.java
deleted file mode 100644
index eed0747..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/Generator.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.generator;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gymnast.generator.core.ast.CompUnit;
-import org.eclipse.gymnast.generator.core.parser.ParserDriver;
-import org.eclipse.gymnast.generator.core.registry.ASTGeneratorDescriptor;
-import org.eclipse.gymnast.generator.core.registry.GeneratorRegistry;
-import org.eclipse.gymnast.generator.core.registry.ParserGeneratorDescriptor;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-import org.eclipse.gymnast.runtime.core.parser.ParseMessage;
-import org.eclipse.gymnast.runtime.core.util.IReporter;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class Generator {
-	
-	public void generate(IFile astFile, IProgressMonitor monitor, IReporter reporter) {
-		try {
-			GeneratorContext context = new GeneratorContext(astFile, monitor, reporter);
-			GeneratorUtil util = context.getUtil();
-			util.report("Gymnast run started at " + context.getBeginTimestamp());
-			
-			CompUnit compUnit = parse(context);
-			context.initCompUnit(compUnit);
-			
-			GrammarInfo info = new GrammarInfo(context);
-			context.initGrammarInfo(info);
-			
-			context.processOptions();
-			context.initJavaPackages();
-			
-			final GeneratorRegistry generatorRegistry = GeneratorRegistry.getInstance();
-			
-			final String astGeneratorId = context.getASTGeneratorId();
-			ASTGeneratorDescriptor astGeneratorDescriptor = generatorRegistry.getASTGeneratorDescriptor(astGeneratorId);
-			if (astGeneratorDescriptor != null) {
-				astGeneratorDescriptor.getASTGenerator().generateAST(context);
-			} else {
-				util.reportWarning("No AST generator found for id: " + astGeneratorId);
-			}
-			
-			final String parserGeneratorId = context.getParserGeneratorId();
-			ParserGeneratorDescriptor parserGeneratorDescriptor = generatorRegistry.getParserGeneratorDescriptor(parserGeneratorId);
-			if (parserGeneratorDescriptor != null) {
-				parserGeneratorDescriptor.getParserGenerator().generateParser(context);
-			} else {
-				util.reportWarning("No parser generator found for id: " + parserGeneratorId);
-			}
-			
-			context.initEndTime();
-			util.report("Gymnast run finished normally at " + context.getEndTimestamp());
-		}
-		catch (Exception ex) {
-			reporter.reportError(ex);
-		}
-	}
-	
-	private CompUnit parse(GeneratorContext context) throws Exception {
-		
-		BufferedReader reader = new BufferedReader(new InputStreamReader(context.getASTFile().getContents()));
-		
-		ParserDriver parser = new ParserDriver();
-		ParseContext parseContext = parser.parse(reader);
-		
-		if (parseContext.getMessageCount() > 0) {
-			ParseMessage[] msgs = parseContext.getMessages();
-			for (int i = 0; i < msgs.length; i++) {
-				context.getUtil().reportError("parse message: " + msgs[i].getMessage());
-			}
-			throw new Exception("Errors in parse!");
-		}
-		
-		CompUnit parseRoot = (CompUnit)parseContext.getParseRoot();
-		if (parseRoot == null) {
-			throw new Exception("Incomplete input!");
-		}
-		
-		return parseRoot;
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/GeneratorContext.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/GeneratorContext.java
deleted file mode 100644
index 8467a23..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/GeneratorContext.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.generator;
-
-import java.text.DateFormat;
-import java.util.Date;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gymnast.generator.core.ast.CompUnit;
-import org.eclipse.gymnast.runtime.core.util.IReporter;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.JavaCore;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class GeneratorContext {
-    
-    private final String _toolName = "Gymnast";
-    private String _generatedByText;
-	
-	private Date _beginTime;
-	private String _beginTimestamp;
-	private Date _endTime;
-	private String _endTimestamp;
-	
-	private IFile _astFile;
-	private GeneratorUtil _util;
-	private boolean _isReportingVerbose = true;
-	
-	private CompUnit _compUnit;
-	private GrammarInfo _grammarInfo;
-	
-	private String _astName;
-	
-	private String _astGeneratorId;
-	private String _parserGeneratorId;
-	private String _parserPackageName;
-	private String _astPackageName;
-	private String _lexerFileName;
-	private String _astBaseClassName;
-	private String _astBaseClassBaseName;
-	private String _astTokenClassName;
-	private String _astVisitorClassName;
-	private final String _ldtASTNodePackageName = "org.eclipse.gymnast.runtime.core.ast";
-	private final String _ldtASTNodeClassName = "ASTNode";
-	private final String _ldtParserPackageName = "org.eclipse.gymnast.runtime.core.parser";
-
-	private IJavaProject _javaProject;
-	private IPackageFragment _astPackage;
-	private IPackageFragment _parserPackage;
-	
-	public GeneratorContext(IFile astFile, IProgressMonitor monitor, IReporter reporter) throws Exception {
-		_beginTime = new Date();
-		_beginTimestamp = DateFormat.getDateTimeInstance().format(_beginTime);
-		
-		_astFile = astFile;
-		
-		_util = new GeneratorUtil(this, monitor, reporter);
-		
-		IProject proj = getProject();
-		
-		if (!proj.hasNature("org.eclipse.jdt.core.javanature")) {
-			throw new Exception("no java project nature!");
-		}
-		
-		_javaProject = JavaCore.create(proj);
-	}
-	
-	public void initCompUnit(CompUnit compUnit) {
-		_compUnit = compUnit;
-	}
-	
-	public void initGrammarInfo(GrammarInfo grammarInfo) {
-		_grammarInfo = grammarInfo;
-		_astName = grammarInfo.getLanguageName();
-	}
-	
-	void processOptions() throws Exception {
-		
-		_astGeneratorId = _grammarInfo.getOptionValue("astGenerator");
-		if (_astGeneratorId == null) {
-			_astGeneratorId = "primordial";
-		}
-		
-		_astPackageName = _grammarInfo.getOptionValue("astPackageName");
-		if (_astPackageName == null) {
-			// get the path of the ast file and remove the filename
-			// .../src/org/foo/lang/lang.g -> .../src/org/foo/lang
-			IPath absPath = _astFile.getFullPath().removeLastSegments(1);
-			IPackageFragment frag = _javaProject.findPackageFragment(absPath);
-			if (frag != null) {
-				_astPackageName = frag.getElementName() + ".gen.ast";
-			}
-			else {
-				_astPackageName = ""; // global package ... will this work?
-			}
-		}
-		
-		_parserGeneratorId = _grammarInfo.getOptionValue("parserGenerator");
-		if (_parserGeneratorId == null) {
-			_parserGeneratorId = "antlr";
-		}
-		
-		_parserPackageName = _grammarInfo.getOptionValue("parserPackageName");
-		if (_parserPackageName == null) {
-			// get the path of the ast file and remove the filename
-			// .../src/org/foo/lang/lang.g -> .../src/org/foo/lang
-			IPath absPath = _astFile.getFullPath().removeLastSegments(1);
-			IPackageFragment frag = _javaProject.findPackageFragment(absPath);
-			if (frag != null) {
-				_parserPackageName = frag.getElementName() + ".gen.parser";
-			}
-			else {
-				_parserPackageName = ""; // global package ... will this work?
-			}
-		}
-
-		_lexerFileName = _grammarInfo.getOptionValue("lexerFileName");
-		if (_lexerFileName == null) {
-			_lexerFileName = getASTName() + "Lexer.g";
-		}
-		
-		_astBaseClassName = _grammarInfo.getOptionValue("astBaseClassName");
-		if (_astBaseClassName == null) {
-			_astBaseClassName = _astName + "ASTNode";
-		}
-		
-		_astBaseClassBaseName = _grammarInfo.getOptionValue("astBaseClassBaseName");
-		if (_astBaseClassBaseName == null) {
-			_astBaseClassBaseName = "ASTNodeImpl";
-		}
-		
-		_astTokenClassName = _grammarInfo.getOptionValue("astTokenClassName");
-		if (_astTokenClassName == null) {
-			_astTokenClassName = _astName + "TokenNode";
-		}
-		
-		_astVisitorClassName = _grammarInfo.getOptionValue("astVisitorClassName");
-		if (_astVisitorClassName == null) {
-			_astVisitorClassName = _astName + "ASTNodeVisitor";
-		}
-	}
-	
-	void initJavaPackages() throws Exception {
-		_astPackage = _util.findOrCreatePackage(_javaProject, _astPackageName);
-		checkExists(_astPackage, "AST package", _astPackageName);
-		
-		_parserPackage = _util.findOrCreatePackage(_javaProject, _parserPackageName);
-		checkExists(_parserPackage, "parser package", _parserPackageName);
-	}
-	private void checkExists(IJavaElement el, String kind, String name) throws Exception {
-		if ((el == null) || (!el.exists())) {
-			throw new Exception("Could not get " + kind + " (name: " + name + ")");
-		}
-	}
-	
-	void initEndTime() {
-		_endTime = new Date();
-		_endTimestamp = DateFormat.getDateTimeInstance().format(_endTime);
-	}
-	
-	//
-	// data accessors
-	//
-	
-	public String getToolName() {
-	    return _toolName;
-	}
-	
-	public String getGeneratedByText() {
-	    if (_generatedByText == null) {
-	        _generatedByText = "@generated by " + getToolName() + " from "
-                    + getASTFile().getName() + " on " + getBeginTimestamp();
-	    }
-	    return _generatedByText;
-	}
-	
-	public String getBeginTimestamp() {
-		return _beginTimestamp;
-	}
-	public String getEndTimestamp() {
-		return _endTimestamp;
-	}
-
-	
-	public IProject getProject() {
-		return _astFile.getProject();
-	}
-	public IJavaProject getJavaProject() {
-	    return _javaProject;
-	}
-	public IPackageFragment getASTPackage() {
-		return _astPackage;
-	}
-	public IPackageFragment getParserPackage() {
-		return _parserPackage;
-	}
-	
-	public IFile getASTFile() {
-		return _astFile;
-	}
-	public GeneratorUtil getUtil() {
-		return _util;
-	}
-	public boolean isReportingVerbose() {
-		return _isReportingVerbose;
-	}
-	public int getVerbosity() {
-		return 5;
-	}
-	
-	public String getASTName() {
-		return _astName;
-	}
-	
-	public String getASTGeneratorId() {
-		return _astGeneratorId;
-	}
-	public String getParserGeneratorId() {
-		return _parserGeneratorId;
-	}
-	public String getParserPackageName() {
-		return _parserPackageName;
-	}
-	public String getASTPackageName() {
-		return _astPackageName;
-	}
-	public String getLexerFileName() {
-		return _lexerFileName;
-	}
-	public String getASTBaseClassName() {
-		return _astBaseClassName;
-	}
-	public String getASTBaseClassBaseName() {
-		return _astBaseClassBaseName;
-	}
-	public String getASTTokenClassName() {
-		return _astTokenClassName;
-	}
-	public String getASTVisitorClassName() {
-		return _astVisitorClassName;
-	}
-	
-	public String getLDT_ASTNodePackageName() {
-		return _ldtASTNodePackageName;
-	}
-	public String getLDT_ASTNodeClassName() {
-		return _ldtASTNodeClassName;
-	}
-	public String getLDT_ParserPackageName() {
-		return _ldtParserPackageName;
-	}
-	public String getEntryRuleName() {
-	    return _grammarInfo.getEntryRuleName();
-	}
-	public String getEntryRuleClassName() {
-	    return _grammarInfo.getEntryRuleClassName();
-	}
-	
-	
-	public GrammarInfo getGrammarInfo() {
-		return _grammarInfo;
-	}
-	public CompUnit getCompUnit() {
-		return _compUnit;
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/GeneratorUtil.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/GeneratorUtil.java
deleted file mode 100644
index c2262b6..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/GeneratorUtil.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.generator;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.ast.SimpleExpr;
-import org.eclipse.gymnast.runtime.core.util.IReporter;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragment;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class GeneratorUtil {
-	
-	private GeneratorContext _context;
-	private IProgressMonitor _monitor;
-	private IReporter _reporter;
-	
-	GeneratorUtil(GeneratorContext context, IProgressMonitor monitor, IReporter reporter) {
-		_context = context;
-		_monitor = monitor;
-		_reporter = reporter;
-	}
-	
-	
-	//
-	// Reporting
-	//
-	
-	public IReporter getReporter() {
-		return _reporter;
-	}
-	
-	public void report(String message) {
-		report(message, 0);
-	}
-	
-	public void report(String message, int verbosity) {
-		if (verbosity == 0) {
-		    if (message != null) {
-		        _monitor.subTask(message);
-		    }
-		}
-		
-		if (verbosity <= _context.getVerbosity()) {
-			_reporter.report(message, verbosity);
-		}
-	}
-	
-	public void reportWarning(String message) {
-		_reporter.reportWarning(message);
-	}
-	
-	public void reportError(String message) {
-		_reporter.reportError(message);
-	}
-	
-	public void reportError(Exception ex) {
-		_reporter.reportError(ex);
-	}
-	
-	
-	public void beginRules(int ruleCount) {
-		_monitor.beginTask("Processing Rules", ruleCount);
-	}
-	public void ruleDone() {
-		_monitor.worked(1);
-	}
-	
-	//
-	// Helpers for string manipulation scenarios
-	//
-	
-	public String removeSurroundingQuotes(String text) {
-		return Util.removeSurroundingQuotes(text);
-	}
-	
-	/**
-	 * Uppercase the first letter of the name to make a good Java class
-	 * name (so "myName" -> "MyName")
-	 * @param name name to be uppercased
-	 * @return name with first character uppercased
-	 */
-	public String toUppercaseName(String name) {
-		return Util.toUppercaseName(name);
-	}
-	
-	/**
-	 * Lowercase the first letter of the name to make a good Antlr rule
-	 * name (so "MyName" -> "myName")
-	 * @param name name to be lowercased
-	 * @return name with first character lowercased
-	 */
-	public String toLowercaseName(String name) {
-		return Util.toLowercaseName(name);
-	}
-	
-	//
-	//
-	//
-	
-	public boolean isTokenReference(String type) {
-		// In Antlr syntax a reference is a token reference if it is
-		// all uppercase characters or if it's a string literal.  Otherwise
-		// it's a rule reference.
-		// eg:  ruleDef : ruleRef | TOKEN_REF | "literal";
-		
-		if (type.charAt(0) == '"') {
-			// it's a string literal
-			return true;
-		}
-		
-		for (int i = 0; i < type.length(); i++) {
-			char c = type.charAt(i);
-			
-			if (Character.isLowerCase(c)) {
-				return false;
-			}
-		}
-		return true;
-	}
-	
-	private String getDefaultName(String type) {
-		String name = null;
-		// construct a reasonable name based on the type
-		if (type.charAt(0) == '"') {
-			// it's a string literal
-			name = removeSurroundingQuotes(type) + "_KW";
-		}
-		else if (isTokenReference(type)) {
-			name = type.toLowerCase();
-		}
-		else {
-			name = type;
-		}
-		return name;
-	}
-	
-	public String getLabel(SimpleExpr simpleExpr) {
-		String rule = simpleExpr.getValue().getText();
-		String label = null;
-		if (simpleExpr.getName() != null) {
-			label = simpleExpr.getName().getText();
-		}
-		else {
-			label = getDefaultName(rule);
-		}
-		return label;
-	}
-	
-	//
-	// Helpers for building doc comments and code body text
-	//
-	
-	void appendLine(StringBuffer sb) {
-		sb.append('\n');
-	}
-	
-	void appendLine(StringBuffer sb, int indentLevel, String text) {
-		for (int i=0; i<indentLevel; i++) sb.append('\t');
-		sb.append(text);
-		sb.append('\n');
-	}
-	
-	public String getRuleBaseClassName(Rule rule) {
-	    String baseClassName;
-	    
-		if (ASTUtil.isToken(rule)) {
-		    baseClassName = _context.getASTTokenClassName();
-		}
-		else {
-			String[] bases = _context.getGrammarInfo().getAltReferencers(ASTUtil.getName(rule));
-			if ((bases == null) || (bases.length == 0)) {
-			    baseClassName = _context.getASTBaseClassName();
-			}
-			else if (bases.length == 1) {
-			    baseClassName = toUppercaseName(bases[0]);
-			}
-			else {
-			    baseClassName = _context.getASTBaseClassName();
-			}
-		}
-		
-		return baseClassName;
-	}
-	
-	public String[] getRuleBaseInterfaceNames(Rule rule) {
-	    String[] baseInterfaceNames = null;
-	    
-		if (ASTUtil.isToken(rule)) {
-		}
-		else {
-			String[] bases = _context.getGrammarInfo().getAltReferencers(ASTUtil.getName(rule));
-			if ((bases == null) || (bases.length == 0)) {
-			}
-			else if (bases.length == 1) {
-			}
-			else {
-				for (int i = 0; i < bases.length; i++) {
-					bases[i] = toUppercaseName(bases[i]);
-				}
-				baseInterfaceNames = bases;
-			}
-		}
-		
-		return baseInterfaceNames;
-	}
-	
-	
-	//
-	// Helpers for constucting JavaElements
-	//
-	
-	public IPackageFragment findOrCreatePackage(
-		IJavaProject project,
-		String packageName)
-		throws Exception {
-		
-		IPackageFragmentRoot[] roots = project.getPackageFragmentRoots();
-		IPackageFragmentRoot root = null;
-		for (int i = 0; i < roots.length; i++) {
-			if (roots[i].getKind() == IPackageFragmentRoot.K_SOURCE) {
-				root = roots[i];
-				break;
-			}
-		}
-
-		if (root == null) {
-			throw new Exception("Can't get source IPackageFragmentRoot!");
-		}
-
-		IPackageFragment frag = root.getPackageFragment(packageName);
-		if (frag.exists()) {
-			report("Found package: " + frag.getElementName(), 2);
-			return frag;
-		} else {
-			frag = root.createPackageFragment(packageName, false, null);
-			report("Creating package: " + frag.getElementName(), 2);
-			return frag;
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/GrammarInfo.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/GrammarInfo.java
deleted file mode 100644
index f7c29a7..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/GrammarInfo.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.generator;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Hashtable;
-
-import org.eclipse.gymnast.generator.core.ast.AltRule;
-import org.eclipse.gymnast.generator.core.ast.Alts;
-import org.eclipse.gymnast.generator.core.ast.GymnastASTNodeVisitor;
-import org.eclipse.gymnast.generator.core.ast.HeaderSection;
-import org.eclipse.gymnast.generator.core.ast.Option;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.ast.SimpleExpr;
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class GrammarInfo extends GymnastASTNodeVisitor implements IGrammarInfo {
-	
-	private GeneratorContext _context;
-	private GeneratorUtil _util;
-	
-	private String _languageName;
-	
-	private Hashtable _options = new Hashtable();
-
-	private ArrayList _rules = new ArrayList();
-	private Hashtable _ruleNameToRule = new Hashtable();
-	private Hashtable _ruleToRuleRefCollector = new Hashtable();
-	
-	// key is rule name
-	// value is ArrayList of altRule names that reference the rule in an alt
-	private Hashtable _altReverseMap = new Hashtable();
-	
-	private String _entryRuleName = "compUnit";
-	private String _entryRuleClassName = "CompUnit";
-	
-	private Rule _currentRule;
-	
-	public GrammarInfo(GeneratorContext context) {
-		_context = context;
-		_util = _context.getUtil();
-		
-		init();
-	}
-	
-	private void init() {
-		visit(_context.getCompUnit());
-		
-		for (int i = 0; i < _rules.size(); i++) {
-			Rule rule = (Rule)_rules.get(i);
-			initRuleParams(rule);
-			
-			if (ASTUtil.hasAttr(rule, "entry")) {
-			    _entryRuleName = getRuleName(rule);
-			    _entryRuleClassName = getTypeName(rule);
-			}
-		}
-	}
-	
-	private void initRuleParams(Rule rule) {
-		RuleRefCollector refs = getRuleRefCollector(rule);
-		String[] altReferencers = getAltReferencers(ASTUtil.getName(rule));
-		
-		for (int i = 0; i < altReferencers.length; i++) {
-			String altReferencerName = altReferencers[i];
-			Rule altRule = getRule(altReferencerName);
-			RuleRefCollector altRuleRefs = getRuleRefCollector(altRule);
-			String[] labels = altRuleRefs.getLabels();
-			for (int j = 0; j < labels.length; j++) {
-				String label = labels[j];
-				if (altRuleRefs.isAltSeq(label)) {
-					refs.addInherited(label, altRuleRefs.getType(label));
-				}
-			}
-		}
-	}
-	
-	public String getLanguageName() {
-		return _languageName;
-	}
-	
-	public String getEntryRuleName() {
-		return _entryRuleName;
-	}
-	
-	public String getEntryRuleClassName() {
-		return _entryRuleClassName;
-	}
-	
-	public Rule[] getRules() {
-		return (Rule[]) _rules.toArray(new Rule[_rules.size()]);
-	}
-	
-	public Rule getRule(String name) {
-		return (Rule)_ruleNameToRule.get(name);
-	}
-	
-	public String getRuleName(Rule rule) {
-	    return ASTUtil.getName(rule);
-	}
-	
-	public String getTypeName(Rule rule) {
-	    return _util.toUppercaseName(getRuleName(rule));
-	}
-	
-	public String getOptionValue(String name) {
-		if (!_options.containsKey(name)) return null;
-		
-		String value = (String)_options.get(name);
-		value = Util.removeSurroundingQuotes(value);
-		return value;
-	}
-
-	public RuleRefCollector getRuleRefCollector(Rule rule) {
-		return (RuleRefCollector)_ruleToRuleRefCollector.get(rule);
-	}
-	
-	public String[] getAltReferencers(String ruleName) {
-		if (_altReverseMap.containsKey(ruleName)) {
-			ArrayList altList = (ArrayList)_altReverseMap.get(ruleName);
-			return (String[]) altList.toArray(new String[altList.size()]);
-		}
-		return new String[]{};
-	}
-	
-	public String[] getLiterals() {
-		final HashSet literals = new HashSet();
-		
-		new GymnastASTNodeVisitor() {
-			public boolean beginVisit(SimpleExpr simpleExpr) {
-				String value = simpleExpr.getValue().getText();
-				if (value.startsWith("\"")) {
-					literals.add(Util.removeSurroundingQuotes(value));
-				}
-				return false;
-			}
-		}.visit(_context.getCompUnit());
-		
-		return (String[]) literals.toArray(new String[literals.size()]);
-	}
-	
-	public boolean beginVisit(HeaderSection headerSection) {
-		_languageName = headerSection.getName().getText();
-		_util.report("language: " + getLanguageName());
-		return true;
-	}
-	
-	public boolean beginVisit(Option option) {
-		String name = option.getName().getText();
-		String value = option.getValue().getText();
-		
-		_options.put(name, value);
-		
-		_util.report("option " + name + " = " + value);
-		return false;
-	}
-
-	public boolean beginVisit(Rule rule) {
-		String name = ASTUtil.getName(rule);
-		if (_ruleNameToRule.containsKey(name)) {
-			throw new RuntimeException("Rule " + name + "declared twice!");
-		}
-		_util.report("rule: " + name);
-		
-		_currentRule = rule;
-		_rules.add(rule);
-		_ruleNameToRule.put(name, rule);
-		
-		RuleRefCollector ruleRefs = new RuleRefCollector(rule, _context);
-		_ruleToRuleRefCollector.put(rule, ruleRefs);
-		
-		return true;
-	}
-	
-	public boolean beginVisit(Alts alts) {
-		if (_currentRule instanceof AltRule) {
-			for (int i = 0; i < alts.getChildCount(); i++) {
-				ASTNode child = alts.getChild(i);
-				if (child instanceof SimpleExpr) {
-					SimpleExpr se = (SimpleExpr)child;
-					
-					String refRuleName = se.getValue().getText();
-					ArrayList altList = null;
-					if (!_altReverseMap.containsKey(refRuleName)) {
-						altList = new ArrayList();
-						_altReverseMap.put(refRuleName, altList);
-					}
-					else {
-						altList = (ArrayList)_altReverseMap.get(refRuleName);
-					}
-					altList.add(ASTUtil.getName(_currentRule));
-				}
-			}
-		}
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/IGrammarInfo.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/IGrammarInfo.java
deleted file mode 100644
index b1242b1..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/IGrammarInfo.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package org.eclipse.gymnast.generator.core.generator;
-
-import org.eclipse.gymnast.generator.core.ast.Rule;
-
-public interface IGrammarInfo {
-	public String getLanguageName(); 
-	
-	public String getEntryRuleName();
-	
-	public String getEntryRuleClassName();
-	
-	public Rule[] getRules();
-	
-	public Rule getRule(String name);
-	
-	public String getRuleName(Rule rule) ;
-	
-	public String getTypeName(Rule rule) ;
-	
-	public String getOptionValue(String name);
-
-	public RuleRefCollector getRuleRefCollector(Rule rule) ;
-	
-	public String[] getAltReferencers(String ruleName) ;
-	
-	public String[] getLiterals() ;
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/LiteralCollector.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/LiteralCollector.java
deleted file mode 100644
index a11f296..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/LiteralCollector.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.generator;
-
-import java.util.ArrayList;
-
-import org.eclipse.gymnast.generator.core.ast.GymnastASTNodeVisitor;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.ast.SimpleExpr;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class LiteralCollector extends GymnastASTNodeVisitor {
-	
-	private ArrayList _literals = new ArrayList();
-	
-	public LiteralCollector(Rule rule, GeneratorContext context) {
-		visit(rule);
-	}
-	
-	public String[] getLiterals() {
-		return (String[]) _literals.toArray(new String[_literals.size()]);
-	}
-	
-	public boolean beginVisit(SimpleExpr simpleExpr) {
-		String value = simpleExpr.getValue().getText();
-		if (value.startsWith("\"")) {
-			_literals.add(value);
-		}
-		
-		return false;
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/RuleRefCollector.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/RuleRefCollector.java
deleted file mode 100644
index 578dbfb..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/RuleRefCollector.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.generator;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-
-import org.eclipse.gymnast.generator.core.ast.AltSeq;
-import org.eclipse.gymnast.generator.core.ast.Alts;
-import org.eclipse.gymnast.generator.core.ast.GymnastASTNodeVisitor;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.ast.SimpleExpr;
-
-
-
-/**
- * @author cjdaly@us.ibm.com
- * 
- */
-public class RuleRefCollector extends GymnastASTNodeVisitor {
-
-	private GeneratorContext _context;
-	private Rule _rule;
-	
-	private ArrayList _labels;
-	private Hashtable _labelToLabelData;
-	private int _inheritedLabelCount = 0;
-	
-	private boolean _doingAltSeq = false;
-	
-	public RuleRefCollector(Rule rule, GeneratorContext context) {
-		_context = context;
-		_rule = rule;
-		
-		_labels = new ArrayList();
-		_labelToLabelData = new Hashtable();
-		
-		visit(rule);
-	}
-
-	public int getCount() {
-		return _labels.size();
-	}
-	public int getInheritedLabelCount() {
-		return _inheritedLabelCount;
-	}
-	
-	public String[] getLabels() {
-		return (String[]) _labels.toArray(new String[_labels.size()]);
-	}
-	
-	public boolean hasLabel(String label) {
-		return _labelToLabelData.containsKey(label);
-	}
-	
-	private LabelData getLabelData(String label) {
-		return (LabelData)_labelToLabelData.get(label);
-	}
-	public String getType(String label) {
-		return getLabelData(label).getType();
-	}
-	public boolean isAltSeq(String label) {
-		return getLabelData(label).isAltSeq();
-	}
-	public boolean isInherited(String label) {
-		return getLabelData(label).isInherited();
-	}
-	
-
-	public boolean beginVisit(Alts alts) {
-		// don't worry about labels for elements of Alts!
-		return false;
-	}
-	
-	public boolean beginVisit(AltSeq altSeq) {
-		_doingAltSeq = true;
-		return true;
-	}
-	public void endVisit(AltSeq altSeq) {
-		_doingAltSeq = false;
-	}
-
-	public boolean beginVisit(SimpleExpr simpleExpr) {
-		
-		if (!ASTUtil.hasAttr(simpleExpr, "ignore")) {
-			String type = simpleExpr.getValue().getText();
-			String name = _context.getUtil().getLabel(simpleExpr);
-			add(name, type);
-		}
-		
-		return false;
-	}
-	
-	private void add(String label, String type) {
-		if (_labelToLabelData.containsKey(label)) {
-			if (_context != null) {
-				_context.getUtil().reportWarning("Label: " + label + " used more than once in rule: " + ASTUtil.getName(_rule));
-			}
-			return;
-		}
-		
-		_labels.add(label);
-		_labelToLabelData.put(label, new LabelData(type, _doingAltSeq, false));
-	}
-	
-	void addInherited(String label, String type) {
-		if (_labelToLabelData.containsKey(label)) {
-			if (!getType(label).equals(type)) {
-				String msg = "Label: " + label + " needed for more than one type in params for: " + ASTUtil.getName(_rule);
-				throw new RuntimeException(msg);
-			}
-		}
-		else {
-			_labels.add(_inheritedLabelCount, label);
-			_labelToLabelData.put(label, new LabelData(type, false, true));
-			_inheritedLabelCount++;
-		}
-	}
-
-	private class LabelData {
-		String _type;
-		boolean _isAltSeq;
-		boolean _isInherited;
-		
-		LabelData(String type, boolean isAltSeq, boolean isInherited) {
-			_type = type;
-			_isAltSeq = isAltSeq;
-			_isInherited = isInherited;
-		}
-		
-		String getType() {
-			return _type;
-		}
-		
-		boolean isAltSeq() {
-			return _isAltSeq;
-		}
-		
-		boolean isInherited() {
-			return _isInherited;
-		}
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/Util.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/Util.java
deleted file mode 100644
index 0c72452..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/generator/Util.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.generator;
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class Util {
-	
-	//
-	// Helpers for string manipulation scenarios
-	//
-	
-	public static String removeSurroundingQuotes(String text) {
-		return text.replaceAll("\"", "");
-	}
-	
-	/**
-	 * Uppercase the first letter of the name to make a good Java class
-	 * name (so "myName" -> "MyName")
-	 * @param name name to be uppercased
-	 * @return name with first character uppercased
-	 */
-	public static String toUppercaseName(String name) {
-		String val;
-		char firstChar = Character.toUpperCase(name.charAt(0));
-		if (name.length() > 1) {
-			val = firstChar + name.substring(1);
-		}
-		else {
-			val = Character.toString(firstChar);
-		}
-		return val;
-	}
-	
-	/**
-	 * Lowercase the first letter of the name to make a good Antlr rule
-	 * name (so "MyName" -> "myName")
-	 * @param name name to be lowercased
-	 * @return name with first character lowercased
-	 */
-	public static String toLowercaseName(String name) {
-		String val;
-		char firstChar = Character.toLowerCase(name.charAt(0));
-		if (name.length() > 1) {
-			val = firstChar + name.substring(1);
-		}
-		else {
-			val = Character.toString(firstChar);
-		}
-		return val;
-	}
-	
-	/**
-	 * Find all of the uppercase letters in the name and return a new
-	 * String with just those letters lowercased (so "MyName" -> "mn")
-	 * If there are no uppercase letters in the input String then return
-	 * the input String.
-	 * @param name name to be abbreviated
-	 * @return abbreviated name
-	 */
-	public static String toAbbreviatedName(String name) {
-		StringBuffer sb = new StringBuffer();
-		for (int i = 0; i < name.length(); i++) {
-			char c = name.charAt(i);
-			if (Character.isUpperCase(c)) {
-				sb.append(Character.toLowerCase(c));
-			}
-		}
-		if (sb.length() == 0) return name;
-		else return sb.toString();
-		
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/Gymnast.g b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/Gymnast.g
deleted file mode 100644
index be54536..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/Gymnast.g
+++ /dev/null
@@ -1,326 +0,0 @@
-
-header
-{
-package org.eclipse.gymnast.generator.core.parser;
-import org.eclipse.gymnast.generator.core.ast.*;
-import org.eclipse.gymnast.runtime.core.parser.*;
-}
-
-class GymnastParser extends Parser;
-
-options {
-  k=2;
-}
-{
-	private ParseContext _parseContext;
-	public void setParseContext(ParseContext parseContext) {
-		_parseContext = parseContext;
-	}
-	
-    public void reportError(RecognitionException ex) {
-        if (_parseContext != null) {
-        	_parseContext.addParseMessage(new ParseError(ex));
-        }
-    }
-
-    public void reportError(String s) {
-        if (_parseContext != null) {
-        	_parseContext.addParseMessage(new ParseError(s, -1));
-        }
-    }
-
-    public void reportWarning(String s) {
-    	if (_parseContext != null) {
-        	_parseContext.addParseMessage(new ParseWarning(s, -1));
-        }
-    }
-}
-
-compUnit returns [ CompUnit retVal = null ]
-:
-{ HeaderSection headerSection = null; Grammar grammar = null; }
-  headerSection=headerSection grammar=grammar EOF
-{ retVal = new CompUnit(headerSection, grammar); }
-;
-
-headerSection returns [ HeaderSection retVal = null ]
-:
-{ Id name = null; OptionsSection optionsSection = null; }
-  language_KW:"language" name=id semi:SEMI ( optionsSection=optionsSection )? 
-{ retVal = new HeaderSection(language_KW, name, semi, optionsSection); }
-;
-
-optionsSection returns [ OptionsSection retVal = null ]
-:
-{ OptionList optionList = null; }
-  options_KW:"options" lcurly:LCURLY optionList=optionList rcurly:RCURLY 
-{ retVal = new OptionsSection(options_KW, lcurly, optionList, rcurly); }
-;
-
-optionList returns [ OptionList retVal = new OptionList() ]
-:
-{ Option option = null; }
-  ( option=option { retVal.addChild(option); } )*
-;
-
-option returns [ Option retVal = null ]
-:
-{ Id name = null; OptionValue value = null; }
-  name=id equals:EQUALS value=optionValue semi:SEMI 
-{ retVal = new Option(name, equals, value, semi); }
-;
-
-optionValue returns [ OptionValue retVal = null ]
-{ Token tok = LT(1); }
-: ( ID
-  | STRING_LITERAL
-  | INT_LITERAL
-  )
-{ retVal = new OptionValue(tok); }
-;
-
-grammar returns [ Grammar retVal = new Grammar() ]
-:
-{ Rule rule = null; }
-  ( rule=rule { retVal.addChild(rule); } )*
-;
-
-rule returns [ Rule retVal = null ]
-:
-  ( retVal=altRule
-  | retVal=listRule
-  | retVal=seqRule
-  | retVal=tokenRule
-  )
-;
-
-altRule returns [ AltRule retVal = null ]
-:
-{ AltRuleDecl decl = null; AltRuleBody body = null; }
-  decl=altRuleDecl body=altRuleBody semi:SEMI 
-{ retVal = new AltRule(decl, body, semi); }
-;
-
-altRuleDecl returns [ AltRuleDecl retVal = null ]
-:
-{ AltRuleKind kind = null; Id name = null; Attrs attrs = null; }
-  kind=altRuleKind name=id ( attrs=attrs )? colon:COLON 
-{ retVal = new AltRuleDecl(kind, name, attrs, colon); }
-;
-
-altRuleKind returns [ AltRuleKind retVal = null ]
-{ Token tok = LT(1); }
-: ( "abstract"
-  | "container"
-  | "interface"
-  )
-{ retVal = new AltRuleKind(tok); }
-;
-
-altRuleBody returns [ AltRuleBody retVal = null ]
-:
-{ AltSeq preSeq = null; Alts alts = null; AltSeq postSeq = null; }
-  ( preSeq=altSeq )? alts=alts ( postSeq=altSeq )? 
-{ retVal = new AltRuleBody(preSeq, alts, postSeq); }
-;
-
-alts returns [ Alts retVal = new Alts() ]
-:
-{ SimpleExpr se1 = null; SimpleExpr sen = null; }
-  se1=simpleExpr { retVal.addChild(se1); } 
-  ( pipe:PIPE sen=simpleExpr { retVal.addChild(pipe); retVal.addChild(sen); } )*
-;
-
-altSeq returns [ AltSeq retVal = null ]
-:
-{ Seq seq = null; }
-  lparen:LPAREN seq=seq rparen:RPAREN 
-{ retVal = new AltSeq(lparen, seq, rparen); }
-;
-
-listRule returns [ ListRule retVal = null ]
-:
-{ ListRuleDecl decl = null; ListRuleBody body = null; }
-  decl=listRuleDecl body=listRuleBody semi:SEMI 
-{ retVal = new ListRule(decl, body, semi); }
-;
-
-listRuleDecl returns [ ListRuleDecl retVal = null ]
-:
-{ Id name = null; Attrs attrs = null; }
-  list_KW:"list" name=id ( attrs=attrs )? colon:COLON 
-{ retVal = new ListRuleDecl(list_KW, name, attrs, colon); }
-;
-
-listRuleBody returns [ ListRuleBody retVal = null ]
-:
-{ SimpleExpr listExpr = null; SimpleExpr separator = null; SimpleExpr listExpr2 = null; ListMark listMark = null; }
-  listExpr=simpleExpr ( lparen:LPAREN separator=simpleExpr listExpr2=simpleExpr rparen:RPAREN )? listMark=listMark 
-{ retVal = new ListRuleBody(listExpr, lparen, separator, listExpr2, rparen, listMark); }
-;
-
-listMark returns [ ListMark retVal = null ]
-{ Token tok = LT(1); }
-: ( STAR
-  | PLUS
-  )
-{ retVal = new ListMark(tok); }
-;
-
-seqRule returns [ SeqRule retVal = null ]
-:
-{ SeqRuleDecl decl = null; Seq body = null; }
-  decl=seqRuleDecl body=seq semi:SEMI 
-{ retVal = new SeqRule(decl, body, semi); }
-;
-
-seqRuleDecl returns [ SeqRuleDecl retVal = null ]
-:
-{ Id name = null; Attrs attrs = null; }
-  sequence_KW:"sequence" name=id ( attrs=attrs )? colon:COLON 
-{ retVal = new SeqRuleDecl(sequence_KW, name, attrs, colon); }
-;
-
-seq returns [ Seq retVal = new Seq() ]
-:
-{ Expr expr = null; }
-  ( expr=expr { retVal.addChild(expr); } )+
-;
-
-tokenRule returns [ TokenRule retVal = null ]
-:
-{ TokenRuleDecl decl = null; Alts body = null; }
-  decl=tokenRuleDecl body=alts semi:SEMI 
-{ retVal = new TokenRule(decl, body, semi); }
-;
-
-tokenRuleDecl returns [ TokenRuleDecl retVal = null ]
-:
-{ Id name = null; Attrs attrs = null; }
-  token_KW:"token" name=id ( attrs=attrs )? colon:COLON 
-{ retVal = new TokenRuleDecl(token_KW, name, attrs, colon); }
-;
-
-expr returns [ Expr retVal = null ]
-:
-  ( retVal=optSubSeq
-  | retVal=simpleExpr
-  )
-;
-
-optSubSeq returns [ OptSubSeq retVal = null ]
-:
-{ Seq seq = null; }
-  lparen:LPAREN seq=seq rparen:RPAREN qmark:QMARK 
-{ retVal = new OptSubSeq(lparen, seq, rparen, qmark); }
-;
-
-simpleExpr returns [ SimpleExpr retVal = null ]
-:
-{ Id name = null; Atom value = null; Attrs attrs = null; }
-  ( name=id equals:EQUALS )? value=atom ( attrs=attrs )? 
-{ retVal = new SimpleExpr(name, equals, value, attrs); }
-;
-
-attrs returns [ Attrs retVal = null ]
-:
-{ AttrList attrList = null; }
-  lsquare:LSQUARE attrList=attrList rsquare:RSQUARE 
-{ retVal = new Attrs(lsquare, attrList, rsquare); }
-;
-
-attrList returns [ AttrList retVal = new AttrList() ]
-:
-  id1:ID { retVal.addChild(id1); } 
-  ( comma:COMMA idn:ID { retVal.addChild(comma); retVal.addChild(idn); } )*
-;
-
-atom returns [ Atom retVal = null ]
-{ Token tok = LT(1); }
-: ( ID
-  | STRING_LITERAL
-  | "abstract"
-  | "container"
-  | "interface"
-  | "language"
-  | "list"
-  | "options"
-  | "sequence"
-  | "token"
-  )
-{ retVal = new Atom(tok); }
-;
-
-id returns [ Id retVal = null ]
-{ Token tok = LT(1); }
-: ( ID
-  | "abstract"
-  | "container"
-  | "interface"
-  | "language"
-  | "list"
-  | "options"
-  | "sequence"
-  | "token"
-  )
-{ retVal = new Id(tok); }
-;
-
-
-
-class GymnastLexer extends Lexer;
-
-options
-{
-	testLiterals=false;
-	k=3;
-	charVocabulary='\003'..'\377';
-}
-
-
-LCURLY  : '{';
-RCURLY  : '}';
-LSQUARE : '[';
-RSQUARE : ']';
-LPAREN  : '(';
-RPAREN  : ')';
-
-DOT     : '.';
-COMMA   : ',';
-COLON   : ':';
-SEMI    : ';';
-PIPE    : '|';
-
-STAR    : '*';
-PLUS    : '+';
-EQUALS  : '=';
-QMARK   : '?';
-BANG    : '!';
-
-STRING_LITERAL : '"' (ESC | ~'"')* '"' ;
-
-// TODO: The (DIGIT DIGIT DIGIT) is cheesy it should be something like
-//       ( options { warnWhenFollowAmbig = false; } : (DIGIT)+ )
-//       but I don't want to deal with parsing that yet.
-protected ESC :
-'\\' ('t' | 'f' | 'r' | 'n' | '"' | '\'' | '\\' | (DIGIT DIGIT DIGIT) )
-;
-
-ID options { testLiterals=true; }
-: ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | DIGIT)* ;
-
-INT_LITERAL : (DIGIT)+ ;
-
-protected DIGIT : '0'..'9';
-
-WS : (' ' | '\t' | '\f' | '\r' | '\n')+ 
-{ $setType(Token.SKIP); }
-;
-
-SINGLE_LINE_COMMENT : "//" (~('\n'|'\r'))* ('\n'|'\r')?
-{ $setType(Token.SKIP); }
-;
-
-MULTI_LINE_COMMENT : "/*" ("*/" | (~'!' (~'*' | '*' ~'/')* "*/"))
-{ $setType(Token.SKIP); }
-;
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastLexer.g b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastLexer.g
deleted file mode 100644
index b6ad6ef..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastLexer.g
+++ /dev/null
@@ -1,57 +0,0 @@
-
-class GymnastLexer extends Lexer;
-
-options
-{
-	testLiterals=false;
-	k=3;
-	charVocabulary='\003'..'\377';
-}
-
-
-LCURLY  : '{';
-RCURLY  : '}';
-LSQUARE : '[';
-RSQUARE : ']';
-LPAREN  : '(';
-RPAREN  : ')';
-
-DOT     : '.';
-COMMA   : ',';
-COLON   : ':';
-SEMI    : ';';
-PIPE    : '|';
-
-STAR    : '*';
-PLUS    : '+';
-EQUALS  : '=';
-QMARK   : '?';
-BANG    : '!';
-
-STRING_LITERAL : '"' (ESC | ~'"')* '"' ;
-
-// TODO: The (DIGIT DIGIT DIGIT) is cheesy it should be something like
-//       ( options { warnWhenFollowAmbig = false; } : (DIGIT)+ )
-//       but I don't want to deal with parsing that yet.
-protected ESC :
-'\\' ('t' | 'f' | 'r' | 'n' | '"' | '\'' | '\\' | (DIGIT DIGIT DIGIT) )
-;
-
-ID options { testLiterals=true; }
-: ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | DIGIT)* ;
-
-INT_LITERAL : (DIGIT)+ ;
-
-protected DIGIT : '0'..'9';
-
-WS : (' ' | '\t' | '\f' | '\r' | '\n')+ 
-{ $setType(Token.SKIP); }
-;
-
-SINGLE_LINE_COMMENT : "//" (~('\n'|'\r'))* ('\n'|'\r')?
-{ $setType(Token.SKIP); }
-;
-
-MULTI_LINE_COMMENT : "/*" ("*/" | (~'!' (~'*' | '*' ~'/')* "*/"))
-{ $setType(Token.SKIP); }
-;
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastLexer.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastLexer.java
deleted file mode 100644
index 0316a09..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastLexer.java
+++ /dev/null
@@ -1,855 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-// $ANTLR : "Gymnast.g" -> "GymnastLexer.java"$
-
-package org.eclipse.gymnast.generator.core.parser;
-import java.io.InputStream;
-import java.io.Reader;
-import java.util.Hashtable;
-
-import antlr.ANTLRHashString;
-import antlr.ByteBuffer;
-import antlr.CharBuffer;
-import antlr.CharStreamException;
-import antlr.CharStreamIOException;
-import antlr.InputBuffer;
-import antlr.LexerSharedInputState;
-import antlr.NoViableAltForCharException;
-import antlr.RecognitionException;
-import antlr.Token;
-import antlr.TokenStream;
-import antlr.TokenStreamException;
-import antlr.TokenStreamIOException;
-import antlr.TokenStreamRecognitionException;
-import antlr.collections.impl.BitSet;
-
-public class GymnastLexer extends antlr.CharScanner implements GymnastParserTokenTypes, TokenStream
- {
-public GymnastLexer(InputStream in) {
-	this(new ByteBuffer(in));
-}
-public GymnastLexer(Reader in) {
-	this(new CharBuffer(in));
-}
-public GymnastLexer(InputBuffer ib) {
-	this(new LexerSharedInputState(ib));
-}
-public GymnastLexer(LexerSharedInputState state) {
-	super(state);
-	caseSensitiveLiterals = true;
-	setCaseSensitive(true);
-	literals = new Hashtable();
-	literals.put(new ANTLRHashString("container", this), new Integer(15));
-	literals.put(new ANTLRHashString("token", this), new Integer(24));
-	literals.put(new ANTLRHashString("abstract", this), new Integer(14));
-	literals.put(new ANTLRHashString("sequence", this), new Integer(23));
-	literals.put(new ANTLRHashString("language", this), new Integer(4));
-	literals.put(new ANTLRHashString("interface", this), new Integer(16));
-	literals.put(new ANTLRHashString("options", this), new Integer(6));
-	literals.put(new ANTLRHashString("list", this), new Integer(20));
-}
-
-public Token nextToken() throws TokenStreamException {
-	Token theRetToken=null;
-tryAgain:
-	for (;;) {
-		Token _token = null;
-		int _ttype = Token.INVALID_TYPE;
-		resetText();
-		try {   // for char stream error handling
-			try {   // for lexical error handling
-				switch ( LA(1)) {
-				case '{':
-				{
-					mLCURLY(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '}':
-				{
-					mRCURLY(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '[':
-				{
-					mLSQUARE(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case ']':
-				{
-					mRSQUARE(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '(':
-				{
-					mLPAREN(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case ')':
-				{
-					mRPAREN(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '.':
-				{
-					mDOT(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case ',':
-				{
-					mCOMMA(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case ':':
-				{
-					mCOLON(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case ';':
-				{
-					mSEMI(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '|':
-				{
-					mPIPE(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '*':
-				{
-					mSTAR(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '+':
-				{
-					mPLUS(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '=':
-				{
-					mEQUALS(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '?':
-				{
-					mQMARK(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '!':
-				{
-					mBANG(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '"':
-				{
-					mSTRING_LITERAL(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case 'A':  case 'B':  case 'C':  case 'D':
-				case 'E':  case 'F':  case 'G':  case 'H':
-				case 'I':  case 'J':  case 'K':  case 'L':
-				case 'M':  case 'N':  case 'O':  case 'P':
-				case 'Q':  case 'R':  case 'S':  case 'T':
-				case 'U':  case 'V':  case 'W':  case 'X':
-				case 'Y':  case 'Z':  case '_':  case 'a':
-				case 'b':  case 'c':  case 'd':  case 'e':
-				case 'f':  case 'g':  case 'h':  case 'i':
-				case 'j':  case 'k':  case 'l':  case 'm':
-				case 'n':  case 'o':  case 'p':  case 'q':
-				case 'r':  case 's':  case 't':  case 'u':
-				case 'v':  case 'w':  case 'x':  case 'y':
-				case 'z':
-				{
-					mID(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '0':  case '1':  case '2':  case '3':
-				case '4':  case '5':  case '6':  case '7':
-				case '8':  case '9':
-				{
-					mINT_LITERAL(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				case '\t':  case '\n':  case '\u000c':  case '\r':
-				case ' ':
-				{
-					mWS(true);
-					theRetToken=_returnToken;
-					break;
-				}
-				default:
-					if ((LA(1)=='/') && (LA(2)=='/')) {
-						mSINGLE_LINE_COMMENT(true);
-						theRetToken=_returnToken;
-					}
-					else if ((LA(1)=='/') && (LA(2)=='*')) {
-						mMULTI_LINE_COMMENT(true);
-						theRetToken=_returnToken;
-					}
-				else {
-					if (LA(1)==EOF_CHAR) {uponEOF(); _returnToken = makeToken(Token.EOF_TYPE);}
-				else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
-				}
-				}
-				if ( _returnToken==null ) continue tryAgain; // found SKIP token
-				_ttype = _returnToken.getType();
-				_returnToken.setType(_ttype);
-				return _returnToken;
-			}
-			catch (RecognitionException e) {
-				throw new TokenStreamRecognitionException(e);
-			}
-		}
-		catch (CharStreamException cse) {
-			if ( cse instanceof CharStreamIOException ) {
-				throw new TokenStreamIOException(((CharStreamIOException)cse).io);
-			}
-			else {
-				throw new TokenStreamException(cse.getMessage());
-			}
-		}
-	}
-}
-
-	public final void mLCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = LCURLY;
-		int _saveIndex;
-		
-		match('{');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mRCURLY(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = RCURLY;
-		int _saveIndex;
-		
-		match('}');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mLSQUARE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = LSQUARE;
-		int _saveIndex;
-		
-		match('[');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mRSQUARE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = RSQUARE;
-		int _saveIndex;
-		
-		match(']');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mLPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = LPAREN;
-		int _saveIndex;
-		
-		match('(');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mRPAREN(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = RPAREN;
-		int _saveIndex;
-		
-		match(')');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mDOT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = DOT;
-		int _saveIndex;
-		
-		match('.');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mCOMMA(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = COMMA;
-		int _saveIndex;
-		
-		match(',');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mCOLON(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = COLON;
-		int _saveIndex;
-		
-		match(':');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mSEMI(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = SEMI;
-		int _saveIndex;
-		
-		match(';');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mPIPE(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = PIPE;
-		int _saveIndex;
-		
-		match('|');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mSTAR(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = STAR;
-		int _saveIndex;
-		
-		match('*');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mPLUS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = PLUS;
-		int _saveIndex;
-		
-		match('+');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mEQUALS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = EQUALS;
-		int _saveIndex;
-		
-		match('=');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mQMARK(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = QMARK;
-		int _saveIndex;
-		
-		match('?');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mBANG(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = BANG;
-		int _saveIndex;
-		
-		match('!');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mSTRING_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = STRING_LITERAL;
-		int _saveIndex;
-		
-		match('"');
-		{
-		_loop76:
-		do {
-			if ((LA(1)=='\\')) {
-				mESC(false);
-			}
-			else if ((_tokenSet_0.member(LA(1)))) {
-				matchNot('"');
-			}
-			else {
-				break _loop76;
-			}
-			
-		} while (true);
-		}
-		match('"');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	protected final void mESC(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = ESC;
-		int _saveIndex;
-		
-		match('\\');
-		{
-		switch ( LA(1)) {
-		case 't':
-		{
-			match('t');
-			break;
-		}
-		case 'f':
-		{
-			match('f');
-			break;
-		}
-		case 'r':
-		{
-			match('r');
-			break;
-		}
-		case 'n':
-		{
-			match('n');
-			break;
-		}
-		case '"':
-		{
-			match('"');
-			break;
-		}
-		case '\'':
-		{
-			match('\'');
-			break;
-		}
-		case '\\':
-		{
-			match('\\');
-			break;
-		}
-		case '0':  case '1':  case '2':  case '3':
-		case '4':  case '5':  case '6':  case '7':
-		case '8':  case '9':
-		{
-			{
-			mDIGIT(false);
-			mDIGIT(false);
-			mDIGIT(false);
-			}
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
-		}
-		}
-		}
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	protected final void mDIGIT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = DIGIT;
-		int _saveIndex;
-		
-		matchRange('0','9');
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mID(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = ID;
-		int _saveIndex;
-		
-		{
-		switch ( LA(1)) {
-		case 'a':  case 'b':  case 'c':  case 'd':
-		case 'e':  case 'f':  case 'g':  case 'h':
-		case 'i':  case 'j':  case 'k':  case 'l':
-		case 'm':  case 'n':  case 'o':  case 'p':
-		case 'q':  case 'r':  case 's':  case 't':
-		case 'u':  case 'v':  case 'w':  case 'x':
-		case 'y':  case 'z':
-		{
-			matchRange('a','z');
-			break;
-		}
-		case 'A':  case 'B':  case 'C':  case 'D':
-		case 'E':  case 'F':  case 'G':  case 'H':
-		case 'I':  case 'J':  case 'K':  case 'L':
-		case 'M':  case 'N':  case 'O':  case 'P':
-		case 'Q':  case 'R':  case 'S':  case 'T':
-		case 'U':  case 'V':  case 'W':  case 'X':
-		case 'Y':  case 'Z':
-		{
-			matchRange('A','Z');
-			break;
-		}
-		case '_':
-		{
-			match('_');
-			break;
-		}
-		default:
-		{
-			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
-		}
-		}
-		}
-		{
-		_loop83:
-		do {
-			switch ( LA(1)) {
-			case 'a':  case 'b':  case 'c':  case 'd':
-			case 'e':  case 'f':  case 'g':  case 'h':
-			case 'i':  case 'j':  case 'k':  case 'l':
-			case 'm':  case 'n':  case 'o':  case 'p':
-			case 'q':  case 'r':  case 's':  case 't':
-			case 'u':  case 'v':  case 'w':  case 'x':
-			case 'y':  case 'z':
-			{
-				matchRange('a','z');
-				break;
-			}
-			case 'A':  case 'B':  case 'C':  case 'D':
-			case 'E':  case 'F':  case 'G':  case 'H':
-			case 'I':  case 'J':  case 'K':  case 'L':
-			case 'M':  case 'N':  case 'O':  case 'P':
-			case 'Q':  case 'R':  case 'S':  case 'T':
-			case 'U':  case 'V':  case 'W':  case 'X':
-			case 'Y':  case 'Z':
-			{
-				matchRange('A','Z');
-				break;
-			}
-			case '_':
-			{
-				match('_');
-				break;
-			}
-			case '0':  case '1':  case '2':  case '3':
-			case '4':  case '5':  case '6':  case '7':
-			case '8':  case '9':
-			{
-				mDIGIT(false);
-				break;
-			}
-			default:
-			{
-				break _loop83;
-			}
-			}
-		} while (true);
-		}
-		_ttype = testLiteralsTable(_ttype);
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mINT_LITERAL(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = INT_LITERAL;
-		int _saveIndex;
-		
-		{
-		int _cnt86=0;
-		_loop86:
-		do {
-			if (((LA(1) >= '0' && LA(1) <= '9'))) {
-				mDIGIT(false);
-			}
-			else {
-				if ( _cnt86>=1 ) { break _loop86; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
-			}
-			
-			_cnt86++;
-		} while (true);
-		}
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mWS(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = WS;
-		int _saveIndex;
-		
-		{
-		int _cnt90=0;
-		_loop90:
-		do {
-			switch ( LA(1)) {
-			case ' ':
-			{
-				match(' ');
-				break;
-			}
-			case '\t':
-			{
-				match('\t');
-				break;
-			}
-			case '\u000c':
-			{
-				match('\f');
-				break;
-			}
-			case '\r':
-			{
-				match('\r');
-				break;
-			}
-			case '\n':
-			{
-				match('\n');
-				break;
-			}
-			default:
-			{
-				if ( _cnt90>=1 ) { break _loop90; } else {throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());}
-			}
-			}
-			_cnt90++;
-		} while (true);
-		}
-		_ttype = Token.SKIP;
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mSINGLE_LINE_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = SINGLE_LINE_COMMENT;
-		int _saveIndex;
-		
-		match("//");
-		{
-		_loop94:
-		do {
-			if ((_tokenSet_1.member(LA(1)))) {
-				{
-				match(_tokenSet_1);
-				}
-			}
-			else {
-				break _loop94;
-			}
-			
-		} while (true);
-		}
-		{
-		switch ( LA(1)) {
-		case '\n':
-		{
-			match('\n');
-			break;
-		}
-		case '\r':
-		{
-			match('\r');
-			break;
-		}
-		default:
-			{
-			}
-		}
-		}
-		_ttype = Token.SKIP;
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	public final void mMULTI_LINE_COMMENT(boolean _createToken) throws RecognitionException, CharStreamException, TokenStreamException {
-		int _ttype; Token _token=null; int _begin=text.length();
-		_ttype = MULTI_LINE_COMMENT;
-		int _saveIndex;
-		
-		match("/*");
-		{
-		if ((_tokenSet_2.member(LA(1))) && ((LA(2) >= '\u0003' && LA(2) <= '\u00ff')) && ((LA(3) >= '\u0003' && LA(3) <= '\u00ff'))) {
-			{
-			matchNot('!');
-			{
-			_loop100:
-			do {
-				if ((LA(1)=='*') && (_tokenSet_3.member(LA(2)))) {
-					match('*');
-					matchNot('/');
-				}
-				else if ((_tokenSet_4.member(LA(1)))) {
-					matchNot('*');
-				}
-				else {
-					break _loop100;
-				}
-				
-			} while (true);
-			}
-			match("*/");
-			}
-		}
-		else if ((LA(1)=='*') && (LA(2)=='/') && (true)) {
-			match("*/");
-		}
-		else {
-			throw new NoViableAltForCharException((char)LA(1), getFilename(), getLine(), getColumn());
-		}
-		
-		}
-		_ttype = Token.SKIP;
-		if ( _createToken && _token==null && _ttype!=Token.SKIP ) {
-			_token = makeToken(_ttype);
-			_token.setText(new String(text.getBuffer(), _begin, text.length()-_begin));
-		}
-		_returnToken = _token;
-	}
-	
-	
-	private static final long[] mk_tokenSet_0() {
-		long[] data = new long[8];
-		data[0]=-17179869192L;
-		data[1]=-268435457L;
-		for (int i = 2; i<=3; i++) { data[i]=-1L; }
-		return data;
-	}
-	public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
-	private static final long[] mk_tokenSet_1() {
-		long[] data = new long[8];
-		data[0]=-9224L;
-		for (int i = 1; i<=3; i++) { data[i]=-1L; }
-		return data;
-	}
-	public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
-	private static final long[] mk_tokenSet_2() {
-		long[] data = new long[8];
-		data[0]=-8589934600L;
-		for (int i = 1; i<=3; i++) { data[i]=-1L; }
-		return data;
-	}
-	public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
-	private static final long[] mk_tokenSet_3() {
-		long[] data = new long[8];
-		data[0]=-140737488355336L;
-		for (int i = 1; i<=3; i++) { data[i]=-1L; }
-		return data;
-	}
-	public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3());
-	private static final long[] mk_tokenSet_4() {
-		long[] data = new long[8];
-		data[0]=-4398046511112L;
-		for (int i = 1; i<=3; i++) { data[i]=-1L; }
-		return data;
-	}
-	public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4());
-	
-	}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastLexer.jj b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastLexer.jj
deleted file mode 100644
index e89387b..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastLexer.jj
+++ /dev/null
@@ -1,47 +0,0 @@
-
-TOKEN : { <STRING_LITERAL : "\"" (<ESC> | ~["\""])* "\"" > }
-TOKEN : {
-  <#ESC: "\\" ["t","f","r","n","\"","'","\\"] >
-}
-
-TOKEN : {
-  <ID : ("~")? (["a"-"z","A"-"Z","_"]) (["a"-"z","A"-"Z","_"] | <DIGIT>)* >
-}
-
-TOKEN : { <INT_LITERAL: (<DIGIT>)+ > }
-TOKEN : { <#DIGIT: ["0"-"9"] > }
-
-TOKEN :
-{ <LCURLY  : "{">
-| <RCURLY  : "}">
-| <LSQUARE : "[">
-| <RSQUARE : "]">
-| <LPAREN  : "(">
-| <RPAREN  : ")">
-
-| <DOT     : ".">
-| <COMMA   : ",">
-| <COLON   : ":">
-| <SEMI    : ";">
-| <PIPE    : "|">
-
-| <STAR    : "*">
-| <PLUS    : "+">
-| <EQUALS  : "=">
-| <QMARK   : "?">
-| <BANG    : "!">
-}
-
-SKIP :
-{
-  " "
-| "\t"
-| "\f"
-| "\r"
-| "\n"
-}
-
-SKIP :
-{ <SINGLE_LINE_COMMENT: "//" (~["\r","\n"])* ["\r","\n"] >
-| <MULTI_LINE_COMMENT: "/*" ("*/" | (~["!"] (~["*"] | ("*" ~["/"]))* "*/")) >
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastParser.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastParser.java
deleted file mode 100644
index 71c609b..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastParser.java
+++ /dev/null
@@ -1,1328 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-// $ANTLR : "Gymnast.g" -> "GymnastParser.java"$
-
-package org.eclipse.gymnast.generator.core.parser;
-import org.eclipse.gymnast.generator.core.ast.AltRule;
-import org.eclipse.gymnast.generator.core.ast.AltRuleBody;
-import org.eclipse.gymnast.generator.core.ast.AltRuleDecl;
-import org.eclipse.gymnast.generator.core.ast.AltRuleKind;
-import org.eclipse.gymnast.generator.core.ast.AltSeq;
-import org.eclipse.gymnast.generator.core.ast.Alts;
-import org.eclipse.gymnast.generator.core.ast.Atom;
-import org.eclipse.gymnast.generator.core.ast.AttrList;
-import org.eclipse.gymnast.generator.core.ast.Attrs;
-import org.eclipse.gymnast.generator.core.ast.CompUnit;
-import org.eclipse.gymnast.generator.core.ast.Expr;
-import org.eclipse.gymnast.generator.core.ast.Grammar;
-import org.eclipse.gymnast.generator.core.ast.HeaderSection;
-import org.eclipse.gymnast.generator.core.ast.Id;
-import org.eclipse.gymnast.generator.core.ast.ListMark;
-import org.eclipse.gymnast.generator.core.ast.ListRule;
-import org.eclipse.gymnast.generator.core.ast.ListRuleBody;
-import org.eclipse.gymnast.generator.core.ast.ListRuleDecl;
-import org.eclipse.gymnast.generator.core.ast.OptSubSeq;
-import org.eclipse.gymnast.generator.core.ast.Option;
-import org.eclipse.gymnast.generator.core.ast.OptionList;
-import org.eclipse.gymnast.generator.core.ast.OptionValue;
-import org.eclipse.gymnast.generator.core.ast.OptionsSection;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.ast.Seq;
-import org.eclipse.gymnast.generator.core.ast.SeqRule;
-import org.eclipse.gymnast.generator.core.ast.SeqRuleDecl;
-import org.eclipse.gymnast.generator.core.ast.SimpleExpr;
-import org.eclipse.gymnast.generator.core.ast.TokenRule;
-import org.eclipse.gymnast.generator.core.ast.TokenRuleDecl;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-import org.eclipse.gymnast.runtime.core.parser.ParseError;
-import org.eclipse.gymnast.runtime.core.parser.ParseWarning;
-
-import antlr.NoViableAltException;
-import antlr.ParserSharedInputState;
-import antlr.RecognitionException;
-import antlr.Token;
-import antlr.TokenBuffer;
-import antlr.TokenStream;
-import antlr.TokenStreamException;
-import antlr.collections.impl.BitSet;
-
-
-public class GymnastParser extends antlr.LLkParser       implements GymnastParserTokenTypes
- {
-
-	private ParseContext _parseContext;
-	public void setParseContext(ParseContext parseContext) {
-		_parseContext = parseContext;
-	}
-	
-    public void reportError(RecognitionException ex) {
-        if (_parseContext != null) {
-        	_parseContext.addParseMessage(ParserDriver.createParseError(ex));
-        }
-    }
-
-    public void reportError(String s) {
-        if (_parseContext != null) {
-        	_parseContext.addParseMessage(new ParseError(s, -1));
-        }
-    }
-
-    public void reportWarning(String s) {
-    	if (_parseContext != null) {
-        	_parseContext.addParseMessage(new ParseWarning(s, -1));
-        }
-    }
-
-protected GymnastParser(TokenBuffer tokenBuf, int k) {
-  super(tokenBuf,k);
-  tokenNames = _tokenNames;
-}
-
-public GymnastParser(TokenBuffer tokenBuf) {
-  this(tokenBuf,2);
-}
-
-protected GymnastParser(TokenStream lexer, int k) {
-  super(lexer,k);
-  tokenNames = _tokenNames;
-}
-
-public GymnastParser(TokenStream lexer) {
-  this(lexer,2);
-}
-
-public GymnastParser(ParserSharedInputState state) {
-  super(state,2);
-  tokenNames = _tokenNames;
-}
-
-	public final CompUnit  compUnit() throws RecognitionException, TokenStreamException {
-		 CompUnit retVal = null ;
-		
-		
-		try {      // for error handling
-			HeaderSection headerSection = null; Grammar grammar = null;
-			headerSection=headerSection();
-			grammar=grammar();
-			match(Token.EOF_TYPE);
-			retVal = new CompUnit(headerSection, grammar);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_0);
-		}
-		return retVal;
-	}
-	
-	public final HeaderSection  headerSection() throws RecognitionException, TokenStreamException {
-		 HeaderSection retVal = null ;
-		
-		Token  language_KW = null;
-		Token  semi = null;
-		
-		try {      // for error handling
-			Id name = null; OptionsSection optionsSection = null;
-			language_KW = LT(1);
-			match(LITERAL_language);
-			name=id();
-			semi = LT(1);
-			match(SEMI);
-			{
-			switch ( LA(1)) {
-			case LITERAL_options:
-			{
-				optionsSection=optionsSection();
-				break;
-			}
-			case EOF:
-			case LITERAL_abstract:
-			case LITERAL_container:
-			case LITERAL_interface:
-			case LITERAL_list:
-			case LITERAL_sequence:
-			case LITERAL_token:
-			{
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			retVal = new HeaderSection(language_KW, name, semi, optionsSection);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_1);
-		}
-		return retVal;
-	}
-	
-	public final Grammar  grammar() throws RecognitionException, TokenStreamException {
-		 Grammar retVal = new Grammar() ;
-		
-		
-		try {      // for error handling
-			Rule rule = null;
-			{
-			_loop13:
-			do {
-				if ((_tokenSet_2.member(LA(1)))) {
-					rule=rule();
-					retVal.addChild(rule);
-				}
-				else {
-					break _loop13;
-				}
-				
-			} while (true);
-			}
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_0);
-		}
-		return retVal;
-	}
-	
-	public final Id  id() throws RecognitionException, TokenStreamException {
-		 Id retVal = null ;
-		
-		Token tok = LT(1);
-		
-		try {      // for error handling
-			{
-			switch ( LA(1)) {
-			case ID:
-			{
-				match(ID);
-				break;
-			}
-			case LITERAL_abstract:
-			{
-				match(LITERAL_abstract);
-				break;
-			}
-			case LITERAL_container:
-			{
-				match(LITERAL_container);
-				break;
-			}
-			case LITERAL_interface:
-			{
-				match(LITERAL_interface);
-				break;
-			}
-			case LITERAL_language:
-			{
-				match(LITERAL_language);
-				break;
-			}
-			case LITERAL_list:
-			{
-				match(LITERAL_list);
-				break;
-			}
-			case LITERAL_options:
-			{
-				match(LITERAL_options);
-				break;
-			}
-			case LITERAL_sequence:
-			{
-				match(LITERAL_sequence);
-				break;
-			}
-			case LITERAL_token:
-			{
-				match(LITERAL_token);
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			retVal = new Id(tok);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_3);
-		}
-		return retVal;
-	}
-	
-	public final OptionsSection  optionsSection() throws RecognitionException, TokenStreamException {
-		 OptionsSection retVal = null ;
-		
-		Token  options_KW = null;
-		Token  lcurly = null;
-		Token  rcurly = null;
-		
-		try {      // for error handling
-			OptionList optionList = null;
-			options_KW = LT(1);
-			match(LITERAL_options);
-			lcurly = LT(1);
-			match(LCURLY);
-			optionList=optionList();
-			rcurly = LT(1);
-			match(RCURLY);
-			retVal = new OptionsSection(options_KW, lcurly, optionList, rcurly);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_1);
-		}
-		return retVal;
-	}
-	
-	public final OptionList  optionList() throws RecognitionException, TokenStreamException {
-		 OptionList retVal = new OptionList() ;
-		
-		
-		try {      // for error handling
-			Option option = null;
-			{
-			_loop7:
-			do {
-				if ((_tokenSet_4.member(LA(1)))) {
-					option=option();
-					retVal.addChild(option);
-				}
-				else {
-					break _loop7;
-				}
-				
-			} while (true);
-			}
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_5);
-		}
-		return retVal;
-	}
-	
-	public final Option  option() throws RecognitionException, TokenStreamException {
-		 Option retVal = null ;
-		
-		Token  equals = null;
-		Token  semi = null;
-		
-		try {      // for error handling
-			Id name = null; OptionValue value = null;
-			name=id();
-			equals = LT(1);
-			match(EQUALS);
-			value=optionValue();
-			semi = LT(1);
-			match(SEMI);
-			retVal = new Option(name, equals, value, semi);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_6);
-		}
-		return retVal;
-	}
-	
-	public final OptionValue  optionValue() throws RecognitionException, TokenStreamException {
-		 OptionValue retVal = null ;
-		
-		Token tok = LT(1);
-		
-		try {      // for error handling
-			{
-			switch ( LA(1)) {
-			case ID:
-			{
-				match(ID);
-				break;
-			}
-			case STRING_LITERAL:
-			{
-				match(STRING_LITERAL);
-				break;
-			}
-			case INT_LITERAL:
-			{
-				match(INT_LITERAL);
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			retVal = new OptionValue(tok);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_7);
-		}
-		return retVal;
-	}
-	
-	public final Rule  rule() throws RecognitionException, TokenStreamException {
-		 Rule retVal = null ;
-		
-		
-		try {      // for error handling
-			{
-			switch ( LA(1)) {
-			case LITERAL_abstract:
-			case LITERAL_container:
-			case LITERAL_interface:
-			{
-				retVal=altRule();
-				break;
-			}
-			case LITERAL_list:
-			{
-				retVal=listRule();
-				break;
-			}
-			case LITERAL_sequence:
-			{
-				retVal=seqRule();
-				break;
-			}
-			case LITERAL_token:
-			{
-				retVal=tokenRule();
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_1);
-		}
-		return retVal;
-	}
-	
-	public final AltRule  altRule() throws RecognitionException, TokenStreamException {
-		 AltRule retVal = null ;
-		
-		Token  semi = null;
-		
-		try {      // for error handling
-			AltRuleDecl decl = null; AltRuleBody body = null;
-			decl=altRuleDecl();
-			body=altRuleBody();
-			semi = LT(1);
-			match(SEMI);
-			retVal = new AltRule(decl, body, semi);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_1);
-		}
-		return retVal;
-	}
-	
-	public final ListRule  listRule() throws RecognitionException, TokenStreamException {
-		 ListRule retVal = null ;
-		
-		Token  semi = null;
-		
-		try {      // for error handling
-			ListRuleDecl decl = null; ListRuleBody body = null;
-			decl=listRuleDecl();
-			body=listRuleBody();
-			semi = LT(1);
-			match(SEMI);
-			retVal = new ListRule(decl, body, semi);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_1);
-		}
-		return retVal;
-	}
-	
-	public final SeqRule  seqRule() throws RecognitionException, TokenStreamException {
-		 SeqRule retVal = null ;
-		
-		Token  semi = null;
-		
-		try {      // for error handling
-			SeqRuleDecl decl = null; Seq body = null;
-			decl=seqRuleDecl();
-			body=seq();
-			semi = LT(1);
-			match(SEMI);
-			retVal = new SeqRule(decl, body, semi);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_1);
-		}
-		return retVal;
-	}
-	
-	public final TokenRule  tokenRule() throws RecognitionException, TokenStreamException {
-		 TokenRule retVal = null ;
-		
-		Token  semi = null;
-		
-		try {      // for error handling
-			TokenRuleDecl decl = null; Alts body = null;
-			decl=tokenRuleDecl();
-			body=alts();
-			semi = LT(1);
-			match(SEMI);
-			retVal = new TokenRule(decl, body, semi);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_1);
-		}
-		return retVal;
-	}
-	
-	public final AltRuleDecl  altRuleDecl() throws RecognitionException, TokenStreamException {
-		 AltRuleDecl retVal = null ;
-		
-		Token  colon = null;
-		
-		try {      // for error handling
-			AltRuleKind kind = null; Id name = null; Attrs attrs = null;
-			kind=altRuleKind();
-			name=id();
-			{
-			switch ( LA(1)) {
-			case LSQUARE:
-			{
-				attrs=attrs();
-				break;
-			}
-			case COLON:
-			{
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			colon = LT(1);
-			match(COLON);
-			retVal = new AltRuleDecl(kind, name, attrs, colon);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_8);
-		}
-		return retVal;
-	}
-	
-	public final AltRuleBody  altRuleBody() throws RecognitionException, TokenStreamException {
-		 AltRuleBody retVal = null ;
-		
-		
-		try {      // for error handling
-			AltSeq preSeq = null; Alts alts = null; AltSeq postSeq = null;
-			{
-			switch ( LA(1)) {
-			case LPAREN:
-			{
-				preSeq=altSeq();
-				break;
-			}
-			case LITERAL_language:
-			case LITERAL_options:
-			case ID:
-			case STRING_LITERAL:
-			case LITERAL_abstract:
-			case LITERAL_container:
-			case LITERAL_interface:
-			case LITERAL_list:
-			case LITERAL_sequence:
-			case LITERAL_token:
-			{
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			alts=alts();
-			{
-			switch ( LA(1)) {
-			case LPAREN:
-			{
-				postSeq=altSeq();
-				break;
-			}
-			case SEMI:
-			{
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			retVal = new AltRuleBody(preSeq, alts, postSeq);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_7);
-		}
-		return retVal;
-	}
-	
-	public final AltRuleKind  altRuleKind() throws RecognitionException, TokenStreamException {
-		 AltRuleKind retVal = null ;
-		
-		Token tok = LT(1);
-		
-		try {      // for error handling
-			{
-			switch ( LA(1)) {
-			case LITERAL_abstract:
-			{
-				match(LITERAL_abstract);
-				break;
-			}
-			case LITERAL_container:
-			{
-				match(LITERAL_container);
-				break;
-			}
-			case LITERAL_interface:
-			{
-				match(LITERAL_interface);
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			retVal = new AltRuleKind(tok);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_4);
-		}
-		return retVal;
-	}
-	
-	public final Attrs  attrs() throws RecognitionException, TokenStreamException {
-		 Attrs retVal = null ;
-		
-		Token  lsquare = null;
-		Token  rsquare = null;
-		
-		try {      // for error handling
-			AttrList attrList = null;
-			lsquare = LT(1);
-			match(LSQUARE);
-			attrList=attrList();
-			rsquare = LT(1);
-			match(RSQUARE);
-			retVal = new Attrs(lsquare, attrList, rsquare);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_9);
-		}
-		return retVal;
-	}
-	
-	public final AltSeq  altSeq() throws RecognitionException, TokenStreamException {
-		 AltSeq retVal = null ;
-		
-		Token  lparen = null;
-		Token  rparen = null;
-		
-		try {      // for error handling
-			Seq seq = null;
-			lparen = LT(1);
-			match(LPAREN);
-			seq=seq();
-			rparen = LT(1);
-			match(RPAREN);
-			retVal = new AltSeq(lparen, seq, rparen);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_10);
-		}
-		return retVal;
-	}
-	
-	public final Alts  alts() throws RecognitionException, TokenStreamException {
-		 Alts retVal = new Alts() ;
-		
-		Token  pipe = null;
-		
-		try {      // for error handling
-			SimpleExpr se1 = null; SimpleExpr sen = null;
-			se1=simpleExpr();
-			retVal.addChild(se1);
-			{
-			_loop26:
-			do {
-				if ((LA(1)==PIPE)) {
-					pipe = LT(1);
-					match(PIPE);
-					sen=simpleExpr();
-					retVal.addChild(pipe); retVal.addChild(sen);
-				}
-				else {
-					break _loop26;
-				}
-				
-			} while (true);
-			}
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_11);
-		}
-		return retVal;
-	}
-	
-	public final SimpleExpr  simpleExpr() throws RecognitionException, TokenStreamException {
-		 SimpleExpr retVal = null ;
-		
-		Token  equals = null;
-		
-		try {      // for error handling
-			Id name = null; Atom value = null; Attrs attrs = null;
-			{
-			if ((_tokenSet_4.member(LA(1))) && (LA(2)==EQUALS)) {
-				name=id();
-				equals = LT(1);
-				match(EQUALS);
-			}
-			else if ((_tokenSet_12.member(LA(1))) && (_tokenSet_13.member(LA(2)))) {
-			}
-			else {
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			
-			}
-			value=atom();
-			{
-			switch ( LA(1)) {
-			case LSQUARE:
-			{
-				attrs=attrs();
-				break;
-			}
-			case LITERAL_language:
-			case SEMI:
-			case LITERAL_options:
-			case ID:
-			case STRING_LITERAL:
-			case LITERAL_abstract:
-			case LITERAL_container:
-			case LITERAL_interface:
-			case PIPE:
-			case LPAREN:
-			case RPAREN:
-			case LITERAL_list:
-			case STAR:
-			case PLUS:
-			case LITERAL_sequence:
-			case LITERAL_token:
-			{
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			retVal = new SimpleExpr(name, equals, value, attrs);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_14);
-		}
-		return retVal;
-	}
-	
-	public final Seq  seq() throws RecognitionException, TokenStreamException {
-		 Seq retVal = new Seq() ;
-		
-		
-		try {      // for error handling
-			Expr expr = null;
-			{
-			int _cnt40=0;
-			_loop40:
-			do {
-				if ((_tokenSet_8.member(LA(1)))) {
-					expr=expr();
-					retVal.addChild(expr);
-				}
-				else {
-					if ( _cnt40>=1 ) { break _loop40; } else {throw new NoViableAltException(LT(1), getFilename());}
-				}
-				
-				_cnt40++;
-			} while (true);
-			}
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_15);
-		}
-		return retVal;
-	}
-	
-	public final ListRuleDecl  listRuleDecl() throws RecognitionException, TokenStreamException {
-		 ListRuleDecl retVal = null ;
-		
-		Token  list_KW = null;
-		Token  colon = null;
-		
-		try {      // for error handling
-			Id name = null; Attrs attrs = null;
-			list_KW = LT(1);
-			match(LITERAL_list);
-			name=id();
-			{
-			switch ( LA(1)) {
-			case LSQUARE:
-			{
-				attrs=attrs();
-				break;
-			}
-			case COLON:
-			{
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			colon = LT(1);
-			match(COLON);
-			retVal = new ListRuleDecl(list_KW, name, attrs, colon);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_12);
-		}
-		return retVal;
-	}
-	
-	public final ListRuleBody  listRuleBody() throws RecognitionException, TokenStreamException {
-		 ListRuleBody retVal = null ;
-		
-		Token  lparen = null;
-		Token  rparen = null;
-		
-		try {      // for error handling
-			SimpleExpr listExpr = null; SimpleExpr separator = null; SimpleExpr listExpr2 = null; ListMark listMark = null;
-			listExpr=simpleExpr();
-			{
-			switch ( LA(1)) {
-			case LPAREN:
-			{
-				lparen = LT(1);
-				match(LPAREN);
-				separator=simpleExpr();
-				listExpr2=simpleExpr();
-				rparen = LT(1);
-				match(RPAREN);
-				break;
-			}
-			case STAR:
-			case PLUS:
-			{
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			listMark=listMark();
-			retVal = new ListRuleBody(listExpr, lparen, separator, listExpr2, rparen, listMark);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_7);
-		}
-		return retVal;
-	}
-	
-	public final ListMark  listMark() throws RecognitionException, TokenStreamException {
-		 ListMark retVal = null ;
-		
-		Token tok = LT(1);
-		
-		try {      // for error handling
-			{
-			switch ( LA(1)) {
-			case STAR:
-			{
-				match(STAR);
-				break;
-			}
-			case PLUS:
-			{
-				match(PLUS);
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			retVal = new ListMark(tok);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_7);
-		}
-		return retVal;
-	}
-	
-	public final SeqRuleDecl  seqRuleDecl() throws RecognitionException, TokenStreamException {
-		 SeqRuleDecl retVal = null ;
-		
-		Token  sequence_KW = null;
-		Token  colon = null;
-		
-		try {      // for error handling
-			Id name = null; Attrs attrs = null;
-			sequence_KW = LT(1);
-			match(LITERAL_sequence);
-			name=id();
-			{
-			switch ( LA(1)) {
-			case LSQUARE:
-			{
-				attrs=attrs();
-				break;
-			}
-			case COLON:
-			{
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			colon = LT(1);
-			match(COLON);
-			retVal = new SeqRuleDecl(sequence_KW, name, attrs, colon);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_8);
-		}
-		return retVal;
-	}
-	
-	public final Expr  expr() throws RecognitionException, TokenStreamException {
-		 Expr retVal = null ;
-		
-		
-		try {      // for error handling
-			{
-			switch ( LA(1)) {
-			case LPAREN:
-			{
-				retVal=optSubSeq();
-				break;
-			}
-			case LITERAL_language:
-			case LITERAL_options:
-			case ID:
-			case STRING_LITERAL:
-			case LITERAL_abstract:
-			case LITERAL_container:
-			case LITERAL_interface:
-			case LITERAL_list:
-			case LITERAL_sequence:
-			case LITERAL_token:
-			{
-				retVal=simpleExpr();
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_16);
-		}
-		return retVal;
-	}
-	
-	public final TokenRuleDecl  tokenRuleDecl() throws RecognitionException, TokenStreamException {
-		 TokenRuleDecl retVal = null ;
-		
-		Token  token_KW = null;
-		Token  colon = null;
-		
-		try {      // for error handling
-			Id name = null; Attrs attrs = null;
-			token_KW = LT(1);
-			match(LITERAL_token);
-			name=id();
-			{
-			switch ( LA(1)) {
-			case LSQUARE:
-			{
-				attrs=attrs();
-				break;
-			}
-			case COLON:
-			{
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			colon = LT(1);
-			match(COLON);
-			retVal = new TokenRuleDecl(token_KW, name, attrs, colon);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_12);
-		}
-		return retVal;
-	}
-	
-	public final OptSubSeq  optSubSeq() throws RecognitionException, TokenStreamException {
-		 OptSubSeq retVal = null ;
-		
-		Token  lparen = null;
-		Token  rparen = null;
-		Token  qmark = null;
-		
-		try {      // for error handling
-			Seq seq = null;
-			lparen = LT(1);
-			match(LPAREN);
-			seq=seq();
-			rparen = LT(1);
-			match(RPAREN);
-			qmark = LT(1);
-			match(QMARK);
-			retVal = new OptSubSeq(lparen, seq, rparen, qmark);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_16);
-		}
-		return retVal;
-	}
-	
-	public final Atom  atom() throws RecognitionException, TokenStreamException {
-		 Atom retVal = null ;
-		
-		Token tok = LT(1);
-		
-		try {      // for error handling
-			{
-			switch ( LA(1)) {
-			case ID:
-			{
-				match(ID);
-				break;
-			}
-			case STRING_LITERAL:
-			{
-				match(STRING_LITERAL);
-				break;
-			}
-			case LITERAL_abstract:
-			{
-				match(LITERAL_abstract);
-				break;
-			}
-			case LITERAL_container:
-			{
-				match(LITERAL_container);
-				break;
-			}
-			case LITERAL_interface:
-			{
-				match(LITERAL_interface);
-				break;
-			}
-			case LITERAL_language:
-			{
-				match(LITERAL_language);
-				break;
-			}
-			case LITERAL_list:
-			{
-				match(LITERAL_list);
-				break;
-			}
-			case LITERAL_options:
-			{
-				match(LITERAL_options);
-				break;
-			}
-			case LITERAL_sequence:
-			{
-				match(LITERAL_sequence);
-				break;
-			}
-			case LITERAL_token:
-			{
-				match(LITERAL_token);
-				break;
-			}
-			default:
-			{
-				throw new NoViableAltException(LT(1), getFilename());
-			}
-			}
-			}
-			retVal = new Atom(tok);
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_13);
-		}
-		return retVal;
-	}
-	
-	public final AttrList  attrList() throws RecognitionException, TokenStreamException {
-		 AttrList retVal = new AttrList() ;
-		
-		Token  id1 = null;
-		Token  comma = null;
-		Token  idn = null;
-		
-		try {      // for error handling
-			id1 = LT(1);
-			match(ID);
-			retVal.addChild(id1);
-			{
-			_loop53:
-			do {
-				if ((LA(1)==COMMA)) {
-					comma = LT(1);
-					match(COMMA);
-					idn = LT(1);
-					match(ID);
-					retVal.addChild(comma); retVal.addChild(idn);
-				}
-				else {
-					break _loop53;
-				}
-				
-			} while (true);
-			}
-		}
-		catch (RecognitionException ex) {
-			reportError(ex);
-			consume();
-			consumeUntil(_tokenSet_17);
-		}
-		return retVal;
-	}
-	
-	
-	public static final String[] _tokenNames = {
-		"<0>",
-		"EOF",
-		"<2>",
-		"NULL_TREE_LOOKAHEAD",
-		"\"language\"",
-		"SEMI",
-		"\"options\"",
-		"LCURLY",
-		"RCURLY",
-		"EQUALS",
-		"ID",
-		"STRING_LITERAL",
-		"INT_LITERAL",
-		"COLON",
-		"\"abstract\"",
-		"\"container\"",
-		"\"interface\"",
-		"PIPE",
-		"LPAREN",
-		"RPAREN",
-		"\"list\"",
-		"STAR",
-		"PLUS",
-		"\"sequence\"",
-		"\"token\"",
-		"QMARK",
-		"LSQUARE",
-		"RSQUARE",
-		"COMMA",
-		"DOT",
-		"BANG",
-		"ESC",
-		"DIGIT",
-		"WS",
-		"SINGLE_LINE_COMMENT",
-		"MULTI_LINE_COMMENT"
-	};
-	
-	private static final long[] mk_tokenSet_0() {
-		long[] data = { 2L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_0 = new BitSet(mk_tokenSet_0());
-	private static final long[] mk_tokenSet_1() {
-		long[] data = { 26329090L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_1 = new BitSet(mk_tokenSet_1());
-	private static final long[] mk_tokenSet_2() {
-		long[] data = { 26329088L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_2 = new BitSet(mk_tokenSet_2());
-	private static final long[] mk_tokenSet_3() {
-		long[] data = { 67117600L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_3 = new BitSet(mk_tokenSet_3());
-	private static final long[] mk_tokenSet_4() {
-		long[] data = { 26330192L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_4 = new BitSet(mk_tokenSet_4());
-	private static final long[] mk_tokenSet_5() {
-		long[] data = { 256L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_5 = new BitSet(mk_tokenSet_5());
-	private static final long[] mk_tokenSet_6() {
-		long[] data = { 26330448L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_6 = new BitSet(mk_tokenSet_6());
-	private static final long[] mk_tokenSet_7() {
-		long[] data = { 32L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_7 = new BitSet(mk_tokenSet_7());
-	private static final long[] mk_tokenSet_8() {
-		long[] data = { 26594384L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_8 = new BitSet(mk_tokenSet_8());
-	private static final long[] mk_tokenSet_9() {
-		long[] data = { 33549424L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_9 = new BitSet(mk_tokenSet_9());
-	private static final long[] mk_tokenSet_10() {
-		long[] data = { 26332272L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_10 = new BitSet(mk_tokenSet_10());
-	private static final long[] mk_tokenSet_11() {
-		long[] data = { 262176L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_11 = new BitSet(mk_tokenSet_11());
-	private static final long[] mk_tokenSet_12() {
-		long[] data = { 26332240L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_12 = new BitSet(mk_tokenSet_12());
-	private static final long[] mk_tokenSet_13() {
-		long[] data = { 100650096L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_13 = new BitSet(mk_tokenSet_13());
-	private static final long[] mk_tokenSet_14() {
-		long[] data = { 33541232L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_14 = new BitSet(mk_tokenSet_14());
-	private static final long[] mk_tokenSet_15() {
-		long[] data = { 524320L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_15 = new BitSet(mk_tokenSet_15());
-	private static final long[] mk_tokenSet_16() {
-		long[] data = { 27118704L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_16 = new BitSet(mk_tokenSet_16());
-	private static final long[] mk_tokenSet_17() {
-		long[] data = { 134217728L, 0L};
-		return data;
-	}
-	public static final BitSet _tokenSet_17 = new BitSet(mk_tokenSet_17());
-	
-	}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastParserTokenTypes.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastParserTokenTypes.java
deleted file mode 100644
index 4436e8b..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastParserTokenTypes.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-// $ANTLR : "Gymnast.g" -> "GymnastParser.java"$
-
-package org.eclipse.gymnast.generator.core.parser;
-
-public interface GymnastParserTokenTypes {
-	int EOF = 1;
-	int NULL_TREE_LOOKAHEAD = 3;
-	int LITERAL_language = 4;
-	int SEMI = 5;
-	int LITERAL_options = 6;
-	int LCURLY = 7;
-	int RCURLY = 8;
-	int EQUALS = 9;
-	int ID = 10;
-	int STRING_LITERAL = 11;
-	int INT_LITERAL = 12;
-	int COLON = 13;
-	int LITERAL_abstract = 14;
-	int LITERAL_container = 15;
-	int LITERAL_interface = 16;
-	int PIPE = 17;
-	int LPAREN = 18;
-	int RPAREN = 19;
-	int LITERAL_list = 20;
-	int STAR = 21;
-	int PLUS = 22;
-	int LITERAL_sequence = 23;
-	int LITERAL_token = 24;
-	int QMARK = 25;
-	int LSQUARE = 26;
-	int RSQUARE = 27;
-	int COMMA = 28;
-	int DOT = 29;
-	int BANG = 30;
-	int ESC = 31;
-	int DIGIT = 32;
-	int WS = 33;
-	int SINGLE_LINE_COMMENT = 34;
-	int MULTI_LINE_COMMENT = 35;
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastParserTokenTypes.txt b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastParserTokenTypes.txt
deleted file mode 100644
index 6222a54..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/GymnastParserTokenTypes.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-// $ANTLR : Gymnast.g -> GymnastParserTokenTypes.txt$
-GymnastParser    // output token vocab name
-LITERAL_language="language"=4
-SEMI=5
-LITERAL_options="options"=6
-LCURLY=7
-RCURLY=8
-EQUALS=9
-ID=10
-STRING_LITERAL=11
-INT_LITERAL=12
-COLON=13
-LITERAL_abstract="abstract"=14
-LITERAL_container="container"=15
-LITERAL_interface="interface"=16
-PIPE=17
-LPAREN=18
-RPAREN=19
-LITERAL_list="list"=20
-STAR=21
-PLUS=22
-LITERAL_sequence="sequence"=23
-LITERAL_token="token"=24
-QMARK=25
-LSQUARE=26
-RSQUARE=27
-COMMA=28
-DOT=29
-BANG=30
-ESC=31
-DIGIT=32
-WS=33
-SINGLE_LINE_COMMENT=34
-MULTI_LINE_COMMENT=35
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/ParserDriver.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/ParserDriver.java
deleted file mode 100644
index 3cab61a..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/ParserDriver.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.parser;
-
-import java.io.Reader;
-
-import org.eclipse.gymnast.generator.core.ast.CompUnit;
-import org.eclipse.gymnast.runtime.core.parser.IParser;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-import org.eclipse.gymnast.runtime.core.parser.ParseError;
-import org.eclipse.gymnast.runtime.core.parser.ParseMessage;
-
-import antlr.MismatchedCharException;
-import antlr.MismatchedTokenException;
-import antlr.NoViableAltException;
-import antlr.NoViableAltForCharException;
-import antlr.RecognitionException;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class ParserDriver implements IParser {
-	
-	public ParseContext parse(Reader input) {
-		GymnastLexer lexer = new GymnastLexer(input);
-		lexer.setColumn(0);
-		lexer.setTabSize(1);
-
-		GymnastParser parser = new GymnastParser(lexer);
-		ParseContext parseContext = new ParseContext();
-		parser.setParseContext(parseContext);
-
-		try{
-			CompUnit compUnit = parser.compUnit();
-			if (compUnit != null) {
-				parseContext.setParseRoot(compUnit);
-			}
-			
-			if (parseContext.getMessageCount() == 0) {
-				System.out.println("Parse OK!");
-			}
-			else {
-				ParseMessage[] msgs = parseContext.getMessages();
-				for (int i = 0; i < msgs.length; i++) {
-					System.err.println(msgs[i].getMessage());
-				}
-			}
-		}
-		catch (Exception ex){
-		    ex.printStackTrace();
-		}
-		
-		return parseContext;
-	}
-	
-	static ParseError createParseError(RecognitionException ex) {
-		String message = ex.getMessage();
-		int offset = ex.getColumn();
-		int length = 0;
-
-		if (ex instanceof MismatchedCharException) {
-			length = 1;
-		} else if (ex instanceof MismatchedTokenException) {
-			MismatchedTokenException ex2 = (MismatchedTokenException) ex;
-			if ((ex2.token != null) && (ex2.token.getText() != null)) {
-				length = ex2.token.getText().length();
-			}
-		} else if (ex instanceof NoViableAltException) {
-			NoViableAltException ex2 = (NoViableAltException) ex;
-			if ((ex2.token != null) && (ex2.token.getText() != null)) {
-				length = ex2.token.getText().length();
-			}
-		} else if (ex instanceof NoViableAltForCharException) {
-			length = 1;
-		}
-		
-		return new ParseError(message, offset, length);
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/gymnast.ast b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/gymnast.ast
deleted file mode 100644
index 0ba1823..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/parser/gymnast.ast
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
- 
-language Gymnast;
-
-options { k=2; }
-
-sequence compUnit [entry] : headerSection grammar ;
-
-sequence headerSection : "language" name=id SEMI (optionsSection)? ;
-
-sequence optionsSection : "options" LCURLY optionList RCURLY ;
-list optionList : option* ;
-sequence option : name=id EQUALS value=optionValue SEMI ;
-token optionValue : ID | STRING_LITERAL | INT_LITERAL ;
-
-list grammar : rule* ;
-abstract rule : altRule | listRule | seqRule | tokenRule ;
-
-sequence altRule : decl=altRuleDecl body=altRuleBody SEMI ;
-sequence altRuleDecl : kind=altRuleKind name=id (attrs)? COLON ;
-token altRuleKind : "abstract" | "container" | "interface" ;
-sequence altRuleBody : (preSeq=altSeq)? alts (postSeq=altSeq)? ;
-list alts : se1=simpleExpr (PIPE sen=simpleExpr)* ;
-sequence altSeq : LPAREN seq RPAREN ;
-
-sequence listRule : decl=listRuleDecl body=listRuleBody SEMI ;
-sequence listRuleDecl : "list" name=id (attrs)? COLON ;
-sequence listRuleBody : listExpr=simpleExpr (LPAREN separator=simpleExpr listExpr2=simpleExpr RPAREN)? listMark ;
-token listMark : STAR | PLUS ;
-
-sequence seqRule : decl=seqRuleDecl body=seq SEMI ;
-sequence seqRuleDecl : "sequence" name=id (attrs)? COLON ;
-list seq : expr+ ;
-
-sequence tokenRule : decl=tokenRuleDecl body=alts SEMI ;
-sequence tokenRuleDecl : "token" name=id (attrs)? COLON ;
-
-abstract expr : optSubSeq | simpleExpr ;
-sequence optSubSeq : LPAREN seq RPAREN QMARK ;
-sequence simpleExpr : (name=id EQUALS)? value=atom (attrs)? ;
-
-sequence attrs : LSQUARE attrList RSQUARE ;
-list attrList : id1=ID (COMMA idn=ID)* ;
-
-token atom
-: ID
-| STRING_LITERAL
-| "abstract"
-| "container"
-| "interface"
-| "language"
-| "list"
-| "options"
-| "sequence"
-| "token"
-;
-
-token id
-: ID
-| "abstract"
-| "container"
-| "interface"
-| "language"
-| "list"
-| "options"
-| "sequence"
-| "token"
-;
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ASTGenerator.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ASTGenerator.java
deleted file mode 100644
index d984183..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ASTGenerator.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.registry;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public abstract class ASTGenerator {
-
-	public abstract void generateAST(GeneratorContext context) throws Exception;
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ASTGeneratorDescriptor.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ASTGeneratorDescriptor.java
deleted file mode 100644
index 71eebf2..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ASTGeneratorDescriptor.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.registry;
-
-public class ASTGeneratorDescriptor {
-
-	private final String _id;
-	private final String _description;
-	private final ASTGenerator _astGenerator;
-	
-	ASTGeneratorDescriptor(String id, String description, ASTGenerator astGenerator) {
-		_id = id;
-		_description = description;
-		_astGenerator = astGenerator;
-	}
-
-	public String getId() {
-		return _id;
-	}
-	
-	public String getDescription() {
-		return _description;
-	}
-	
-	public ASTGenerator getASTGenerator() {
-		return _astGenerator;
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/GeneratorRegistry.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/GeneratorRegistry.java
deleted file mode 100644
index 0ae8e7c..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/GeneratorRegistry.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.registry;
-
-import java.util.Collection;
-import java.util.HashMap;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.Platform;
-
-public class GeneratorRegistry {
-	
-	private static final String PARSER_GENERATORS_EXTENSION_POINT_ID = "org.eclipse.gymnast.generator.core.parserGenerators";
-	private static final String PARSER_GENERATOR_ELEMENT_NAME = "parserGenerator";
-	
-	private static final String AST_GENERATORS_EXTENSION_POINT_ID = "org.eclipse.gymnast.generator.core.astGenerators";
-	private static final String AST_GENERATOR_ELEMENT_NAME = "astGenerator";
-	
-	private static final String ID_ATTR_NAME = "id";
-	private static final String ID_ATTR_DESCRIPTION = "description";
-	private static final String CLASS_ATTR_NAME = "class";
-	
-	private static GeneratorRegistry _instance;
-	
-	private final HashMap _idToASTGeneratorDescriptor;
-	private final HashMap _idToParserGeneratorDescriptor;
-	
-	
-	private GeneratorRegistry() {
-		_idToASTGeneratorDescriptor = new HashMap();
-		_idToParserGeneratorDescriptor = new HashMap();
-		init();
-	}
-	
-	public static GeneratorRegistry getInstance() {
-		if (_instance == null) {
-			_instance = new GeneratorRegistry();
-		}
-		return _instance;
-	}
-	
-	public ASTGeneratorDescriptor getASTGeneratorDescriptor(String id) {
-		return (ASTGeneratorDescriptor)_idToASTGeneratorDescriptor.get(id);
-	}
-	
-	public ASTGeneratorDescriptor[] getASTGeneratorDescriptors() {
-		Collection values = _idToASTGeneratorDescriptor.values();
-		return (ASTGeneratorDescriptor[]) values.toArray(new ASTGeneratorDescriptor[values.size()]);
-	}
-
-	public ParserGeneratorDescriptor getParserGeneratorDescriptor(String id) {
-		return (ParserGeneratorDescriptor)_idToParserGeneratorDescriptor.get(id);
-	}
-	
-	public ParserGeneratorDescriptor[] getParserGeneratorDescriptors() {
-		Collection values = _idToParserGeneratorDescriptor.values();
-		return (ParserGeneratorDescriptor[]) values.toArray(new ParserGeneratorDescriptor[values.size()]);
-	}
-	
-	private void init() {
-		IExtensionRegistry registry = Platform.getExtensionRegistry();
-		
-		IConfigurationElement[] astGeneratorElements =
-			registry.getConfigurationElementsFor(AST_GENERATORS_EXTENSION_POINT_ID);
-		
-		for (int i = 0; i < astGeneratorElements.length; i++) {
-			IConfigurationElement element = astGeneratorElements[i];
-			if (AST_GENERATOR_ELEMENT_NAME.equals(element.getName())) {
-				initASTGenerator(element);
-			}
-		}
-		
-		IConfigurationElement[] parserGeneratorElements =
-			registry.getConfigurationElementsFor(PARSER_GENERATORS_EXTENSION_POINT_ID);
-		
-		for (int i = 0; i < parserGeneratorElements.length; i++) {
-			IConfigurationElement element = parserGeneratorElements[i];
-			if (PARSER_GENERATOR_ELEMENT_NAME.equals(element.getName())) {
-				initParserGenerator(element);
-			}
-		}
-	}
-	
-	private void initASTGenerator(IConfigurationElement astGeneratorElement) {
-		String id = astGeneratorElement.getAttribute(ID_ATTR_NAME);
-		if (id == null) {
-			// TODO: report error!
-			return;
-		}
-		
-		String description = astGeneratorElement.getAttribute(ID_ATTR_DESCRIPTION);
-		
-		try {
-			ASTGenerator generator = (ASTGenerator)astGeneratorElement.createExecutableExtension(CLASS_ATTR_NAME);
-			ASTGeneratorDescriptor descriptor = new ASTGeneratorDescriptor(id, description, generator);
-			_idToASTGeneratorDescriptor.put(id, descriptor);
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-	
-	private void initParserGenerator(IConfigurationElement parserGeneratorElement) {
-		String id = parserGeneratorElement.getAttribute(ID_ATTR_NAME);
-		if (id == null) {
-			// TODO: report error!
-			return;
-		}
-		
-		String description = parserGeneratorElement.getAttribute(ID_ATTR_DESCRIPTION);
-		
-		try {
-			ParserGenerator generator = (ParserGenerator)parserGeneratorElement.createExecutableExtension(CLASS_ATTR_NAME);
-			ParserGeneratorDescriptor descriptor = new ParserGeneratorDescriptor(id, description, generator);
-			_idToParserGeneratorDescriptor.put(id, descriptor);
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ParserGenerator.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ParserGenerator.java
deleted file mode 100644
index 77debe4..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ParserGenerator.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.registry;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public abstract class ParserGenerator {
-
-	public abstract void generateParser(GeneratorContext context) throws Exception;
-	
-	
-	protected void writeFile(IFile file, String fileText) throws CoreException {
-		InputStream input = new ByteArrayInputStream(fileText.getBytes());
-		writeFile(file, input);
-	}
-	
-	protected void writeFile(IFile file, InputStream input) throws CoreException {
-		if (file.exists()) {
-			file.setContents(input, true, false, null);
-		}
-		else {
-			file.create(input, true, null);
-		}
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ParserGeneratorDescriptor.java b/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ParserGeneratorDescriptor.java
deleted file mode 100644
index 568f035..0000000
--- a/plugins/org.eclipse.gymnast.generator.core/src/org/eclipse/gymnast/generator/core/registry/ParserGeneratorDescriptor.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.core.registry;
-
-public class ParserGeneratorDescriptor {
-
-	private final String _id;
-	private final String _description;
-	private final ParserGenerator _parserGenerator;
-	
-	ParserGeneratorDescriptor(String id, String description, ParserGenerator parserGenerator) {
-		_id = id;
-		_description = description;
-		_parserGenerator = parserGenerator;
-	}
-
-	public String getId() {
-		return _id;
-	}
-	
-	public String getDescription() {
-		return _description;
-	}
-	
-	public ParserGenerator getParserGenerator() {
-		return _parserGenerator;
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generator.ui/.classpath b/plugins/org.eclipse.gymnast.generator.ui/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.gymnast.generator.ui/.cvsignore b/plugins/org.eclipse.gymnast.generator.ui/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/plugins/org.eclipse.gymnast.generator.ui/.project b/plugins/org.eclipse.gymnast.generator.ui/.project
deleted file mode 100644
index 03fbc09..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generator.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.gymnast.generator.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.gymnast.generator.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index f213106..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,28 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Plugin.name (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.generator.ui;singleton:=true
-Bundle-Version: 0.3.0.qualifier
-Bundle-ClassPath: .
-Bundle-Activator: org.eclipse.gymnast.generator.ui.GymnastUIPlugin
-Bundle-Vendor: Eclipse.org
-Bundle-Localization: plugin
-Export-Package: org.eclipse.gymnast.generator.ui,
- org.eclipse.gymnast.generator.ui.actions,
- org.eclipse.gymnast.generator.ui.editor,
- org.eclipse.gymnast.generator.ui.editor.syntax
-Require-Bundle: org.eclipse.ui,
- org.antlr,
- org.eclipse.core.resources,
- org.eclipse.ui.console,
- org.eclipse.ui.editors,
- org.eclipse.ui.ide,
- org.eclipse.ui.views,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.jface.text,
- org.eclipse.core.runtime,
- org.eclipse.gymnast.runtime.core,
- org.eclipse.gymnast.runtime.ui,
- org.eclipse.gymnast.generator.core,
- org.eclipse.emf.ecore
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.gymnast.generator.ui/build.properties b/plugins/org.eclipse.gymnast.generator.ui/build.properties
deleted file mode 100644
index d24082b..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.properties,\
-               plugin.xml,\
-               icons/
diff --git a/plugins/org.eclipse.gymnast.generator.ui/icons/obj16/gymnast.gif b/plugins/org.eclipse.gymnast.generator.ui/icons/obj16/gymnast.gif
deleted file mode 100644
index 4771987..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/icons/obj16/gymnast.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.gymnast.generator.ui/plugin.properties b/plugins/org.eclipse.gymnast.generator.ui/plugin.properties
deleted file mode 100644
index 25c54e0..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/plugin.properties
+++ /dev/null
@@ -1,33 +0,0 @@
-#/**
-# * <copyright>
-# *
-# * Copyright (c) 2004,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 - Initial API and implementation
-# *
-# * </copyright>
-# *
-# * $Id: plugin.properties,v 1.1 2008/01/15 06:21:13 cdaly Exp $
-# */
-
-# NLS_MESSAGEFORMAT_VAR
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
-
-Plugin.name = Gymnast Generator UI
-Plugin.providerName = Eclipse.org
diff --git a/plugins/org.eclipse.gymnast.generator.ui/plugin.xml b/plugins/org.eclipse.gymnast.generator.ui/plugin.xml
deleted file mode 100644
index f8c5342..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/plugin.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-  <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="Gymnast Editor"
-            extensions="ast"
-            icon="icons/obj16/gymnast.gif"
-            class="org.eclipse.gymnast.generator.ui.editor.GymnastEditor"
-            contributorClass="org.eclipse.gymnast.generator.ui.editor.GymnastEditorActionContributor"
-            id="org.eclipse.gymnast.generator.ui.editor.GymnastEditor">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            objectClass="org.eclipse.core.resources.IFile"
-            nameFilter="*.ast"
-            id="org.eclipse.gymnast.generator.ui.GymnastPopupActions">
-         <action
-               label="Generate AST"
-               icon="icons/obj16/gymnast.gif"
-               class="org.eclipse.gymnast.generator.ui.actions.GenerateAST"
-               menubarPath="additions"
-               enablesFor="1"
-               id="GenerateAST">
-         </action>
-      </objectContribution>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/GymnastUIPlugin.java b/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/GymnastUIPlugin.java
deleted file mode 100644
index 2855163..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/GymnastUIPlugin.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.ui;
-
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class GymnastUIPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static GymnastUIPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public GymnastUIPlugin() {
-		plugin = this;
-		try {
-			resourceBundle   = ResourceBundle.getBundle("org.eclipse.gymnast.generator.ui.GymnastUIPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static GymnastUIPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = GymnastUIPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/actions/GenerateAST.java b/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/actions/GenerateAST.java
deleted file mode 100644
index 5ddb886..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/actions/GenerateAST.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.ui.actions;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspace;
-import org.eclipse.core.resources.IWorkspaceDescription;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.gymnast.generator.core.generator.Generator;
-import org.eclipse.gymnast.runtime.core.util.IReporter;
-import org.eclipse.gymnast.runtime.ui.views.console.ReporterConsole;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class GenerateAST implements IObjectActionDelegate {
-	
-	private IFile _file;
-	private GenerateASTJob _job;
-	
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-	
-	public void selectionChanged(IAction action, ISelection selection) {		
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection sel = (IStructuredSelection)selection;
-			Object selElem = sel.getFirstElement();
-			if (selElem instanceof IFile) {
-				_file = (IFile)selElem;
-			}
-		}
-	}
-
-	public void run(IAction action) {
-		if (_job == null) {
-			_job = new GenerateASTJob();
-			_job.schedule();
-		}
-	}
-	
-	private class GenerateASTJob extends Job {
-		
-		private IReporter _reporter;
-		
-		private GenerateASTJob() {
-			super("Generating AST for " + _file.getName());
-			
-			_reporter = new ReporterConsole("Generate AST");
-		}
-		
-		protected IStatus run(IProgressMonitor monitor) {
-			
-			setAutoBuilding(false);
-			
-			Generator generator = new Generator();
-			generator.generate(_file, monitor, _reporter);
-			monitor.done();
-			_job = null;
-			
-			setAutoBuilding(true);
-			
-			return Status.OK_STATUS;
-		}
-		
-		private void setAutoBuilding(boolean value) {
-			IWorkspace workspace = ResourcesPlugin.getWorkspace();
-			IWorkspaceDescription desc = workspace.getDescription();
-			desc.setAutoBuilding(value);
-
-			try {
-				workspace.setDescription(desc);
-			}
-			catch (Exception ex) {
-				_reporter.reportError(ex);
-			}
-		}
-		
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/GymnastEditor.java b/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/GymnastEditor.java
deleted file mode 100644
index eca7095..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/GymnastEditor.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.ui.editor;
-
-import org.eclipse.gymnast.runtime.ui.editor.LDTEditor;
-import org.eclipse.gymnast.runtime.ui.editor.LDTSourceViewerConfiguration;
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class GymnastEditor extends LDTEditor {
-	
-	public GymnastEditor( ) {
-		// addParseTreeChangedListener(new GymnastParseTreeChangeListener(this));
-	}
-	
-	protected LDTSourceViewerConfiguration createSourceViewerConfiguration() {
-		return new GymnastSourceViewerConfiguration(this);
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/GymnastEditorActionContributor.java b/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/GymnastEditorActionContributor.java
deleted file mode 100644
index 8f6452e..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/GymnastEditorActionContributor.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.ui.editor;
-
-import org.eclipse.gymnast.runtime.ui.editor.LDTEditorActionContributor;
-
-/**
- * 
- * @author cjdaly@us.ibm.com
- */
-public class GymnastEditorActionContributor extends LDTEditorActionContributor {
-
-}
diff --git a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/GymnastSourceViewerConfiguration.java b/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/GymnastSourceViewerConfiguration.java
deleted file mode 100644
index 537aa16..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/GymnastSourceViewerConfiguration.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.ui.editor;
-
-import org.eclipse.gymnast.generator.core.parser.ParserDriver;
-import org.eclipse.gymnast.generator.ui.editor.syntax.GymnastCodeScanner;
-import org.eclipse.gymnast.runtime.core.parser.IParser;
-import org.eclipse.gymnast.runtime.ui.editor.LDTCodeScanner;
-import org.eclipse.gymnast.runtime.ui.editor.LDTEditor;
-import org.eclipse.gymnast.runtime.ui.editor.LDTSourceViewerConfiguration;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class GymnastSourceViewerConfiguration extends LDTSourceViewerConfiguration {
-	
-	public GymnastSourceViewerConfiguration(LDTEditor editor) {
-		super(editor);
-	}
-	
-	public LDTCodeScanner createCodeScanner() {
-		return new GymnastCodeScanner();
-	}
-
-	public IParser getParser() {
-		return new ParserDriver();
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/syntax/GymnastCodeScanner.java b/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/syntax/GymnastCodeScanner.java
deleted file mode 100644
index 4755dc3..0000000
--- a/plugins/org.eclipse.gymnast.generator.ui/src/org/eclipse/gymnast/generator/ui/editor/syntax/GymnastCodeScanner.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generator.ui.editor.syntax;
-
-import org.eclipse.gymnast.runtime.ui.editor.LDTCodeScanner;
-import org.eclipse.gymnast.runtime.ui.util.LDTColorProvider;
-import org.eclipse.swt.SWT;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class GymnastCodeScanner extends LDTCodeScanner {
-	
-	public void initKeywords() {
-		addKeywords(new String[]{"language", "options"}, LDTColorProvider.BLUE);
-		
-		addKeywords(
-				new String[]{"abstract", "container", "interface", "list", "sequence", "token"},
-				LDTColorProvider.RED,
-				LDTColorProvider.YELLOW,
-				SWT.BOLD
-				);
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/.classpath b/plugins/org.eclipse.gymnast.generators.ast.primordial/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/.cvsignore b/plugins/org.eclipse.gymnast.generators.ast.primordial/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/.project b/plugins/org.eclipse.gymnast.generators.ast.primordial/.project
deleted file mode 100644
index e837d6d..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generators.ast.primordial</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/META-INF/MANIFEST.MF b/plugins/org.eclipse.gymnast.generators.ast.primordial/META-INF/MANIFEST.MF
deleted file mode 100644
index 65f4ad1..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Primordial AST Generator Plug-in (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.generators.ast.primordial;singleton:=true
-Bundle-Version: 0.3.0.qualifier
-Bundle-Activator: org.eclipse.gymnast.generators.ast.primordial.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.ui,
- org.eclipse.ui.editors,
- org.eclipse.ui.workbench.texteditor,
- org.eclipse.jface.text,
- org.eclipse.text,
- org.eclipse.jdt.core,
- org.eclipse.gymnast.generator.core,
- org.eclipse.gymnast.runtime.core
-Eclipse-LazyStart: true
-Bundle-ClassPath: .
-Export-Package: org.eclipse.gymnast.generators.ast.primordial,
- org.eclipse.gymnast.generators.ast.primordial.templates,
- org.eclipse.gymnast.generators.ast.primordial.ui
-Bundle-Vendor: Eclipse.org
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/build.properties b/plugins/org.eclipse.gymnast.generators.ast.primordial/build.properties
deleted file mode 100644
index 2fd90e1..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               templates/
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/plugin.xml b/plugins/org.eclipse.gymnast.generators.ast.primordial/plugin.xml
deleted file mode 100644
index f3b2090..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/plugin.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         point="org.eclipse.gymnast.generator.core.astGenerators">
-      <astGenerator
-            class="org.eclipse.gymnast.generators.ast.primordial.PrimordialASTGenerator"
-            id="primordial"/>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.editors.templates">
-      <include
-            file="templates/javaGen.xml">
-      </include>
-   </extension>
-
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="Code Templates"
-            category="org.eclipse.gymnast.runtime.ui.preferences.GymnastMainPreferencePage"
-            class="org.eclipse.gymnast.generators.ast.primordial.ui.GymnastTemplatePreferencePage"
-            id="org.eclipse.gymnast.generators.ast.primordial.ui.GymnastTemplatePreferencePage">
-      </page>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/ASTCompUnitBuilder.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/ASTCompUnitBuilder.java
deleted file mode 100644
index 09b00f2..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/ASTCompUnitBuilder.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-/**
- * 
- * @author cjdaly@us.ibm.com
- */
-public class ASTCompUnitBuilder extends JavaCompUnitBuilder {
-    
-    public ASTCompUnitBuilder(String typeName, String templateTypeID, GeneratorContext context) {
-        super(typeName, templateTypeID, context);
-    }
-    
-    public IFile getCompUnit() throws Exception {
-	    IFolder astFolder = (IFolder)_context.getASTPackage().getResource();
-        IFile compUnit = astFolder.getFile(getTypeName() + ".java");
-        return compUnit;
-	}
-    
-    public void buildDone() {
-        _util.ruleDone();
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/ASTRuleCompUnitBuilder.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/ASTRuleCompUnitBuilder.java
deleted file mode 100644
index ac45d9e..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/ASTRuleCompUnitBuilder.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial;
-
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.generator.ASTUtil;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generators.ast.primordial.templates.JavaCompUnitTemplateContext;
-import org.eclipse.gymnast.generators.ast.primordial.templates.JavaRuleCompUnitTemplateContext;
-
-
-/**
- * 
- * @author cjdaly@us.ibm.com
- */
-public class ASTRuleCompUnitBuilder extends ASTCompUnitBuilder{
-    
-    private final Rule _rule;
-    
-    public ASTRuleCompUnitBuilder(Rule rule, GeneratorContext context) {
-        super(null, null, context);
-        _rule = rule;
-    }
-    
-    public Rule getRule() {
-        return _rule;
-    }
-    
-	public String getTypeName() {
-	    return _util.toUppercaseName(getRuleName());
-	}
-	
-	public String getTemplateTypeID() {
-	    
-		if (ASTUtil.isAbstract(_rule)) {
-			return "ASTAbstractRule.cu";
-		}
-		else if (ASTUtil.isContainer(_rule)) {
-		    return "ASTContainerRule.cu";
-		}
-		else if (ASTUtil.isList(_rule)) {
-		    return "ASTListRule.cu";
-		}
-		else if (ASTUtil.isSequence(_rule)) {
-		    return "ASTSequenceRule.cu";
-		}
-		else if (ASTUtil.isToken(_rule)) {
-		    return "ASTTokenRule.cu";
-		}
-		else {
-			throw new RuntimeException("Unknown rule type: " + ASTUtil.getName(_rule));
-		}
-	}
-	
-	public String getRuleName() {
-	    return ASTUtil.getName(_rule);
-	}
-	
-	protected JavaCompUnitTemplateContext createTemplateContext() {
-	    return new JavaRuleCompUnitTemplateContext(getTemplateTypeID(), this, _context);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/Activator.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/Activator.java
deleted file mode 100644
index c6cf87c..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/Activator.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.gymnast.generators.ast.primordial;
-
-import java.io.IOException;
-
-import org.eclipse.gymnast.generators.ast.primordial.templates.GymnastContextType;
-import org.eclipse.jface.text.templates.ContextTypeRegistry;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-import org.eclipse.ui.editors.text.templates.ContributionTemplateStore;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.gymnast.generators.ast.primordial";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-	
-	private static final String CUSTOM_TEMPLATES_KEY = "org.eclipse.gymnast.generators.ast.primordial.preferences.templates";
-	
-	public TemplateStore getTemplateStore() {
-		
-	    TemplateStore templateStore = new ContributionTemplateStore(getContextTypeRegistry(), getDefault()
-				.getPreferenceStore(), CUSTOM_TEMPLATES_KEY);
-	    
-		try {
-			templateStore.load();
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-
-		return templateStore;
-	}
-
-	private ContextTypeRegistry _contextTypeRegistry;
-	public ContextTypeRegistry getContextTypeRegistry() {
-		if (_contextTypeRegistry == null) {
-			_contextTypeRegistry = new ContextTypeRegistry();
-			_contextTypeRegistry.addContextType(GymnastContextType.JavaMethod);
-			_contextTypeRegistry.addContextType(GymnastContextType.JavaCompUnit);
-			_contextTypeRegistry.addContextType(GymnastContextType.JavaRuleCompUnit);
-		}
-		return _contextTypeRegistry;
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/BuildManager.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/BuildManager.java
deleted file mode 100644
index 6023bb4..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/BuildManager.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial;
-
-import java.util.ArrayList;
-
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public class BuildManager {
-
-	private final GeneratorContext _context;
-	private final ArrayList _compUnitBuilderList;
-	
-	public BuildManager(GeneratorContext context) {
-		_context = context;
-		_compUnitBuilderList = new ArrayList();
-	}
-	
-	public void createBuilders() throws Exception {
-		
-		addBuilder(new ASTCompUnitBuilder(_context.getASTBaseClassName(),
-                "ASTBaseClass.cu", _context));
-        addBuilder(new ASTCompUnitBuilder(_context.getASTTokenClassName(),
-                "ASTTokenClass.cu", _context));
-        addBuilder(new ASTCompUnitBuilder(_context.getASTVisitorClassName(),
-                "ASTVisitorClass.cu", _context));
-        
-		Rule[] rules = _context.getGrammarInfo().getRules();
-		for (int i = 0; i < rules.length; i++) {
-			Rule rule = rules[i];
-			ASTRuleCompUnitBuilder builder = new ASTRuleCompUnitBuilder(rule, _context);
-			addBuilder(builder);
-		}
-	}
-	
-	private void addBuilder(JavaCompUnitBuilder builder) {
-	    _compUnitBuilderList.add(builder);
-	}
-	
-	public void build() throws Exception {
-	    _context.getUtil().beginRules(_compUnitBuilderList.size());
-	    
-		for (int i = 0; i < _compUnitBuilderList.size(); i++) {
-		    JavaCompUnitBuilder builder = (JavaCompUnitBuilder)_compUnitBuilderList.get(i);
-			builder.build();
-		}
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/JavaCompUnitBuilder.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/JavaCompUnitBuilder.java
deleted file mode 100644
index 8977af5..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/JavaCompUnitBuilder.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generator.core.generator.GeneratorUtil;
-import org.eclipse.gymnast.generators.ast.primordial.templates.JavaCompUnitTemplateContext;
-
-
-
-/**
- * 
- * @author cjdaly@us.ibm.com
- */
-public abstract class JavaCompUnitBuilder {
-    
-    private final String _typeName;
-    private final String _templateTypeID;
-	protected final GeneratorContext _context;
-	protected final GeneratorUtil _util;
-    
-    public JavaCompUnitBuilder(String typeName, String templateTypeID, GeneratorContext context) {
-        _typeName = typeName;
-        _templateTypeID = templateTypeID;
-		_context = context;
-		_util = context.getUtil();
-    }
-    
-    public String getTypeName() {
-        return _typeName;
-    }
-    
-	public String getTemplateTypeID() {
-	    return _templateTypeID;
-	}
-	
-	
-	public abstract IFile getCompUnit() throws Exception;
-	
-	public void build() throws Exception {
-	    _util.report("Building Type: " + getTypeName());
-	    
-        IFile compUnit = getCompUnit();
-        
-        String text = evalTemplate();
-        if (text == null) {
-            _util.reportError("failed to evaluate template!");
-        }
-        else {
-            InputStream inputStream = new ByteArrayInputStream(text.getBytes());
-	        
-	        if (compUnit.exists()) {
-	            compUnit.setContents(inputStream, true, false, null);
-	        }
-	        else {
-	            compUnit.create(inputStream, true, null);
-	        }
-        }
-        
-        buildDone();
-	}
-	
-	public void buildDone() {
-	}
-	
-	private String evalTemplate() {
-	    try {
-	        JavaCompUnitTemplateContext tc = createTemplateContext();
-	        String s = tc.eval();
-	        return s;
-	    }
-	    catch (Exception ex) {
-	        _util.reportError(ex);
-	        return null;
-	    }
-	}
-	
-	protected JavaCompUnitTemplateContext createTemplateContext() {
-	    return new JavaCompUnitTemplateContext(getTemplateTypeID(), this, _context);
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/PrimordialASTGenerator.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/PrimordialASTGenerator.java
deleted file mode 100644
index b8e0a06..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/PrimordialASTGenerator.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generator.core.registry.ASTGenerator;
-
-public class PrimordialASTGenerator extends ASTGenerator {
-
-	public void generateAST(GeneratorContext context) throws Exception {
-		
-		BuildManager buildManager = new BuildManager(context);
-		buildManager.createBuilders();
-		buildManager.build();
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/ForeachChildElement.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/ForeachChildElement.java
deleted file mode 100644
index efa0a2f..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/ForeachChildElement.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial.templates;
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generator.core.generator.RuleRefCollector;
-import org.eclipse.gymnast.runtime.core.templates.ext.ExtTemplateContext;
-import org.eclipse.gymnast.runtime.core.templates.ext.ExtTemplateContextType;
-import org.eclipse.gymnast.runtime.core.templates.ext.ExtTemplateVariableResolver;
-import org.eclipse.jface.text.templates.TemplateContext;
-
-
-
-/**
- * 
- * @author cjdaly@us.ibm.com
- */
-public class ForeachChildElement {
-    
-    public static final String ID = "foreach_ChildElement";
-    
-    public static class Resolver extends ExtTemplateVariableResolver.NestedIterator {
-        Resolver() {
-	        super("^"+ID, "iterate over keyword literals in the rule");
-	    }
-	    
-        protected ExtTemplateContext getNestedContext(TemplateContext outerContext, Iterator iterator, Object iteratorObject) {
-            JavaRuleCompUnitTemplateContext c = (JavaRuleCompUnitTemplateContext)outerContext;
-            GeneratorContext gc = c.getGeneratorContext();
-            RuleRefCollector refs = gc.getGrammarInfo().getRuleRefCollector(c.getRule());
-            
-            String label = (String)iteratorObject;
-            String type = refs.getType(label);
-            String childType;
-            String childTypeOrToken;
-            String initExpr;
-            if (gc.getUtil().isTokenReference(type)) {
-                childType = gc.getASTTokenClassName();
-                childTypeOrToken = "TokenInfo";
-                initExpr = "new " + gc.getASTTokenClassName() + "(" + label + ")";
-            }
-            else {
-                childType = gc.getUtil().toUppercaseName(type);
-                childTypeOrToken = childType;
-                initExpr = label;
-            }
-            
-            Context nc = new Context();
-            nc.setVariable("childName", label);
-            nc.setVariable("childName_UC", gc.getUtil().toUppercaseName(label));
-            nc.setVariable("childType", childType);
-            nc.setVariable("childTypeOrToken", childTypeOrToken);
-            nc.setVariable("initExpr", initExpr);
-            nc.setVariable("comma", iterator.hasNext() ? "," : "");
-            
-            
-            return nc;
-        }
-        
-        protected Iterator getIterator(TemplateContext outerContext) {
-            if (!(outerContext instanceof JavaRuleCompUnitTemplateContext)) {
-                return null;
-            }
-            
-            JavaRuleCompUnitTemplateContext c = (JavaRuleCompUnitTemplateContext)outerContext;
-            GeneratorContext gc = c.getGeneratorContext();
-            RuleRefCollector refs = gc.getGrammarInfo().getRuleRefCollector(c.getRule());
-            String[] labels = refs.getLabels();
-            
-            return Arrays.asList(labels).iterator();
-        }
-    }
-    
-    public static class Context extends ExtTemplateContext {
-        public Context() {
-            super(ContextType);
-        }
-    }
-    
-    public static final ExtTemplateContextType ContextType =
-        new GymnastContextType(ID, ID) {
-        
-        protected void addResolvers() {
-            
-        }
-    };
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/ForeachKeywordLiteral.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/ForeachKeywordLiteral.java
deleted file mode 100644
index 8caca4e..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/ForeachKeywordLiteral.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial.templates;
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generator.core.generator.LiteralCollector;
-import org.eclipse.gymnast.runtime.core.templates.ext.ExtTemplateContext;
-import org.eclipse.gymnast.runtime.core.templates.ext.ExtTemplateContextType;
-import org.eclipse.gymnast.runtime.core.templates.ext.ExtTemplateVariableResolver;
-import org.eclipse.jface.text.templates.TemplateContext;
-
-
-
-/**
- * 
- * @author cjdaly@us.ibm.com
- */
-public class ForeachKeywordLiteral {
-    
-    public static final String ID = "foreach_KeywordLiteral";
-    
-    public static class Resolver extends ExtTemplateVariableResolver.NestedIterator {
-        Resolver() {
-	        super("^"+ID, "iterate over keyword literals in the rule");
-	    }
-	    
-        protected ExtTemplateContext getNestedContext(TemplateContext outerContext, Iterator iterator, Object iteratorObject) {
-            JavaRuleCompUnitTemplateContext c = (JavaRuleCompUnitTemplateContext)outerContext;
-            GeneratorContext gc = c.getGeneratorContext();
-            
-            String literal = (String)iteratorObject;
-            String unquoted = gc.getUtil().removeSurroundingQuotes(literal);
-            
-            Context nc = new Context();
-            nc.setVariable("literal", unquoted);
-            nc.setVariable("literal_UC", unquoted.toUpperCase());
-            
-            return nc;
-        }
-        
-        protected Iterator getIterator(TemplateContext outerContext) {
-            if (!(outerContext instanceof JavaRuleCompUnitTemplateContext)) {
-                return null;
-            }
-            
-            JavaRuleCompUnitTemplateContext c = (JavaRuleCompUnitTemplateContext)outerContext;
-            GeneratorContext gc = c.getGeneratorContext();
-            String[] literals = new LiteralCollector(c.getRule(), gc).getLiterals();
-            
-            return Arrays.asList(literals).iterator();
-        }
-    }
-    
-    public static class Context extends ExtTemplateContext {
-        public Context() {
-            super(ContextType);
-        }
-    }
-    
-    public static final ExtTemplateContextType ContextType =
-        new GymnastContextType(ID, ID) {
-        
-        protected void addResolvers() {
-            
-        }
-    };
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/ForeachRule.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/ForeachRule.java
deleted file mode 100644
index 7d099df..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/ForeachRule.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial.templates;
-
-import java.util.Arrays;
-import java.util.Iterator;
-
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.generator.ASTUtil;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.runtime.core.templates.ext.ExtTemplateContext;
-import org.eclipse.gymnast.runtime.core.templates.ext.ExtTemplateContextType;
-import org.eclipse.gymnast.runtime.core.templates.ext.ExtTemplateVariableResolver;
-import org.eclipse.jface.text.templates.TemplateContext;
-
-
-
-/**
- * 
- * @author cjdaly@us.ibm.com
- */
-public class ForeachRule {
-    
-    public static final String ID = "foreach_Rule";
-    
-    public static class Resolver extends ExtTemplateVariableResolver.NestedIterator {
-        Resolver() {
-	        super("^"+ID, "iterate over rules in the language");
-	    }
-	    
-        protected ExtTemplateContext getNestedContext(TemplateContext outerContext, Iterator iterator, Object iteratorObject) {
-            JavaCompUnitTemplateContext c = (JavaCompUnitTemplateContext)outerContext;
-            GeneratorContext gc = c.getGeneratorContext();
-            
-            Rule rule = (Rule)iteratorObject;
-            String ruleName = ASTUtil.getName(rule);
-            
-            Context nc = new Context();
-            nc.setVariable("ruleName", gc.getUtil().toUppercaseName(ruleName));
-            nc.setVariable("ruleName_LC", ruleName);
-            nc.setVariable("ruleName_UC", gc.getUtil().toUppercaseName(ruleName));
-            
-            String ruleBaseClassName = gc.getUtil().getRuleBaseClassName(rule);
-            nc.setVariable("ruleBaseClassName", ruleBaseClassName);
-            return nc;
-        }
-        
-        protected Iterator getIterator(TemplateContext outerContext) {
-            if (!(outerContext instanceof JavaCompUnitTemplateContext)) {
-                return null;
-            }
-            
-            JavaCompUnitTemplateContext c = (JavaCompUnitTemplateContext)outerContext;
-            GeneratorContext gc = c.getGeneratorContext();
-            
-            Rule[] rules = gc.getGrammarInfo().getRules();
-            return Arrays.asList(rules).iterator();
-        }
-    }
-    
-    public static class Context extends ExtTemplateContext {
-        public Context() {
-            super(ContextType);
-        }
-    }
-    
-    public static final ExtTemplateContextType ContextType =
-        new GymnastContextType(ID, ID) {
-        
-        protected void addResolvers() {
-            
-        }
-    };
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/GymnastContextType.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/GymnastContextType.java
deleted file mode 100644
index 8e153a9..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/GymnastContextType.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial.templates;
-
-import org.eclipse.gymnast.runtime.core.templates.ext.ExtTemplateContextType;
-import org.eclipse.jface.text.templates.GlobalTemplateVariables;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public abstract class GymnastContextType extends ExtTemplateContextType {
-	
-	public static final String ID_PREFIX = "org.eclipse.gymnast.generators.ast.primordial.templates";
-	
-	protected GymnastContextType(String idSuffix, String name) {
-		super(ID_PREFIX + "." + idSuffix, name);
-		
-		addResolvers();
-	}
-	
-	protected abstract void addResolvers();
-	
-	public static final GymnastContextType JavaMethod = new GymnastContextType(
-            "JavaMethod", "Java Method") {
-
-        protected void addResolvers() {
-        	
-            addResolver(new GymnastTemplateContext.ToolNameResolver());
-        	addResolver(new GymnastTemplateContext.GeneratedByResolver());
-        	addResolver(new GymnastTemplateContext.BeginTimeResolver());
-        	addResolver(new GymnastTemplateContext.ASTFileNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTNameResolver());
-        	addResolver(new GymnastTemplateContext.ParserPackageNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTPackageNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTBaseClassNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTBaseClassBaseNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTTokenClassNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTVisitorClassNameResolver());
-        	addResolver(new GymnastTemplateContext.LDT_ASTNodePackageNameResolver());
-        	addResolver(new GymnastTemplateContext.LDT_ASTNodeClassNameResolver());
-        	addResolver(new GymnastTemplateContext.LDT_ParserPackageNameResolver());
-        	addResolver(new GymnastTemplateContext.EntryRuleNameResolver());
-        	addResolver(new GymnastTemplateContext.EntryRuleClassNameResolver());
-        	
-        	addResolver(new JavaMethodTemplateContext.MethodNameResolver());
-        	addResolver(new JavaMethodTemplateContext.TypeNameResolver());
-            
-        	addResolver(new GlobalTemplateVariables.User());
-        	addResolver(new GlobalTemplateVariables.Dollar());
-        }
-    };
-    
-	public static final GymnastContextType JavaCompUnit = new GymnastContextType(
-            "JavaCompUnit", "Java CompilationUnit") {
-
-        protected void addResolvers() {
-            addResolver(new GymnastTemplateContext.ToolNameResolver());
-        	addResolver(new GymnastTemplateContext.GeneratedByResolver());
-        	addResolver(new GymnastTemplateContext.BeginTimeResolver());
-        	addResolver(new GymnastTemplateContext.ASTFileNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTNameResolver());
-        	addResolver(new GymnastTemplateContext.ParserPackageNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTPackageNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTBaseClassNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTBaseClassBaseNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTTokenClassNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTVisitorClassNameResolver());
-        	addResolver(new GymnastTemplateContext.LDT_ASTNodePackageNameResolver());
-        	addResolver(new GymnastTemplateContext.LDT_ASTNodeClassNameResolver());
-        	addResolver(new GymnastTemplateContext.LDT_ParserPackageNameResolver());
-        	addResolver(new GymnastTemplateContext.EntryRuleNameResolver());
-        	addResolver(new GymnastTemplateContext.EntryRuleClassNameResolver());
-        	
-        	addResolver(new JavaCompUnitTemplateContext.TypeNameResolver());
-        	addResolver(new JavaCompUnitTemplateContext.Visitor_acceptImpl_Resolver());
-        	
-        	addResolver(new ForeachRule.Resolver());
-            
-        	addResolver(new GlobalTemplateVariables.User());
-        	addResolver(new GlobalTemplateVariables.Dollar());
-        }
-    };
-    
-	public static final GymnastContextType JavaRuleCompUnit = new GymnastContextType(
-            "JavaRuleCompUnit", "Java CompilationUnit for grammar rules") {
-
-        protected void addResolvers() {
-            addResolver(new GymnastTemplateContext.ToolNameResolver());
-        	addResolver(new GymnastTemplateContext.GeneratedByResolver());
-        	addResolver(new GymnastTemplateContext.BeginTimeResolver());
-        	addResolver(new GymnastTemplateContext.ASTFileNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTNameResolver());
-        	addResolver(new GymnastTemplateContext.ParserPackageNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTPackageNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTBaseClassNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTBaseClassBaseNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTTokenClassNameResolver());
-        	addResolver(new GymnastTemplateContext.ASTVisitorClassNameResolver());
-        	addResolver(new GymnastTemplateContext.LDT_ASTNodePackageNameResolver());
-        	addResolver(new GymnastTemplateContext.LDT_ASTNodeClassNameResolver());
-        	addResolver(new GymnastTemplateContext.LDT_ParserPackageNameResolver());
-        	addResolver(new GymnastTemplateContext.EntryRuleNameResolver());
-        	addResolver(new GymnastTemplateContext.EntryRuleClassNameResolver());
-        	
-        	addResolver(new JavaCompUnitTemplateContext.TypeNameResolver());
-        	addResolver(new JavaCompUnitTemplateContext.Visitor_acceptImpl_Resolver());
-        	
-        	addResolver(new JavaRuleCompUnitTemplateContext.ExtendsResolver());
-        	addResolver(new JavaRuleCompUnitTemplateContext.ImplementsResolver());
-        	addResolver(new JavaRuleCompUnitTemplateContext.TypeKindResolver());
-        	
-        	addResolver(new ForeachKeywordLiteral.Resolver());
-        	addResolver(new ForeachChildElement.Resolver());
-        	
-        	addResolver(new GlobalTemplateVariables.User());
-        	addResolver(new GlobalTemplateVariables.Dollar());
-        }
-    };
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/GymnastTemplateContext.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/GymnastTemplateContext.java
deleted file mode 100644
index a8da620..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/GymnastTemplateContext.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generators.ast.primordial.Activator;
-import org.eclipse.gymnast.runtime.core.templates.ext.ExtTemplateContext;
-import org.eclipse.jface.text.templates.Template;
-import org.eclipse.jface.text.templates.TemplateBuffer;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.jface.text.templates.TemplateVariableResolver;
-import org.eclipse.jface.text.templates.persistence.TemplateStore;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public abstract class GymnastTemplateContext extends ExtTemplateContext {
-	
-    private final String _templateID;
-    private final GeneratorContext _generatorContext;
-    
-	protected GymnastTemplateContext(TemplateContextType contextType, String templateID, GeneratorContext generatorContext) {
-		super(contextType);
-
-		_templateID = templateID;
-		_generatorContext = generatorContext;
-	}
-	
-	public String getTemplateID() {
-		return _templateID;
-	}
-	
-	public GeneratorContext getGeneratorContext() {
-	    return _generatorContext;
-	}
-	
-	public String eval() {
-	    String result = null;
-	    
-	    try {
-	        Template template = getTemplate(_templateID);
-	        TemplateBuffer buf = evaluate(template);
-	        result = buf.getString();
-	    }
-	    catch (Exception ex) {
-	        _generatorContext.getUtil().reportError(ex);
-	    }
-	    
-	    return result;
-	}
-	
-	private Template getTemplate(String templateId) {
-		TemplateStore templateStore = Activator.getDefault().getTemplateStore();
-		return templateStore.findTemplateById(templateId);
-	}
-	
-	static abstract class Resolver extends TemplateVariableResolver {
-	    Resolver(String type, String description) {
-	        super(type, description);
-	    }
-	    
-	    protected String resolve(TemplateContext context) {
-	        String text = null;
-            if (context instanceof GymnastTemplateContext) {
-                GymnastTemplateContext c = (GymnastTemplateContext)context;
-                GeneratorContext gc = c.getGeneratorContext();
-                text = resolve(c, gc);
-            }
-            
-            if (text == null) {
-                return "${" + this.getType() + "}";
-            }
-            else {
-                return text;
-            }
-	    }
-	    
-	    protected abstract String resolve(GymnastTemplateContext c, GeneratorContext gc);
-	    
-	}
-	
-	static class ToolNameResolver extends Resolver {
-	    ToolNameResolver() {
-	        super("toolName", "name of the code generation tool");
-	    }
-	    
-	    protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getToolName();
-        }
-	}
-	
-	static class GeneratedByResolver extends Resolver {
-		GeneratedByResolver() {
-			super("generatedBy", "\"generated by ...\" message for doc comments");
-		}
-		
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getGeneratedByText();
-        }
-	}
-	
-	static class BeginTimeResolver extends Resolver {
-	    BeginTimeResolver() {
-	        super("beginTime", "timestamp indicating when code generation began");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getBeginTimestamp();
-        }
-	}
-	
-	static class ASTFileNameResolver extends Resolver {
-	    ASTFileNameResolver() {
-	        super("astFileName", "name of the ast input file");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getASTFile().getName();
-        }
-	}
-	
-	static class ASTNameResolver extends Resolver {
-	    ASTNameResolver() {
-	        super("astName", "name of the AST language");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getASTName();
-        }
-	}
-	
-	static class ParserPackageNameResolver extends Resolver {
-	    ParserPackageNameResolver() {
-	        super("parserPackageName", "name of the Java package where the parser resides");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getParserPackageName();
-        }
-	}
-	
-	static class ASTPackageNameResolver extends Resolver {
-	    ASTPackageNameResolver() {
-	        super("astPackageName", "name of the Java package for the AST class heirarchy");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getASTPackageName();
-        }
-	}
-	
-	static class ASTBaseClassNameResolver extends Resolver {
-	    ASTBaseClassNameResolver() {
-	        super("astBaseClassName", "name of the common base class for members of the AST");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getASTBaseClassName();
-        }
-	}
-	
-	static class ASTBaseClassBaseNameResolver extends Resolver {
-	    ASTBaseClassBaseNameResolver() {
-	        super("astBaseClassBaseName", "name of the base class for the astBaseClass");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getASTBaseClassBaseName();
-        }
-	}
-	
-	static class ASTTokenClassNameResolver extends Resolver {
-	    ASTTokenClassNameResolver() {
-	        super("astTokenClassName", "name of the base class for token classes");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getASTTokenClassName();
-        }
-	}
-	
-	static class ASTVisitorClassNameResolver extends Resolver {
-	    ASTVisitorClassNameResolver() {
-	        super("astVisitorClassName", "name of the visitor class stub");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getASTVisitorClassName();
-        }
-	}
-	
-	static class LDT_ASTNodePackageNameResolver extends Resolver {
-	    LDT_ASTNodePackageNameResolver() {
-	        super("ldtASTNodePackageName", "name of the package where the LDT ASTNode class resides");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getLDT_ASTNodePackageName();
-        }
-	}
-	
-	static class LDT_ASTNodeClassNameResolver extends Resolver {
-	    LDT_ASTNodeClassNameResolver() {
-	        super("ldtASTNodeClassName", "name of the LDT ASTNode class");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getLDT_ASTNodePackageName();
-        }
-	}
-	
-	static class LDT_ParserPackageNameResolver extends Resolver {
-	    LDT_ParserPackageNameResolver() {
-	        super("ldtParserPackageName", "name of the package where the LDT parser class resides");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getLDT_ParserPackageName();
-        }
-	}
-	
-	static class EntryRuleNameResolver extends Resolver {
-	    EntryRuleNameResolver() {
-	        super("entryRuleName", "name of the rule that represents the entry (parser start) rule");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getEntryRuleName();
-        }
-	}
-	
-	static class EntryRuleClassNameResolver extends Resolver {
-	    EntryRuleClassNameResolver() {
-	        super("entryRuleClassName", "name of the class that represents the entry (parser start) rule");
-	    }
-	    
-		protected String resolve(GymnastTemplateContext c, GeneratorContext gc) {
-            return gc.getEntryRuleClassName();
-        }
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/JavaCompUnitTemplateContext.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/JavaCompUnitTemplateContext.java
deleted file mode 100644
index 50116cd..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/JavaCompUnitTemplateContext.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generators.ast.primordial.JavaCompUnitBuilder;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateContextType;
-import org.eclipse.jface.text.templates.TemplateVariableResolver;
-
-
-
-/**
- * 
- * @author cjdaly@us.ibm.com
- */
-public class JavaCompUnitTemplateContext extends GymnastTemplateContext {
-
-    private final JavaCompUnitBuilder _compUnitBuilder;
-    
-    public JavaCompUnitTemplateContext(String typeID, JavaCompUnitBuilder compUnitBuilder, GeneratorContext generatorContext) {
-        super(GymnastContextType.JavaCompUnit, typeID, generatorContext);
-        
-        _compUnitBuilder = compUnitBuilder;
-    }
-    
-    public JavaCompUnitTemplateContext(TemplateContextType contextType, String typeID, JavaCompUnitBuilder compUnitBuilder, GeneratorContext generatorContext) {
-        super(contextType, typeID, generatorContext);
-        
-        _compUnitBuilder = compUnitBuilder;
-    }
-
-	public JavaCompUnitBuilder getCompUnitBuilder() {
-	    return _compUnitBuilder;
-	}
-	public String getTypeName() {
-	    return getCompUnitBuilder().getTypeName();
-	}
-	
-	//
-	//
-	//
-	
-	static abstract class Resolver extends TemplateVariableResolver {
-	    Resolver(String type, String description) {
-	        super(type, description);
-	    }
-	    
-	    protected String resolve(TemplateContext context) {
-	        String text = null;
-            if (context instanceof JavaCompUnitTemplateContext) {
-                JavaCompUnitTemplateContext c = (JavaCompUnitTemplateContext)context;
-                GeneratorContext gc = c.getGeneratorContext();
-                text = resolve(c, gc);
-            }
-            
-            if (text == null) {
-                return "${" + this.getType() + "}";
-            }
-            else {
-                return text;
-            }
-	    }
-	    
-	    protected abstract String resolve(JavaCompUnitTemplateContext c, GeneratorContext gc);
-	}
-	
-	static class TypeNameResolver extends Resolver {
-		
-	    TypeNameResolver() {
-			super("typeName", "Name of this type");
-		}
-		
-	    protected String resolve(JavaCompUnitTemplateContext c, GeneratorContext gc) {
-            return c.getTypeName();
-        }
-	}
-	
-	static class Visitor_acceptImpl_Resolver extends Resolver {
-		
-	    Visitor_acceptImpl_Resolver() {
-			super("ASTVisitorClass_acceptImpl", "acceptImpl method for the visitor framework");
-		}
-		
-	    protected String resolve(JavaCompUnitTemplateContext c, GeneratorContext gc) {
-		    try {
-		        JavaMethodTemplateContext tc = new JavaMethodTemplateContext(getType(), c.getTypeName(), "acceptImpl", gc);
-		        String s = tc.eval();
-		        return s;
-		    }
-		    catch (Exception ex) {
-		        return "";
-		    }
-	    }
-	}
-    
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/JavaMethodTemplateContext.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/JavaMethodTemplateContext.java
deleted file mode 100644
index 829ca76..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/JavaMethodTemplateContext.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateVariableResolver;
-
-
-/**
- * 
- * @author cjdaly@us.ibm.com
- */
-public class JavaMethodTemplateContext extends GymnastTemplateContext {
-	
-	private final String _typeName;
-	private final String _methodName;
-	
-	public JavaMethodTemplateContext(String templateID, String typeName, String methodName, GeneratorContext generatorContext) {
-		super(GymnastContextType.JavaMethod, templateID, generatorContext);
-		
-		_typeName = typeName;
-		_methodName = methodName;
-	}
-	
-	public String getTypeName() {
-	    return _typeName;
-	}
-	public String getMethodName() {
-	    return "ctor".equals(_methodName) ? getTypeName() : _methodName ;
-	}
-	
-	//
-	//
-	//
-	
-	static abstract class Resolver extends TemplateVariableResolver {
-	    Resolver(String type, String description) {
-	        super(type, description);
-	    }
-	    
-	    protected String resolve(TemplateContext context) {
-	        String text = null;
-            if (context instanceof JavaMethodTemplateContext) {
-                JavaMethodTemplateContext c = (JavaMethodTemplateContext)context;
-                GeneratorContext gc = c.getGeneratorContext();
-                text = resolve(c, gc);
-            }
-            
-            if (text == null) {
-                return "${" + this.getType() + "}";
-            }
-            else {
-                return text;
-            }
-	    }
-	    
-	    protected abstract String resolve(JavaMethodTemplateContext c, GeneratorContext gc);
-	}
-	
-	static class MethodNameResolver extends Resolver {
-		
-		MethodNameResolver() {
-			super("methodName", "Name of this method");
-		}
-		
-	    protected String resolve(JavaMethodTemplateContext c, GeneratorContext gc) {
-            return c.getMethodName();
-        }
-	}
-	
-	static class TypeNameResolver extends Resolver {
-		
-	    TypeNameResolver() {
-			super("typeName", "Name of the type containing this method");
-		}
-		
-	    protected String resolve(JavaMethodTemplateContext c, GeneratorContext gc) {
-            return c.getTypeName();
-        }
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/JavaRuleCompUnitTemplateContext.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/JavaRuleCompUnitTemplateContext.java
deleted file mode 100644
index 930404b..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/templates/JavaRuleCompUnitTemplateContext.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial.templates;
-
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.generator.ASTUtil;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generator.core.generator.GeneratorUtil;
-import org.eclipse.gymnast.generators.ast.primordial.ASTRuleCompUnitBuilder;
-import org.eclipse.jface.text.templates.TemplateContext;
-import org.eclipse.jface.text.templates.TemplateVariableResolver;
-
-
-
-/**
- * 
- * @author cjdaly@us.ibm.com
- */
-public class JavaRuleCompUnitTemplateContext extends JavaCompUnitTemplateContext {
-    
-    private ASTRuleCompUnitBuilder _ruleCompUnitBuilder;
-	private String _baseClassName;
-	private String[] _baseInterfaceNames;
-    
-    public JavaRuleCompUnitTemplateContext(String typeID, ASTRuleCompUnitBuilder ruleCompUnitBuilder, GeneratorContext generatorContext) {
-        super(GymnastContextType.JavaRuleCompUnit, typeID, ruleCompUnitBuilder, generatorContext);
-        
-        _ruleCompUnitBuilder = ruleCompUnitBuilder;
-
-        
-        GeneratorContext context = generatorContext;
-        GeneratorUtil util = context.getUtil();
-        Rule rule = ruleCompUnitBuilder.getRule();
-		
-		_baseClassName = util.getRuleBaseClassName(rule);
-		_baseInterfaceNames = util.getRuleBaseInterfaceNames(rule);
-    }
-    
-	public ASTRuleCompUnitBuilder getRuleCompUnitBuilder() {
-	    return _ruleCompUnitBuilder;
-	}
-	
-	public Rule getRule() {
-	    return _ruleCompUnitBuilder.getRule();
-	}
-	
-	public String getRuleName() {
-	    return _ruleCompUnitBuilder.getRuleName();
-	}
-	
-	public String getBaseClassName() {
-		return _baseClassName;
-	}
-	
-	public String[] getBaseInterfaceNames() {
-	    if (_baseInterfaceNames == null) return null;
-		else return (String[])_baseInterfaceNames.clone();
-	}
-	
-	public boolean isAbstract() {
-	    return ASTUtil.isAbstract(getRule());
-	}
-	public boolean isInterface() {
-	    return ASTUtil.isInterface(getRule());
-	}
-	
-	//
-	//
-	//
-	
-	static abstract class Resolver extends TemplateVariableResolver {
-	    Resolver(String type, String description) {
-	        super(type, description);
-	    }
-	    
-	    protected String resolve(TemplateContext context) {
-	        String text = null;
-            if (context instanceof JavaRuleCompUnitTemplateContext) {
-                JavaRuleCompUnitTemplateContext c = (JavaRuleCompUnitTemplateContext)context;
-                GeneratorContext gc = c.getGeneratorContext();
-                text = resolve(c, gc);
-            }
-            
-            if (text == null) {
-                return "${" + this.getType() + "}";
-            }
-            else {
-                return text;
-            }
-	    }
-	    
-	    protected abstract String resolve(JavaRuleCompUnitTemplateContext c, GeneratorContext gc);
-	}
-	
-	static class ExtendsResolver extends Resolver {
-		
-	    ExtendsResolver() {
-			super("extends", "auto calculate the extends clause");
-		}
-		
-	    protected String resolve(JavaRuleCompUnitTemplateContext c, GeneratorContext gc) {
-	        String baseClassName = c.getBaseClassName();
-	        if ((baseClassName == null) || "".equals(baseClassName)) {
-	            return "";
-	        }
-	        else {
-	            return "extends " + baseClassName;
-	        }
-        }
-	}
-	
-	static class ImplementsResolver extends Resolver {
-		
-	    ImplementsResolver() {
-			super("implements", "auto calculate the implements clause");
-		}
-		
-	    protected String resolve(JavaRuleCompUnitTemplateContext c, GeneratorContext gc) {
-	        String[] baseInterfaceNames = c.getBaseInterfaceNames();
-	        
-	        if ((baseInterfaceNames == null) ||(baseInterfaceNames.length == 0)) {
-	            return "";
-	        }
-	        else {
-	            StringBuffer sb = new StringBuffer("implements ");
-	            sb.append(baseInterfaceNames[0]);
-				for (int i = 1; i < baseInterfaceNames.length; i++) {
-					sb.append(", " + baseInterfaceNames[i]);
-				}
-	            return sb.toString();
-	        }
-        }
-	}
-	
-	static class TypeKindResolver extends Resolver {
-		
-	    TypeKindResolver() {
-			super("typeKind", "auto calculate whether the type is an abstract class, normal class or interface");
-		}
-		
-	    protected String resolve(JavaRuleCompUnitTemplateContext c, GeneratorContext gc) {
-	        if (c.isInterface()) {
-	            return "interface";
-	        }
-	        else {
-	            if (c.isAbstract()) {
-	                return "abstract class";
-	            }
-	            else {
-	                return "class";
-	            }
-	        }
-        }
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/ui/GymnastTemplatePreferencePage.java b/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/ui/GymnastTemplatePreferencePage.java
deleted file mode 100644
index ff99d19..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/src/org/eclipse/gymnast/generators/ast/primordial/ui/GymnastTemplatePreferencePage.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.ast.primordial.ui;
-
-import org.eclipse.gymnast.generators.ast.primordial.Activator;
-import org.eclipse.ui.texteditor.templates.TemplatePreferencePage;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class GymnastTemplatePreferencePage extends TemplatePreferencePage {
-	
-	public GymnastTemplatePreferencePage() {
-		super();
-		
-		setPreferenceStore(Activator.getDefault().getPreferenceStore());
-		setTemplateStore(Activator.getDefault().getTemplateStore());
-		setContextTypeRegistry(Activator.getDefault().getContextTypeRegistry());
-	}
-	
-	protected boolean isShowFormatterSetting() {
-		return false;
-	}
-	
-	public boolean performOk() {
-		boolean ok = super.performOk();
-		
-		Activator.getDefault().savePluginPreferences();
-		
-		return ok;
-	}
-	
-	public void setVisible(boolean visible) {
-		super.setVisible(visible);
-		if (visible) {
-			setTitle("Gymnast Code Templates");
-		}
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ast.primordial/templates/javaGen.xml b/plugins/org.eclipse.gymnast.generators.ast.primordial/templates/javaGen.xml
deleted file mode 100644
index 5a07cd6..0000000
--- a/plugins/org.eclipse.gymnast.generators.ast.primordial/templates/javaGen.xml
+++ /dev/null
@@ -1,470 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<templates><template id="ASTAbstractRule.cu" name="ASTAbstractRule.cu" description="ASTAbstractRule CompilationUnit template" context="org.eclipse.gymnast.generators.ast.primordial.templates.JavaRuleCompUnit" enabled="true" deleted="false" autoinsert="true">package ${astPackageName};&#13;
-&#13;
-/**&#13;
- *&#13;
- * ${generatedBy}&#13;
- */&#13;
-public abstract class ${typeName} ${extends} {&#13;
-	/**&#13;
-	 * Construct a new ${typeName}.&#13;
-	 */&#13;
-	public ${typeName}() {&#13;
-		super();&#13;
-	}&#13;
-&#13;
-${ASTVisitorClass_acceptImpl}&#13;
-&#13;
-}</template><template id="ASTBaseClass.cu" name="ASTBaseClass.cu" description="ASTBaseClass CompilationUnit template" context="org.eclipse.gymnast.generators.ast.primordial.templates.JavaCompUnit" enabled="true" deleted="false" autoinsert="true">package ${astPackageName};&#13;
-&#13;
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;&#13;
-import org.eclipse.gymnast.runtime.core.ast.ASTNodeImpl;&#13;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;&#13;
-&#13;
-/**&#13;
- * The superclass of all ASTNodes for language ${astName}.&#13;
- *&#13;
- * ${generatedBy}&#13;
- */&#13;
-public abstract class ${astBaseClassName} extends ${astBaseClassBaseName} {&#13;
-&#13;
-	protected ${astBaseClassName} _parent;&#13;
-&#13;
-	/**&#13;
-	 * @return the parent of this ASTNode or null if this is the root node of a tree&#13;
-	 */&#13;
-	public ASTNode getParent() {&#13;
-		return _parent;&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * Construct a new ${astBaseClassName}.&#13;
-	 */&#13;
-	public ${astBaseClassName}() {&#13;
-		super();&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * Construct a new ${astBaseClassName}.&#13;
-	 *&#13;
-	 * @param token a Token to initialize the offset and text for this node.&#13;
-	 */&#13;
-	public ${astBaseClassName}(TokenInfo tokenInfo) {&#13;
-		super(tokenInfo);&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * The external entry point used to initiate the visitor on this node.&#13;
-	 * &#13;
-	 * @param visitor the Visitor to visit this node tree&#13;
-	 */&#13;
-	public final void accept(${astVisitorClassName} visitor) {&#13;
-		visitor.preVisit(this);&#13;
-		acceptImpl(visitor);&#13;
-		visitor.postVisit(this);&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * This method can be overridden by subclasses which should provide exactly&#13;
-	 * the same implementation.  Here &lt;code&gt;this&lt;/code&gt; refers to the generic node&#13;
-	 * class, but in the subclass implementations &lt;code&gt;this&lt;/code&gt; will refer to&#13;
-	 * the specific subclass type.  Thus the correct specific &lt;code&gt;beginVisit&lt;/code&gt;&#13;
-	 * and &lt;code&gt;endVisit&lt;/code&gt; methods will be invoked for each subclass and the&#13;
-	 * generic methods will be invoked for subclasses that don't need specific visitor&#13;
-	 * behavior.&#13;
-	 */&#13;
-	public void acceptImpl(${astVisitorClassName} visitor) {&#13;
-		boolean visitChildren = visitor.beginVisit(this);&#13;
-		if (visitChildren) visitChildren(visitor);&#13;
-		visitor.endVisit(this);&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * Iterate through the children of this node and accept the visitor on each.&#13;
-	 */&#13;
-	protected void visitChildren(${astVisitorClassName} visitor) {&#13;
-		for (int i = 0; i &lt; getChildCount(); i++) {&#13;
-			ASTNode child = getChild(i);&#13;
-			if (child instanceof ${astBaseClassName}) {&#13;
-				${astBaseClassName} c = (${astBaseClassName})child;&#13;
-				c.accept(visitor);&#13;
-			}&#13;
-		}&#13;
-	}&#13;
-&#13;
-}&#13;
-</template><template id="ASTContainerRule.cu" name="ASTContainerRule.cu" description="ASTContainerRule CompilationUnit template" context="org.eclipse.gymnast.generators.ast.primordial.templates.JavaRuleCompUnit" enabled="true" deleted="false" autoinsert="true">package ${astPackageName};&#13;
-&#13;
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;&#13;
-&#13;
-/**&#13;
- *&#13;
- * ${generatedBy}&#13;
- */&#13;
-public ${typeKind} ${typeName} ${extends} ${implements} {&#13;
-&#13;
-${^foreach_KeywordLiteral}	public static final String KW_${literal_UC} = "${literal}";&#13;
-${^END}&#13;
-${^foreach_ChildElement}	private ${childType} _${childName};&#13;
-${^END}&#13;
-${^foreach_ChildElement}	public ${childType} getAs${childName_UC}() {&#13;
-		return _${childName};&#13;
-	}&#13;
-${^END}&#13;
-&#13;
-${^foreach_ChildElement}	public boolean isChild${childName_UC}() {&#13;
-		return _${childName} != null;&#13;
-	}&#13;
-${^END}&#13;
-&#13;
-	/**&#13;
-	 * @return the number of children of this ASTNode&#13;
-	 */&#13;
-	public int getChildCount() {&#13;
-		int count = 0;&#13;
-${^foreach_ChildElement}		if (_${childName} != null) count++;&#13;
-${^END}&#13;
-		return count;&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * @param index the index of a child ASTNode to get&#13;
-	 * @return the child ASTNode at the given index&#13;
-	 * @throws IndexOutOfBoundsException when the index is out of bounds&#13;
-	 */&#13;
-	public ASTNode getChild(int index) {&#13;
-	    if (index != 0) throw new IndexOutOfBoundsException();&#13;
-${^foreach_ChildElement}		if (_${childName} != null) return _${childName};&#13;
-${^END}&#13;
-		throw new IndexOutOfBoundsException();&#13;
-	}&#13;
-	&#13;
-	/**&#13;
-	 * Construct a new ${typeName}.&#13;
-	 */&#13;
-	public ${typeName}() {&#13;
-		super();&#13;
-	}&#13;
-	&#13;
-${^foreach_ChildElement}	public void initAs${childName_UC}(${childTypeOrToken} ${childName}) {&#13;
-		if (_${childName}._parent != null) throw new RuntimeException();&#13;
-		_${childName}._parent = this;&#13;
-		_${childName} = ${childName};&#13;
-	}&#13;
-${^END}&#13;
-&#13;
-${ASTVisitorClass_acceptImpl}&#13;
-&#13;
-}&#13;
-</template><template id="ASTListRule.cu" name="ASTListRule.cu" description="ASTListRule CompilationUnit template" context="org.eclipse.gymnast.generators.ast.primordial.templates.JavaRuleCompUnit" enabled="true" deleted="false" autoinsert="true">package ${astPackageName};&#13;
-&#13;
-import java.util.ArrayList;&#13;
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;&#13;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;&#13;
-&#13;
-/**&#13;
- *&#13;
- * ${generatedBy}&#13;
- */&#13;
-public ${typeKind} ${typeName} ${extends} {&#13;
-&#13;
-	private ArrayList _children = new ArrayList();&#13;
-	&#13;
-	/**&#13;
-	 * @return the number of children of this ASTNode&#13;
-	 */&#13;
-	public int getChildCount() {&#13;
-		return _children.size();&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * @param index the index of a child ASTNode to get&#13;
-	 * @return the child ASTNode at the given index&#13;
-	 * @throws IndexOutOfBoundsException when the index is out of bounds&#13;
-	 */&#13;
-	public ASTNode getChild(int index) {&#13;
-		return (ASTNode)_children.get(index);&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * Add a child to this list.&#13;
-	 */&#13;
-	public void addChild(${astBaseClassName} child) {&#13;
-		if (child == null) return;&#13;
-		if (child._parent != null) throw new RuntimeException();&#13;
-		_children.add(child);&#13;
-		child._parent = this;&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * Wrap the provided Token in a ${astTokenClassName}&#13;
-	 * and add it as a child of this node.&#13;
-	 * &#13;
-	 * @param token the Token to be added as a child of this node&#13;
-	 */&#13;
-	public void addChild(TokenInfo tokenInfo) {&#13;
-		addChild(new ${astTokenClassName}(tokenInfo));&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * Construct a new ${typeName}.&#13;
-	 */&#13;
-	public ${typeName}() {&#13;
-		super();&#13;
-	}&#13;
-&#13;
-${ASTVisitorClass_acceptImpl}&#13;
-&#13;
-}&#13;
-</template><template id="ASTSequenceRule.cu" name="ASTSequenceRule.cu" description="ASTSequenceRule CompilationUnit template" context="org.eclipse.gymnast.generators.ast.primordial.templates.JavaRuleCompUnit" enabled="true" deleted="false" autoinsert="true">package ${astPackageName};&#13;
-&#13;
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;&#13;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;&#13;
-&#13;
-/**&#13;
- *&#13;
- * ${generatedBy}&#13;
- */&#13;
-public ${typeKind} ${typeName} ${extends} ${implements} {&#13;
-&#13;
-${^foreach_KeywordLiteral}	public static final String KW_${literal_UC} = "${literal}";&#13;
-${^END}&#13;
-${^foreach_ChildElement}	private ${childType} _${childName};&#13;
-${^END}&#13;
-${^foreach_ChildElement}	public ${childType} get${childName_UC}() {&#13;
-		return _${childName};&#13;
-	}&#13;
-${^END}&#13;
-&#13;
-	/**&#13;
-	 * @return the number of children of this ASTNode&#13;
-	 */&#13;
-	public int getChildCount() {&#13;
-		int count = 0;&#13;
-${^foreach_ChildElement}		if (_${childName} != null) count++;&#13;
-${^END}&#13;
-		return count;&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * @param index the index of a child ASTNode to get&#13;
-	 * @return the child ASTNode at the given index&#13;
-	 * @throws IndexOutOfBoundsException when the index is out of bounds&#13;
-	 */&#13;
-	public ASTNode getChild(int index) {&#13;
-		int count = -1;&#13;
-${^foreach_ChildElement}		if ((_${childName} != null) &amp;&amp; (++count == index)) return _${childName};&#13;
-${^END}&#13;
-		throw new IndexOutOfBoundsException();&#13;
-	}&#13;
-	&#13;
-	/**&#13;
-	 * Construct a new ${typeName}.&#13;
-	 */&#13;
-	public ${typeName}(&#13;
-${^foreach_ChildElement}		${childTypeOrToken} ${childName}${comma}&#13;
-${^END}	) {&#13;
-		super();&#13;
-&#13;
-${^foreach_ChildElement}		if (${childName} != null) {&#13;
-			_${childName} = ${initExpr};&#13;
-			if (_${childName}._parent != null) throw new RuntimeException();&#13;
-			_${childName}._parent = this;&#13;
-		}&#13;
-${^END}&#13;
-	}&#13;
-&#13;
-${ASTVisitorClass_acceptImpl}&#13;
-&#13;
-}&#13;
-</template><template id="ASTTokenClass.cu" name="ASTTokenClass.cu" description="ASTTokenClass CompilationUnit template" context="org.eclipse.gymnast.generators.ast.primordial.templates.JavaCompUnit" enabled="true" deleted="false" autoinsert="true">package ${astPackageName};&#13;
-&#13;
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;&#13;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;&#13;
-&#13;
-/**&#13;
- * Represents a token in the language grammar.&#13;
- * Can be subclassed to represent specific token subgroups.&#13;
- *&#13;
- * ${generatedBy}&#13;
- */&#13;
-public class ${astTokenClassName} extends ${astBaseClassName} {&#13;
-&#13;
-	/**&#13;
-	 * @return the number of children of this ASTNode&#13;
-	 */&#13;
-	public final int getChildCount() {&#13;
-		// token rules cannot have children!&#13;
-		return 0;&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * @param index the index of a child ASTNode to get&#13;
-	 * @return the child ASTNode at the given index&#13;
-	 * @throws IndexOutOfBoundsException when the index is out of bounds&#13;
-	 */&#13;
-	public final ASTNode getChild(int index) {&#13;
-		// token rules cannot have children!&#13;
-		throw new IndexOutOfBoundsException();&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * Construct a new ${astTokenClassName}&#13;
-	 */&#13;
-	public ${astTokenClassName}(TokenInfo tokenInfo) {&#13;
-		super(tokenInfo);&#13;
-	}&#13;
-&#13;
-${ASTVisitorClass_acceptImpl}&#13;
-&#13;
-}&#13;
-</template><template id="ASTTokenRule.cu" name="ASTTokenRule.cu" description="ASTTokenRule CompilationUnit template" context="org.eclipse.gymnast.generators.ast.primordial.templates.JavaRuleCompUnit" enabled="true" deleted="false" autoinsert="true">package ${astPackageName};&#13;
-&#13;
-import org.eclipse.gymnast.runtime.core.ast.TokenInfo;&#13;
-&#13;
-/**&#13;
- *&#13;
- * ${generatedBy}&#13;
- */&#13;
-public class ${typeName} extends ${astTokenClassName} {&#13;
-&#13;
-${^foreach_KeywordLiteral}	public static final String KW_${literal_UC} = "${literal}";&#13;
-${^END}&#13;
-	&#13;
-	/**&#13;
-	 * Construct a new ${typeName}.&#13;
-	 */&#13;
-	public ${typeName}(TokenInfo tokenInfo) {&#13;
-		super(tokenInfo);&#13;
-	}&#13;
-&#13;
-${ASTVisitorClass_acceptImpl}&#13;
-&#13;
-}</template><template id="ASTVisitorClass.cu" name="ASTVisitorClass.cu" description="ASTVisitorClass CompilationUnit template" context="org.eclipse.gymnast.generators.ast.primordial.templates.JavaCompUnit" enabled="true" deleted="false" autoinsert="true">package ${astPackageName};&#13;
-&#13;
-/**&#13;
- * A Visitor pattern stub implementation for language ${astName}.&#13;
- *&#13;
- * ${generatedBy}&#13;
- */&#13;
-public class ${astVisitorClassName} {&#13;
-&#13;
-	/**&#13;
-	 * The external entry point used to perform a visit beginning at the given node.&#13;
-	 * &#13;
-	 * @param node the ${astBaseClassName} to visit&#13;
-	 */&#13;
-	public final void visit(${astBaseClassName} node) {&#13;
-		node.accept(this);&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * Called just before &lt;code&gt;beginVisit&lt;/code&gt; for each node being visited.&#13;
-	 * This may be overridden to provide special behavior at that point in processing.&#13;
-	 * &#13;
-	 * @param node the ${astBaseClassName} currently being visited&#13;
-	 */&#13;
-	public void preVisit(${astBaseClassName} node) {&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * Called just after &lt;code&gt;endVisit&lt;/code&gt; for each node being visited.&#13;
-	 * This may be overridden to provide special behavior at that point in processing.&#13;
-	 * &#13;
-	 * @param node the ${astBaseClassName} currently being visited&#13;
-	 */&#13;
-	public void postVisit(${astBaseClassName} node) {&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * This is called, for each node being visited, just after &lt;code&gt;preVisit&lt;/code&gt; and&#13;
-	 * before (optionally) visiting the children of the node.&#13;
-	 * This &lt;code&gt;beginVisit&lt;/code&gt; method is the generic one called for node types that&#13;
-	 * don't provide a specific overloaded form of &lt;code&gt;beginVisit&lt;/code&gt;.&#13;
-	 * This may be overridden to provide special behavior at that point in processing.&#13;
-	 * &#13;
-	 * @param node the ${astBaseClassName} currently being visited&#13;
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node&#13;
-	 */&#13;
-	public boolean beginVisit(${astBaseClassName} node) {&#13;
-		return true;&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * This is called, for each node being visited, after &lt;code&gt;beginVisit&lt;/code&gt; and&#13;
-	 * (optionally) visiting the children of the node and before &lt;code&gt;postVisit&lt;/code&gt;.&#13;
-	 * This &lt;code&gt;endVisit&lt;/code&gt; method is the generic one called for node types that&#13;
-	 * don't provide a specific overloaded form of &lt;code&gt;endVisit&lt;/code&gt;.&#13;
-	 * This may be overridden to provide special behavior at that point in processing.&#13;
-	 * &#13;
-	 * @param node the ${astBaseClassName} currently being visited&#13;
-	 */&#13;
-	public void endVisit(${astBaseClassName} node) {&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * This is called, for each node being visited, just after &lt;code&gt;preVisit&lt;/code&gt; and&#13;
-	 * before (optionally) visiting the children of the node.&#13;
-	 * This &lt;code&gt;beginVisit&lt;/code&gt; method is the specific one called for nodes&#13;
-	 * of type &lt;code&gt;${astTokenClassName}&lt;/code&gt;&#13;
-	 * This may be overridden to provide special behavior at that point in processing.&#13;
-	 * &#13;
-	 * @param tokenNode the node currently being visited&#13;
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node&#13;
-	 */&#13;
-	public boolean beginVisit(${astTokenClassName} tokenNode) {&#13;
-		return beginVisit((${astBaseClassName})tokenNode);&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * This is called, for each node being visited, after &lt;code&gt;beginVisit&lt;/code&gt; and&#13;
-	 * (optionally) visiting the children of the node and before &lt;code&gt;postVisit&lt;/code&gt;.&#13;
-	 * This &lt;code&gt;endVisit&lt;/code&gt; method is the specific one called for nodes&#13;
-	 * of type &lt;code&gt;${astTokenClassName}&lt;/code&gt;&#13;
-	 * This may be overridden to provide special behavior at that point in processing.&#13;
-	 * &#13;
-	 * @param tokenNode the node currently being visited&#13;
-	 */&#13;
-	public void endVisit(${astTokenClassName} tokenNode) {&#13;
-		endVisit((${astBaseClassName})tokenNode);&#13;
-	}&#13;
-&#13;
-${^foreach_Rule}	/**&#13;
-	 * This is called, for each node being visited, just after &lt;code&gt;preVisit&lt;/code&gt; and&#13;
-	 * before (optionally) visiting the children of the node.&#13;
-	 * This &lt;code&gt;beginVisit&lt;/code&gt; method is the specific one called for nodes&#13;
-	 * of type &lt;code&gt;${ruleName_UC}&lt;/code&gt;&#13;
-	 * This may be overridden to provide special behavior at that point in processing.&#13;
-	 * &#13;
-	 * @param ${ruleName_LC} the node currently being visited&#13;
-	 * @return true to visit the children of the node, false to prevent visiting the children of the node&#13;
-	 */&#13;
-	public boolean beginVisit(${ruleName_UC} ${ruleName_LC}) {&#13;
-		return beginVisit((${ruleBaseClassName})${ruleName_LC});&#13;
-	}&#13;
-&#13;
-	/**&#13;
-	 * This is called, for each node being visited, after &lt;code&gt;beginVisit&lt;/code&gt; and&#13;
-	 * (optionally) visiting the children of the node and before &lt;code&gt;postVisit&lt;/code&gt;.&#13;
-	 * This &lt;code&gt;endVisit&lt;/code&gt; method is the specific one called for nodes&#13;
-	 * of type &lt;code&gt;${ruleName_UC}&lt;/code&gt;&#13;
-	 * This may be overridden to provide special behavior at that point in processing.&#13;
-	 * &#13;
-	 * @param ${ruleName_LC} the node currently being visited&#13;
-	 */&#13;
-	public void endVisit(${ruleName_UC} ${ruleName_LC}) {&#13;
-		endVisit((${ruleBaseClassName})${ruleName_LC});&#13;
-	}&#13;
-${^END}&#13;
-&#13;
-}</template><template id="ASTVisitorClass_acceptImpl" name="ASTVisitorClass_acceptImpl" description="acceptImpl method for the visitor framework" context="org.eclipse.gymnast.generators.ast.primordial.templates.JavaMethod" enabled="true" deleted="false" autoinsert="true">	/**&#13;
-	 * This method overrides the superclass &lt;code&gt;acceptImpl&lt;/code&gt; providing&#13;
-	 * the same implementation.  Here &lt;code&gt;this&lt;/code&gt; refers to this specific node&#13;
-	 * class, so the &lt;code&gt;beginVisit&lt;/code&gt; and &lt;code&gt;endVisit&lt;/code&gt; methods&#13;
-	 * specific to this type in the visitor will be invoked.&#13;
-	 */&#13;
-	public void acceptImpl(${astVisitorClassName} visitor) {&#13;
-		boolean visitChildren = visitor.beginVisit(this);&#13;
-		if (visitChildren) visitChildren(visitor);&#13;
-		visitor.endVisit(this);&#13;
-	}</template></templates>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/.classpath b/plugins/org.eclipse.gymnast.generators.ecore.ui/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/.project b/plugins/org.eclipse.gymnast.generators.ecore.ui/.project
deleted file mode 100644
index f601920..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generators.ecore.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.gymnast.generators.ecore.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index a6bca93..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.eclipse.gymnast.generators.ecore.ui (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.generators.ecore.ui;singleton:=true
-Bundle-Version: 0.9.0
-Bundle-Activator: org.eclipse.gymnast.generators.ecore.ui.Activator
-Bundle-Vendor: Miguel Garcia, http://www.sts.tu-harburg.de/~mi.garcia/
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.gymnast.generators.ecore,
- org.eclipse.ui.ide,
- org.eclipse.emf.codegen.ecore,
- org.eclipse.gymnast.generator.core;bundle-version="0.3.0"
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.gymnast.generators.ecore.ui.actions
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/build.properties b/plugins/org.eclipse.gymnast.generators.ecore.ui/build.properties
deleted file mode 100644
index f6cb7e0..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/build.properties
+++ /dev/null
@@ -1,9 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               lexers/,\
-               templates/
-src.includes = lexers/,\
-               templates/
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/icons/obj16/gymnast.gif b/plugins/org.eclipse.gymnast.generators.ecore.ui/icons/obj16/gymnast.gif
deleted file mode 100644
index 4771987..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/icons/obj16/gymnast.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/lexers/GenericAntlrv2Lexer.g b/plugins/org.eclipse.gymnast.generators.ecore.ui/lexers/GenericAntlrv2Lexer.g
deleted file mode 100644
index 8bca4fb..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/lexers/GenericAntlrv2Lexer.g
+++ /dev/null
@@ -1,71 +0,0 @@
-
-options
-{
-	testLiterals=false;
-	k=3;
-	charVocabulary='\003'..'\377';
-}
-
-
-LCURLY  : '{';
-RCURLY  : '}';
-LSQUARE : '[';
-RSQUARE : ']';
-LPAREN  : '(';
-RPAREN  : ')';
-
-DOT     : '.';
-COMMA   : ',';
-COLON   : ':';
-SEMI    : ';';
-PIPE    : '|';
-
-STAR    : '*';
-PLUS    : '+';
-EQUALS  : '=';
-QMARK   : '?';
-BANG    : '!';
-
-DOLLAR  : '$'; 
-HASH    : '#';
-AT      : '@'; 
-
-AMP : '&';
-LT  : '<';
-GT  : '>'; 
-MINUS  : '-';
-SLASH  : '/';
-
-MINUS_GT : MINUS GT; 
-DOT_DOT  : DOT DOT; 
-GT_LT    : GT LT;
-LT_GT    : LT GT;
-
-
-STRING_LITERAL : '"' (ESC | ~'"')* '"' ;
-
-// TODO: The (DIGIT DIGIT DIGIT) is cheesy it should be something like
-//       ( options { warnWhenFollowAmbig = false; } : (DIGIT)+ )
-//       but I don't want to deal with parsing that yet.
-protected ESC :
-'\\' ('t' | 'f' | 'r' | 'n' | '"' | '\'' | '\\' | (DIGIT DIGIT DIGIT) )
-;
-
-ID options { testLiterals=true; }
-: ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | DIGIT)* ;
-
-INT_LITERAL : (DIGIT)+ ;
-
-protected DIGIT : '0'..'9';
-
-WS : (' ' | '\t' | '\f' | '\r' | '\n')+ 
-{ $setType(Token.SKIP); }
-;
-
-SINGLE_LINE_COMMENT : "//" (~('\n'|'\r'))* ('\n'|'\r')?
-{ $setType(Token.SKIP); }
-;
-
-MULTI_LINE_COMMENT : "/*" ("*/" | (~'!' (~'*' | '*' ~'/')* "*/"))
-{ $setType(Token.SKIP); }
-;
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/lexers/GenericJavaCCLexer.jj b/plugins/org.eclipse.gymnast.generators.ecore.ui/lexers/GenericJavaCCLexer.jj
deleted file mode 100644
index 729905d..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/lexers/GenericJavaCCLexer.jj
+++ /dev/null
@@ -1,75 +0,0 @@
-
-TOKEN : {
-  <#ESC: "\\" ["t","f","r","n","\"","'","\\"] >
-}
-
-TOKEN : {
-  <ID : ("~")? (["a"-"z","A"-"Z","_"]) (["a"-"z","A"-"Z","_"] | <DIGIT>)* >
-}
-
-TOKEN : { <INT_LITERAL: (<DIGIT>)+ > }
-TOKEN : { <#DIGIT: ["0"-"9"] > }
-
-TOKEN :
-{ <LCURLY  : "{">
-| <RCURLY  : "}">
-| <LSQUARE : "[">
-| <RSQUARE : "]">
-| <LPAREN  : "(">
-| <RPAREN  : ")">
-
-| <DOT     : ".">
-| <COMMA   : ",">
-| <COLON   : ":">
-| <SEMI    : ";">
-| <PIPE    : "|">
-
-| <STAR    : "*">
-| <PLUS    : "+">
-| <EQUALS  : "=">
-| <QMARK   : "?">
-| <BANG    : "!">
-| <SLASH   : "/">
-
-|   < #DOUBLESLASH : "//" >
-|   < #DOUBLEQUOTE : "\"" > 
-|   < #SINGLEQUOTE : "'"  >
-|   < #BACKSLASH   : "\\"  >
-
-|   < DOLLAR  : "$"> 
-|   < HASH    : "#"> 
-|   < AT      : "@">
-|   < MINUS   : "-">  
-
-|   < DOT_DOT  : ".."> 
-|   < MINUS_GT : "->"> 
-|   < GT_LT    : "><"> 
-|   < LT_GT    : "<>"> 
-
-|   < AMP : "&" > 
-|   < LT  : "<" > 
-|   < GT  : ">" > 
-
-|   < STRING_LITERAL : <DOUBLEQUOTE> (<ESC> | ~["\""])* <DOUBLEQUOTE> >
-|   < CHAR_LITERAL   : <SINGLEQUOTE> (<ESC> | (~["'"])) <SINGLEQUOTE> >
-
-|   < #LETTERORUNDERSCORE : ["a"-"z", "A"-"Z", "_"] > 
-|   < #LETTERORUNDERSCOREORDIGIT : ( <LETTERORUNDERSCORE> | <DIGIT> ) > 
-
-
-}
-
-SKIP :
-{
-    < SINGLELINECOMMENT : <DOUBLESLASH> (~["\n","\r"])* ("\n"|"\r\n")>
-|   < WS : ([" ", "\t", "\f", "\r", "\n"])+  >
-|   "/*" : WithinComment
-}
-<WithinComment> SKIP :
-{
-    "*/" : DEFAULT
-}    
-<WithinComment> MORE  : 
-{
-    < ~[] >
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/plugin.xml b/plugins/org.eclipse.gymnast.generators.ecore.ui/plugin.xml
deleted file mode 100644
index 9753e12..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/plugin.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            id="org.eclipse.gymnast.generators.ecore.ui.actions.GenerateEcore"
-            nameFilter="*.ast"
-            objectClass="org.eclipse.core.resources.IFile">
-         <action
-               class="org.eclipse.gymnast.generators.ecore.ui.actions.GenEcoreFromGymnastGrammar"
-               icon="icons/obj16/gymnast.gif"
-               id="org.eclipse.gymnast.generators.ecore.ui.GenEcoreFromGymnastGrammar"
-               label="Generate .ecore"
-               menubarPath="additions">
-         </action>
-         <action
-               class="org.eclipse.gymnast.generators.ecore.ui.actions.CheckWellformedness"
-               icon="icons/obj16/gymnast.gif"
-               id="org.eclipse.gymnast.generators.ecore.ui.actions.CheckWellformedness"
-               label="Check well-formedness"
-               menubarPath="additions">
-         </action>
-         <action
-               class="org.eclipse.gymnast.generators.ecore.ui.actions.GenJavaCCLexer"
-               icon="icons/obj16/gymnast.gif"
-               id="org.eclipse.gymnast.generators.ecore.ui.actions.GenJavaCCLexer"
-               label="Generate JavaCC lexer file"
-               menubarPath="additions">
-         </action>
-         <action
-               class="org.eclipse.gymnast.generators.ecore.ui.actions.GenAntlrv2Lexer"
-               icon="icons/obj16/gymnast.gif"
-               id="org.eclipse.gymnast.generators.ecore.ui.actions.GenAntlrv2Lexer"
-               label="Generate Antlrv2 lexer file"
-               menubarPath="additions">
-         </action>
-         <action
-               class="org.eclipse.gymnast.generators.ecore.ui.actions.GenerateGenModel"
-               icon="icons/obj16/gymnast.gif"
-               id="org.eclipse.gymnast.generators.ecore.ui.GenerateGenModel"
-               label="Generate .genmodel">
-         </action>
-         <action
-               class="org.eclipse.gymnast.generators.ecore.ui.actions.GenerateGenModel"
-               icon="icons/obj16/gymnast.gif"
-               id="org.eclipse.gymnast.generators.ecore.ui.GenGenModelAndJava"
-               label="Generate .genmodel and Java">
-         </action>
-      </objectContribution>
-   </extension>
-
-
-</plugin>
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/Activator.java b/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/Activator.java
deleted file mode 100644
index 6e9fc6a..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/Activator.java
+++ /dev/null
@@ -1,126 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.ui;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.FileReader;
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.gymnast.generators.ecore.ui";
-
-	// The shared instance
-	private static Activator plugin;
-
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 * 
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-	public String getLexerJavaCC() {
-		return getLexerContents("GenericJavaCCLexer.jj");
-	}
-
-	public String getLexerAntlrv2() {
-		return getLexerContents("GenericAntlrv2Lexer.g");
-	}
-
-	public String getLexerContents(String fileName) {
-		URL url = getBundle().getEntry("lexers/" + fileName);
-		try {
-			String fileLocation = FileLocator.toFileURL(url).getPath();
-			FileReader fr = new FileReader(fileLocation);
-			BufferedReader br = new BufferedReader(fr);
-			String contents = "";
-			String tmp = "";
-			while ((tmp = br.readLine()) != null) {
-				contents += tmp + newLine;
-			}
-			br.close();
-			return contents;
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	public static boolean writeStringToFile(String outFilePath, String fileText) {
-		try {
-			IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-			IPath path = new Path(outFilePath);
-			IFile outFile = workspaceRoot.getFile(path);
-			java.io.InputStream in = new ByteArrayInputStream(fileText.getBytes());
-			if (outFile.exists()) {
-				outFile.setContents(in, true, false, null);
-			} else {
-				outFile.create(in, true, null);
-			}
-			return true;
-		} catch (CoreException e) {
-			e.printStackTrace();
-			return false; 
-		}
-	}
-	
-	public void logError(String className, Exception exception) {
-		this.getLog().
-				log(
-					new Status(IStatus.ERROR,
-						this.getBundle().getSymbolicName(),
-						IStatus.ERROR, "Error detected in class: " + className,
-						exception)
-				);
-	}
-		
-
-	
-	private static final String newLine = System.getProperty("line.separator");
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/CheckWellformedness.java b/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/CheckWellformedness.java
deleted file mode 100644
index 32a3a5c..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/CheckWellformedness.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.ui.actions;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.gymnast.generators.ecore.convert.EcoreGeneratorFromGymnastGrammar;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class CheckWellformedness implements IObjectActionDelegate {
-
-	private IFile _file;
-	
-	public void selectionChanged(IAction action, ISelection selection) {
-		_file = null;
-		
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection sel = (IStructuredSelection)selection;
-			Object selElem = sel.getFirstElement();
-			if (selElem instanceof IFile) {
-				_file = (IFile)selElem;
-			}
-		}
-	}
-
-	public void run(IAction action) {
-		if ((_file != null) ) {
-			EcoreGeneratorFromGymnastGrammar generator = new EcoreGeneratorFromGymnastGrammar();
-			generator.generate(_file, false, new NullProgressMonitor());
-		}
-	}
-
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		// TODO Auto-generated method stub
-		
-	}
-	
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenAntlrv2Lexer.java b/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenAntlrv2Lexer.java
deleted file mode 100644
index a8794c2..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenAntlrv2Lexer.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.ui.actions;
-
-import org.eclipse.gymnast.generators.ecore.cst.RootCS;
-import org.eclipse.gymnast.generators.ecore.ui.Activator;
-import org.eclipse.jface.action.IAction;
-
-public class GenAntlrv2Lexer extends GenLexer {
-
-	public GenAntlrv2Lexer() {
-		// TODO Auto-generated constructor stub
-	}
-
-	public void run(IAction action) {
-		if ((_file != null)) {
-			RootCS wfc = RootCS.getWellFormednessChecker(_file);
-			if (wfc != null) {
-				String outFilePath = getLexerFilePath(_file, "g", wfc.languageName);
-				Activator d = org.eclipse.gymnast.generators.ecore.ui.Activator.getDefault();
-				String fileText = "";
-				fileText += newLine + "class " + getLanguageName(_file) + "Lexer extends Lexer;" + newLine ;
-				fileText += d.getLexerAntlrv2();
-				d.writeStringToFile(outFilePath, fileText);
-			}
-		}
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenEcoreFromGymnastGrammar.java b/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenEcoreFromGymnastGrammar.java
deleted file mode 100644
index e3fd5ff..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenEcoreFromGymnastGrammar.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.ui.actions;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.gymnast.generators.ecore.convert.*;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class GenEcoreFromGymnastGrammar implements IObjectActionDelegate {
-
-	private IFile _file;
-	private GenerateEcoreFromGymnastGrammarJob _job;
-
-	
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-	
-	public void selectionChanged(IAction action, ISelection selection) {
-		_file = null;
-		
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection sel = (IStructuredSelection)selection;
-			Object selElem = sel.getFirstElement();
-			if (selElem instanceof IFile) {
-				_file = (IFile)selElem;
-			}
-		}
-	}
-
-	public void run(IAction action) {
-		if ((_file != null) && (_job == null)) {
-			_job = new GenerateEcoreFromGymnastGrammarJob();
-			_job.schedule();
-		}
-	}
-	
-	private class GenerateEcoreFromGymnastGrammarJob extends Job {
-		private GenerateEcoreFromGymnastGrammarJob() {
-			super("Generating Ecore Model for " + _file.getName());
-		}
-		
-		protected IStatus run(IProgressMonitor monitor) {
-
-		    EcoreGeneratorFromGymnastGrammar generator = new EcoreGeneratorFromGymnastGrammar();
-			generator.generate(_file, monitor);
-			
-			_job = null;
-			return Status.OK_STATUS;
-		}
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenJavaCCLexer.java b/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenJavaCCLexer.java
deleted file mode 100644
index 19d9ccb..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenJavaCCLexer.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.ui.actions;
-
-import org.eclipse.gymnast.generators.ecore.cst.RootCS;
-import org.eclipse.gymnast.generators.ecore.ui.Activator;
-import org.eclipse.jface.action.IAction;
-
-public class GenJavaCCLexer extends GenLexer {
-
-	public GenJavaCCLexer() {
-		// TODO Auto-generated constructor stub
-	}
-
-	public void run(IAction action) {
-		if ((_file != null)) {
-			RootCS wfc = RootCS.getWellFormednessChecker(_file);
-			String outFilePath = getLexerFilePath(_file, "jj", wfc.languageName);
-			Activator d = org.eclipse.gymnast.generators.ecore.ui.Activator.getDefault();
-			String fileText = d.getLexerJavaCC();
-			d.writeStringToFile(outFilePath, fileText);
-		}
-	}
-	
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenLexer.java b/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenLexer.java
deleted file mode 100644
index 49eb034..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenLexer.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.ui.actions;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.gymnast.generators.ecore.cst.GymnastCollector;
-import org.eclipse.gymnast.generators.ecore.cst.RootCS;
-import org.eclipse.gymnast.generators.ecore.walker.GymnastWalker;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public abstract class GenLexer implements IObjectActionDelegate {
-	protected IFile _file;
-
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		_file = null;
-
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection sel = (IStructuredSelection) selection;
-			Object selElem = sel.getFirstElement();
-			if (selElem instanceof IFile) {
-				_file = (IFile) selElem;
-			}
-		}
-	}
-
-	protected String getLexerFilePath(IFile astFile, String lexerFileExtension, String fileName) {
-		String astFileExt = astFile.getFileExtension();
-		int extLen = astFileExt != null ? astFileExt.length() + 1 : 0;
-		String astFileName = astFile.getName();
-		fileName = fileName + "Lexer." + lexerFileExtension;
-		String filePath = astFile.getFullPath().removeLastSegments(1).append(fileName).toString();
-		return filePath;
-	}
-
-	protected String getLanguageName(IFile astFile) {
-		
-		BufferedReader reader;
-		try {
-			reader = new BufferedReader(new InputStreamReader(astFile.getContents()));
-			GymnastWalker<Object> gw = new GymnastWalker<Object>();
-			RootCS wellFormednessChecker = new RootCS();
-			GymnastCollector vCollect = new GymnastCollector(wellFormednessChecker);
-			gw.walk(reader, vCollect);
-			return vCollect.c.languageName;
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		return "";
-	}
-
-	protected static final String newLine = System.getProperty("line.separator");
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenerateGenModel.java b/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenerateGenModel.java
deleted file mode 100644
index 7435479..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/src/org/eclipse/gymnast/generators/ecore/ui/actions/GenerateGenModel.java
+++ /dev/null
@@ -1,225 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.ui.actions;
-
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.util.Collections;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.FileLocator;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.codegen.ecore.generator.Generator;
-import org.eclipse.emf.codegen.ecore.genmodel.GenJDKLevel;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModelFactory;
-import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
-import org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter;
-import org.eclipse.emf.common.util.BasicMonitor;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.gymnast.generators.ecore.convert.EcoreGeneratorFromGymnastGrammar;
-import org.eclipse.gymnast.generators.ecore.convert.MyEcoreUtil;
-import org.eclipse.gymnast.generators.ecore.cst.RootCS;
-import org.eclipse.gymnast.generators.ecore.ui.Activator;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-import org.osgi.framework.Bundle;
-
-public class GenerateGenModel implements IObjectActionDelegate {
-
-	public GenerateGenModel() {
-		// TODO Auto-generated constructor stub
-	}
-
-	private IFile _file;
-	private boolean _genJava;
-	private String _genModelBasePackage;
-	private String _genModelPrefix;
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		_file = null;
-
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection sel = (IStructuredSelection) selection;
-			Object selElem = sel.getFirstElement();
-			if (selElem instanceof IFile) {
-				_file = (IFile) selElem;
-			}
-		}
-	}
-
-	public void run(IAction action) {
-		if ((_file != null)) {
-			// check preconditions
-			RootCS wellFormednessChecker = RootCS.getWellFormednessChecker(_file);
-			if (wellFormednessChecker == null) {
-				// add problem markers
-				EcoreGeneratorFromGymnastGrammar generator = new EcoreGeneratorFromGymnastGrammar();
-				generator.generate(_file, false, new NullProgressMonitor());
-				return;
-			}
-			_genModelBasePackage = wellFormednessChecker.getOption_genModelBasePackage();
-			_genModelPrefix = wellFormednessChecker.getOption_genModelPrefix();
-			// create the code generating operation
-			WorkspaceModifyOperation op = buildOperation();
-			// run the generate code operation
-			try {
-				_genJava = action.getId().endsWith("AndJava");
-				Shell activeShell = Activator.getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
-				new ProgressMonitorDialog(activeShell).run(true, true, op);
-			} catch (InterruptedException e) {
-				Activator.getDefault().logError(this.getClass().getName(), e);
-			} catch (InvocationTargetException e) {
-				Activator.getDefault().logError(this.getClass().getName(), e);
-			}
-		}
-	}
-
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-		// TODO Auto-generated method stub
-
-	}
-
-	private WorkspaceModifyOperation buildOperation() {
-		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {
-			protected void execute(IProgressMonitor monitor) throws CoreException {
-				try {
-
-					monitor.beginTask("Gymnast GenModel Generator - ", 1);
-					IPath genModelPath = _file.getFullPath().removeLastSegments(1);
-					// TODO check if .ecore exists, report if not
-					IFile ecoreFile = (IFile) _file.getParent().findMember(fileNameNoExt(_file) + ".ecore");
-					if (ecoreFile == null) {
-						EcoreGeneratorFromGymnastGrammar generator = new EcoreGeneratorFromGymnastGrammar();
-						generator.generate(_file, monitor);
-						ecoreFile = (IFile) _file.getParent().findMember(fileNameNoExt(_file) + ".ecore");
-						assert ecoreFile.exists();
-					}
-					genModelPath = genModelPath.append(fileNameNoExt(_file) + ".genmodel");
-					EPackage mainPackage = MyEcoreUtil.loadEcoreFile(ecoreFile);
-					try {
-						GenModel gm = generateGenModel(genModelPath, mainPackage, _genModelBasePackage,
-								_genModelPrefix, _file.getProject());
-						if (_genJava) {
-							genJavaFromGenModel(gm, monitor);
-						}
-					} catch (IOException e) {
-						Activator.getDefault().logError(this.getClass().getName(), e);
-					}
-
-					IContainer selContainer = _genJava ? _file.getProject() : _file.getParent();
-					if (selContainer != null) {
-						selContainer.refreshLocal(IResource.DEPTH_INFINITE, monitor);
-					}
-
-					return;
-
-				} finally {
-					monitor.done();
-				}
-			}
-
-		};
-		return op;
-	}
-
-	public static String fileNameNoExt(IFile _file) {
-		String ecoreFileExt = _file.getFileExtension();
-		int extLen = ecoreFileExt != null ? ecoreFileExt.length() + 1 : 0;
-		String ecoreFileName = _file.getName();
-		String fileName = ecoreFileName.substring(0, ecoreFileName.length() - extLen);
-		return fileName;
-	}
-
-	public static GenModel generateGenModel(IPath genModelPath, EPackage ePackage, String genModelBasePackage,
-			String genModelPrefix, IProject proj) throws IOException {
-		ResourceSet resourceSet = new ResourceSetImpl();
-		URI genModelURI = URI.createFileURI(genModelPath.toString());
-		Resource genModelResource = Resource.Factory.Registry.INSTANCE.getFactory(genModelURI).createResource(
-				genModelURI);
-		GenModel genModel = GenModelFactory.eINSTANCE.createGenModel();
-		genModelResource.getContents().add(genModel);
-		resourceSet.getResources().add(genModelResource);
-		genModel.setModelDirectory("/" + proj.getName() + "/src");
-		genModel.getForeignModel().add(ePackage.getName());
-		genModel.initialize(Collections.singleton(ePackage));
-		genModel.setComplianceLevel(GenJDKLevel.JDK50_LITERAL);
-		GenPackage genPackage = genModel.getGenPackages().get(0);
-
-		// modified
-		genModel.setModelName(genModelURI.trimFileExtension().lastSegment());
-		// + "GenModel");
-		try {
-			genModel.setModelPluginID(proj.getDescription().getName());
-		} catch (CoreException e1) {
-			Activator.getDefault().logError(GenerateGenModel.class.getName(), e1);
-		}
-
-		// assignPrefixBasedOnPackageName(genPackage);
-
-		genPackage.setBasePackage(genModelBasePackage);
-		genPackage.setPrefix(genModelPrefix);
-
-		genModel.setDynamicTemplates(true);
-		genModel.setCodeFormatting(true);
-
-		// dependencies so far
-		// genModel.getModelPluginVariables().add("ECLIPSE_OCL = org.eclipse.ocl");
-		/* arrange for using hookpoints when generating .java from .genmodel */
-		try {
-			Bundle thisBundle = Activator.getDefault().getBundle();
-			IPath dynamicTemplatesFolder = new Path("templates");
-			URL url = FileLocator.find(thisBundle, dynamicTemplatesFolder, null);
-			String strURI;
-			strURI = url.toURI().toString();
-			genModel.setTemplateDirectory(strURI);
-		} catch (URISyntaxException e) {
-			Activator.getDefault().logError(GenerateGenModel.class.getName(), e);
-		}
-
-		genModelResource.save(Collections.EMPTY_MAP);
-		return genModel;
-	}
-
-	/**
-	 * 
-	 * recursively sets the prefix for all subpackages
-	 * 
-	 * @param genPackage
-	 */
-	private static void assignPrefixBasedOnPackageName(GenPackage genPackage) {
-		String prefix = genPackage.getEcorePackage().getName();
-		genPackage.setPrefix(prefix);
-		for (GenPackage gP : genPackage.getNestedGenPackages()) {
-			assignPrefixBasedOnPackageName(gP);
-		}
-	}
-
-	public static void genJavaFromGenModel(GenModel genModel, IProgressMonitor monitor) {
-		genModel.setCanGenerate(true);
-
-		// Create the generator and set the model-level input object.
-		Generator generator = new Generator();
-		generator.setInput(genModel);
-
-		// Generator model code.
-		generator.generate(genModel, GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE, BasicMonitor.toMonitor(monitor));
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class.javajet b/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class.javajet
deleted file mode 100644
index 8cf6180..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class.javajet
+++ /dev/null
@@ -1,5 +0,0 @@
-<%@ jet package="org.eclipse.emf.ocl.examples.codegen.templates.model" imports="java.util.* org.eclipse.emf.codegen.ecore.genmodel.* org.eclipse.emf.ecore.*" class="Class" version="$Id: Class.javajet,v 1.1 2008/05/07 16:53:00 mgarcia Exp $" %>
-<% final String ANNOTATION_URI_DERIVE = "http://www.eclipse.org/ocl/1.1.0/OCL/derive"; %>
-<% final String ANNOTATION_URI_INSTANCE_FIELD = "http://www.eclipse.org/ocl/1.1.0/OCL/instanceField"; %>
-<% final String ANNOTATION_URI_OPERATION = "http://www.eclipse.org/ocl/1.1.0/OCL/operation"; %>
-<%@ include file="Class.javajet"%>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/basicGetGenFeature.TODO.override.javajetinc b/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/basicGetGenFeature.TODO.override.javajetinc
deleted file mode 100644
index c867b71..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/basicGetGenFeature.TODO.override.javajetinc
+++ /dev/null
@@ -1,2 +0,0 @@
-<%// same body as for multivalued derived feature %>
-<%@ include file="getGenFeature.TODO.override.javajetinc"%>
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/declaredFieldGenFeature.insert.javajetinc b/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/declaredFieldGenFeature.insert.javajetinc
deleted file mode 100644
index 6ac4bae..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/declaredFieldGenFeature.insert.javajetinc
+++ /dev/null
@@ -1,15 +0,0 @@
-<%if (isImplementation) { 
-	EClass eClass = genClass.getEcoreClass();
-	for (EAnnotation ann : eClass.getEAnnotations()) { 
-	if(ann.getSource().equals(ANNOTATION_URI_INSTANCE_FIELD) ) {
-	for (String key : ann.getDetails().keySet()) { %>  
-	
-	/**
-	 * <!-- Generated by OCL Compiler  -->
-	 * @generated
-	 */
-	private <%=key%> <%=ann.getDetails().get(key)%>;	
-    <%}
-    }
-  	}
-}%>
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/getGenFeature.TODO.override.javajetinc b/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/getGenFeature.TODO.override.javajetinc
deleted file mode 100644
index 05ec076..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/getGenFeature.TODO.override.javajetinc
+++ /dev/null
@@ -1,19 +0,0 @@
-<%
-String derive = null;
-EStructuralFeature eFeature = genFeature.getEcoreFeature();
-EAnnotation ocl = eFeature.getEAnnotation(ANNOTATION_URI_DERIVE);
-
-if (ocl != null) { 
-	derive = (String) ocl.getDetails().get("derive");
-}
-
-if (derive == null) { %>
-		// TODO: implement this method
-		// Ensure that you remove @generated or mark it @generated NOT
-		throw new UnsupportedOperationException();
-<% } else {%>		
-		/**
-	 	* <!-- Generated by OCL Compiler  -->
-	 	*/
-		<%=derive%>
-<% } %>
diff --git a/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/insert.javajetinc b/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/insert.javajetinc
deleted file mode 100644
index 88b37c6..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore.ui/templates/model/Class/insert.javajetinc
+++ /dev/null
@@ -1,50 +0,0 @@
-<%if (isImplementation) { 
-	EClass eClass = genClass.getEcoreClass();
-	for (EAnnotation ann : eClass.getEAnnotations()) { 
-	if(ann.getSource().equals(ANNOTATION_URI_OPERATION) ) {
-	for (String key : ann.getDetails().keySet()) { %>  
-	
-	/**
-	 * <!-- Generated by OCL Compiler  -->
-	 * @generated
-	 */
-	<%=ann.getDetails().get(key)%>	
-    <%}
-    }
-  	}
-  	
-  	List<EOperation> eOps = eClass.getEOperations();
-  	for(EOperation eOp : eOps) {
-  		for(EAnnotation ann : eOp.getEAnnotations()) {
-  			if(ann.getSource().equals(ANNOTATION_URI_OPERATION) ) {	
-				for (String key : ann.getDetails().keySet()) { %>  
-	
-	/**
-	 * <!-- Generated by OCL Compiler  -->
-	 * @generated
-	 */
-	<%=ann.getDetails().get(key)%>	
-    <%}
-    }
-  		
-  	}
-  	}
-  	
-  	List<EStructuralFeature> eSFs = eClass.getEStructuralFeatures();
-  	for(EStructuralFeature eSF : eSFs) {
-  		for(EAnnotation ann : eSF.getEAnnotations()) {
-  			if(ann.getSource().equals(ANNOTATION_URI_OPERATION) ) {	
-				for (String key : ann.getDetails().keySet()) { %>  
-	
-	/**
-	 * <!-- Generated by OCL Compiler  -->
-	 * @generated
-	 */
-	<%=ann.getDetails().get(key)%>	
-    <%}
-    }
-  		
-  	}
-  	}
-  	
-}%>
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/.classpath b/plugins/org.eclipse.gymnast.generators.ecore/.classpath
deleted file mode 100644
index da05c12..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/.project b/plugins/org.eclipse.gymnast.generators.ecore/.project
deleted file mode 100644
index 10018d6..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generators.ecore</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/META-INF/MANIFEST.MF b/plugins/org.eclipse.gymnast.generators.ecore/META-INF/MANIFEST.MF
deleted file mode 100644
index b6c793b..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,19 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.eclipse.gymnast.generators.ecore (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.generators.ecore;singleton:=true
-Bundle-Version: 0.9.0
-Bundle-Activator: org.eclipse.gymnast.generators.ecore.Activator
-Bundle-Vendor: Miguel Garcia, http://www.sts.tu-harburg.de/~mi.garcia/
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.gymnast.generator.core,
- org.eclipse.gymnast.runtime.core,
- org.eclipse.core.resources,
- org.eclipse.emf.codegen.ecore,
- org.eclipse.emf.ecore.xmi
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.gymnast.generators.ecore,
- org.eclipse.gymnast.generators.ecore.convert,
- org.eclipse.gymnast.generators.ecore.cst,
- org.eclipse.gymnast.generators.ecore.errors,
- org.eclipse.gymnast.generators.ecore.walker
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/build.properties b/plugins/org.eclipse.gymnast.generators.ecore/build.properties
deleted file mode 100644
index e9863e2..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/Activator.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/Activator.java
deleted file mode 100644
index c273f37..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/Activator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.gymnast.generators.ecore;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.gymnast.generators.ecore";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/EcoreGeneratorFromGymnastGrammar.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/EcoreGeneratorFromGymnastGrammar.java
deleted file mode 100644
index 827ca31..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/EcoreGeneratorFromGymnastGrammar.java
+++ /dev/null
@@ -1,177 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.convert;
-
-import java.io.BufferedReader;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.gymnast.generators.ecore.cst.GymnastCollector;
-import org.eclipse.gymnast.generators.ecore.cst.RootCS;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.CoverageOfAltAndTokenRules;
-import org.eclipse.gymnast.generators.ecore.walker.GymnastWalker;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-import org.eclipse.gymnast.runtime.core.parser.ParseMessage;
-import org.eclipse.gymnast.runtime.core.util.MarkerUtil;
-
-public class EcoreGeneratorFromGymnastGrammar {
-
-	public void generate(IFile emfFile, IProgressMonitor monitor) {
-		generate(emfFile, true, monitor);
-	}
-
-	public boolean generate(java.io.File astFile, java.io.File ecoreFile) {
-
-		BufferedReader reader;
-		try {
-			reader = new BufferedReader(new InputStreamReader(new FileInputStream(astFile)));
-			GymnastWalker<Object> gw = new GymnastWalker<Object>();
-			RootCS wellFormednessChecker = new RootCS();
-			GymnastCollector vCollect = new GymnastCollector(wellFormednessChecker);
-			gw.walk(reader, vCollect);
-
-			Grammar2Ecore g2e = new Grammar2Ecore(wellFormednessChecker);
-
-			boolean bCheckAltToken = checkCoverageOfAltAndTokenRules(wellFormednessChecker, g2e);
-			if (!bCheckAltToken || !wellFormednessChecker.isWellFormed()) {
-				return false;
-			}
-			g2e.convert();
-			EPackage rootPackage = g2e.eP;
-			try {
-				MyEcoreUtil.serializeEcoreToFile(ecoreFile.getAbsolutePath(), rootPackage);
-				return true;
-			} catch (IOException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
-			}
-		} catch (FileNotFoundException e1) {
-			// TODO Auto-generated catch block
-			e1.printStackTrace();
-		}
-		return false;
-	}
-
-	public void generate(IFile astFile, boolean writeEcore, IProgressMonitor monitor) {
-		try {
-			BufferedReader reader = new BufferedReader(new InputStreamReader(astFile.getContents()));
-			GymnastWalker<Object> gw = new GymnastWalker<Object>();
-			RootCS wellFormednessChecker = new RootCS();
-			GymnastCollector vCollect = new GymnastCollector(wellFormednessChecker);
-			gw.walk(reader, vCollect);
-
-			Grammar2Ecore g2e = new Grammar2Ecore(wellFormednessChecker);
-
-			ParseContext parseContext = new ParseContext();
-
-			wellFormednessChecker.addErrorMsgsFromInputValidation(parseContext);
-			
-			boolean bCheckAltToken = checkCoverageOfAltAndTokenRules(wellFormednessChecker, g2e);
-			if (!bCheckAltToken && parseContext.getErrorCount() == 0) {
-				parseContext.addParseMessage(new CoverageOfAltAndTokenRules());
-			}
-
-			
-			MarkerUtil.updateMarkers(astFile, parseContext);
-			if (!wellFormednessChecker.isWellFormed()) {
-				return;
-			}
-
-			g2e.convert();
-
-			boolean showStopper = false;
-			/*
-			 * All markers generated above are showstopper. If some of them
-			 * where only warnings, the check below could have been used (and
-			 * still generate an .ecore that can be opened with an editor to
-			 * correct such warnings).
-			 */
-			for (ParseMessage pm : parseContext.getMessages()) {
-				showStopper |= (pm instanceof Grammar2EcoreInvalidInput);
-			}
-
-			if (!showStopper && writeEcore) {
-				String filePath = getEcoreFilePath(astFile);
-				EPackage rootPackage = g2e.eP;
-				MyEcoreUtil.serializeEcoreToFile(filePath, rootPackage);
-			}
-
-		} catch (Exception ex) {
-			ex.printStackTrace();
-		}
-	}
-
-	private String getEcoreFilePath(IFile astFile) {
-		String astFileExt = astFile.getFileExtension();
-		int extLen = astFileExt != null ? astFileExt.length() + 1 : 0;
-		String astFileName = astFile.getName();
-		String fileName = astFileName.substring(0, astFileName.length() - extLen);
-		fileName = fileName + ".ecore";
-		String filePath = astFile.getFullPath().removeLastSegments(1).append(fileName).toString();
-		return filePath;
-	}
-
-	/**
-	 * By now the decision has been made which TokenRules and AltRules will be
-	 * converted to: (a) Ecore-level enumerations, (b) String, (c) Integer.
-	 * Additionally some AltRules will be converted to (d) Ecore-level
-	 * interfaces. Any given TokenRule or AltRule must be mapped to only one of
-	 * (a)-(d).
-	 * 
-	 * @param wellFormednessChecker
-	 * @param g2e
-	 */
-	private boolean checkCoverageOfAltAndTokenRules(RootCS wellFormednessChecker, Grammar2Ecore g2e) {
-		List<String> tokensAsEnu = g2e.getTokenRulesWithFixedKeywords();
-
-		// no AltRule or TokenRule is mapped to more than one category
-		List<String> altsAsEnu = g2e.getAltRulesWithFixedKeywords();
-
-		List<String> altsAsString = wellFormednessChecker.getAltRulesWithStrings();
-		List<String> tokensAsString = wellFormednessChecker.getTokenRulesWithStrings();
-		List<String> altsAsInt = wellFormednessChecker.getAltRulesWithIntsOnly();
-		List<String> tokensAsInt = wellFormednessChecker.getTokenRulesWithIntsOnly();
-		List<String> altsAsSeq = wellFormednessChecker.getAltRulesWithSeqOnly();
-
-		boolean res = allDisjoint(tokensAsEnu, altsAsEnu, altsAsString, tokensAsString, altsAsInt, tokensAsInt,
-				altsAsSeq);
-
-		// all AltRules are mapped
-		Set<String> altsAsSthg = new HashSet<String>();
-		altsAsSthg.addAll(altsAsEnu);
-		altsAsSthg.addAll(altsAsInt);
-		altsAsSthg.addAll(altsAsString);
-		altsAsSthg.addAll(altsAsSeq);
-		res &= wellFormednessChecker.getNamesOfAltRules().equals(altsAsSthg);
-
-		// all TokenRules are mapped
-		Set<String> tokensAsSthg = new HashSet<String>();
-		tokensAsSthg.addAll(tokensAsEnu);
-		tokensAsSthg.addAll(tokensAsInt);
-		tokensAsSthg.addAll(tokensAsString);
-		Set<String> allTokenRulesNames = wellFormednessChecker.getNamesOfTokenRules();
-		res &= allTokenRulesNames.equals(tokensAsSthg);
-
-		return res;
-	}
-
-	private boolean allDisjoint(List<String>... lists) {
-		Set<String> seenSoFar = new HashSet<String>();
-		for (List<String> list : lists) {
-			for (String string : list) {
-				if (seenSoFar.contains(string)) {
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/EcorizeOperation.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/EcorizeOperation.java
deleted file mode 100644
index 1cf1cce..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/EcorizeOperation.java
+++ /dev/null
@@ -1,231 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.convert;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EParameter;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.gymnast.generators.ecore.cst.AltRuleAltsKind;
-import org.eclipse.gymnast.generators.ecore.cst.AltRuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.RootCS;
-import org.eclipse.gymnast.generators.ecore.cst.RuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.SeqRuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.TokenRuleAltsKind;
-import org.eclipse.gymnast.generators.ecore.cst.TokenRuleCS;
-
-public class EcorizeOperation {
-
-	private static final String newLine = System.getProperty("line.separator");
-	private RootCS c;
-	private EPackage eP;
-	private String methodBody;
-	private EClass ecorizer;
-
-	/**
-	 * Generates code such as <br>
-	 * <code> 
-	 * public ExtendsOrSuper ecorizeExtendsOrSuper(
-	 * <br> org.eclipse.emf.emfatic.core.lang.gen.ast.ExtendsOrSuper
-	 * extendsOrSuper) 
-	 * <br>{ 
-	 * <br>String input = extendsOrSuper.getText(); 
-	 * <br>return 	 Emfatic.ExtendsOrSuper.get(input); 
-	 * <br>}
-	 * </code>
-	 * 
-	 * 
-	 * @param trCS
-	 * @param enu
-	 * @param ecorizer
-	 * @param c2
-	 */
-	public EcorizeOperation(TokenRuleCS trCS, EEnum enu, EClass ecorizer, RootCS c2) {
-		assert trCS.getKindOfAlts() == TokenRuleAltsKind.FIXED_KEYWORDS;
-		this.c = c2;
-		this.eP = ecorizer.getEPackage();
-		String inputArgJavaType = trCS.getJavaFQNInGymnast();
-		addEcorizeEnumOperation(trCS.name, enu, ecorizer, inputArgJavaType, trCS.toString());
-		assert MyEcoreUtil.isWellFormed(ecorizer.getEPackage());
-	}
-
-	public EcorizeOperation(AltRuleCS arCS, EEnum enu, EClass ecorizer, RootCS c2) {
-		assert arCS.getKindOfAlts() == AltRuleAltsKind.FIXED_KEYWORDS;
-		this.c = c2;
-		this.eP = ecorizer.getEPackage();
-		String inputArgJavaType = arCS.getJavaFQNInGymnast();
-		addEcorizeEnumOperation(arCS.name, enu, ecorizer, inputArgJavaType, arCS.toString());
-		assert MyEcoreUtil.isWellFormed(ecorizer.getEPackage());
-	}
-
-	/**
-	 * 
-	 * Generates the big switch distinguishing among all AST node kinds. Sthg
-	 * like: <code>
-	 * public Object ecorize(EmfaticASTNode astNode) {<br> 
-	 * The return type is java.lang.Object because <br>
-	 * neither EObject nor any of its subypes <br>
-	 * covers both the EEnum's as well as <br>
-	 * the EClass'es that are valid EMF AST nodes. <br><br> 
-	 * if (astNode instanceof org.eclipse.emf.emfatic.core.lang.gen.ast.QidSeparator) { <br>
-	 * return ecorizeQidSeparator((org.eclipse.emf.emfatic.core.lang.gen.ast.QidSeparator) 
-	 * astNode);<br>
-	 *  }<br>
-	 *  ...
-	 * </code>
-	 * 
-	 * @param ecorizer
-	 * @param c2
-	 */
-	public EcorizeOperation(EClass ecorizer, RootCS c2) {
-		this.c = c2;
-		this.eP = ecorizer.getEPackage();
-		this.ecorizer = ecorizer;
-
-		createMethodBodiesForEcorizersForAltWithSeqOnlyRules();
-		assert MyEcoreUtil.isWellFormed(ecorizer.getEPackage());
-
-		createEOpAndMethodBodyForBigSwitch();
-		assert MyEcoreUtil.isWellFormed(ecorizer.getEPackage());
-
-	}
-
-	private void createEOpAndMethodBodyForBigSwitch() {
-		// ------ parameter ----------------------------------------------
-		EParameter param = EcoreFactory.eINSTANCE.createEParameter();
-		param.setName("astNode");
-		String javaFQNParam = c.getOption_astPackageName() + "." + c.getOption_astBaseClassName();
-		EClassifier paramEcoreDT = getEDataTypeForJavaClass(eP, javaFQNParam);
-		param.setEType(paramEcoreDT);
-		// ------ operation ----------------------------------------------
-		String opName = "ecorize";
-
-		EOperation eOp = MyEcoreUtil.newOperation(opName, ecorizer, EcorePackage.eINSTANCE.getEJavaObject());
-		eOp.getEParameters().add(param);
-		// ------ body ----------------------------------------------
-		String comment = "	/* The return type is java.lang.Object because neither EObject nor any of its subypes covers both the EEnum's as well as the EClass'es that are valid EMF AST nodes. Thus, there is no  getOption_ecoreBaseClassName() unlike There is no getOption_astBaseClassName()  */";
-
-		methodBody = comment;
-
-		for (TokenRuleCS trCS : c.getTokenRulesWithEnums()) {
-			methodBody += newLine + oneSwitch(trCS, param);
-		}
-		for (AltRuleCS arCS : c.getAltRulesWithEnums()) {
-			methodBody += newLine + oneSwitch(arCS, param);
-		}
-		for (AltRuleCS arCS : c.altRules) {
-			if (arCS.getKindOfAlts() == AltRuleAltsKind.CONTAINSSEQ) {
-				assert arCS.eClass != null;
-				methodBody += newLine + oneSwitch(arCS, param);
-			}
-		}
-		for (SeqRuleCS srCS : c.seqRules) {
-			assert srCS.eClass != null;
-			methodBody += newLine + oneSwitch(srCS, param);
-		}
-
-		methodBody += newLine + "assert false;"; 
-		methodBody += newLine + "return null;"; 
-
-		// ------ EAnnotation ----------------------------------------------
-		MyEcoreUtil.newAnnotation(eOp, "http://www.eclipse.org/emf/2002/GenModel", "body", methodBody);
-
-	}
-
-	private void createMethodBodiesForEcorizersForAltWithSeqOnlyRules() {
-		for (AltRuleCS arCS : c.altRules) {
-			if (arCS.getKindOfAlts() == AltRuleAltsKind.CONTAINSSEQ) {
-				assert arCS.eClass != null;
-				// classes and ecoreEOp for all SeqRule are available
-				String methodBody = "";
-				List<String> constituentSeqs = arCS.alts;
-				for (String srName : constituentSeqs) {
-					SeqRuleCS refedSeqRule = (SeqRuleCS) c.getRuleForNameIfAny(srName);
-					assert refedSeqRule != null;
-					methodBody += newLine + oneSwitch(refedSeqRule, refedSeqRule.ecorizeEOp.getEParameters().get(0));
-				}
-				/*
-				 * the two following stmts are necessary because otherwise the
-				 * compieler cannot determine that the cases above are
-				 * exhaustive and this section of code is unreachable
-				 */
-				methodBody += newLine + "assert false;";
-				methodBody += newLine + "return null;";
-				Grammar2Ecore.newMethodBodyAnnotation(arCS.ecorizeEOp, methodBody);
-			}
-		}
-
-	}
-
-	private String oneSwitch(RuleCS r, EParameter param) {
-		String methodBody = "";
-		String javaFQNofTypeofArg = r.getJavaFQNInGymnast();
-		methodBody = "if (" + param.getName() + " instanceof " + javaFQNofTypeofArg + ") {";
-		methodBody += newLine + "return ecorize" + c.camelCase(r.name) + " ( (" + javaFQNofTypeofArg + ") "
-				+ param.getName() + " );";
-		methodBody += newLine + "}";
-		return methodBody;
-	}
-
-	private void addEcorizeEnumOperation(String ruleName, EEnum enu, EClass ecorizer, String inputArgJavaType,
-			String originalProduction) {
-		/*
-		 * an item in fixedKeywords may be a ref to a built-in token (e.g, DOT,
-		 * STAR) or a user provided fixed keyword ("state"). In the latter case
-		 * quoted.
-		 */
-
-		// ------ operation ----------------------------------------------
-		String ecorizeOpName = "ecorize" + c.camelCase(ruleName);
-		EOperation eOp = MyEcoreUtil.newOperation(ecorizeOpName, ecorizer, enu);
-		// ------ parameter ----------------------------------------------
-		EParameter param = EcoreFactory.eINSTANCE.createEParameter();
-		param.setName(ruleName);
-		EClassifier gymGenClass = getEDataTypeForJavaClass(enu.getEPackage(), inputArgJavaType);
-		param.setEType(gymGenClass);
-		eOp.getEParameters().add(param);
-		// ------ body ----------------------------------------------
-		String methodBody = "/*" + originalProduction + " */";
-		methodBody += newLine + "String input = " + ruleName + ".getText();";
-		String returnTypeAsJavaFQN = getJavaFQNGeneratedByEcore(enu);
-		methodBody += newLine + "return " + returnTypeAsJavaFQN + ".get(input); ";
-		// ------ EAnnotation ----------------------------------------------
-		MyEcoreUtil.newAnnotation(eOp, "http://www.eclipse.org/emf/2002/GenModel", "body", methodBody);
-	}
-
-	private String getJavaFQNGeneratedByEcore(EClassifier eC) {
-		String res = c.getOption_genModelBasePackage();
-		if (!res.equals("")) {
-			res += ".";
-		}
-		res += MyEcoreUtil.getEcoreFQN(eC);
-		return res;
-	}
-
-	public static EClassifier getEDataTypeForJavaClass(EPackage eP, String javaTypeFQN) {
-		String ecoreName = javaTypeFQN.replace('.', '_');
-		for (EClassifier c : eP.getEClassifiers()) {
-			if ((c instanceof EDataType) && !(c instanceof EEnum)) {
-				EDataType dt = (EDataType) c;
-				if (dt.getName().equals(ecoreName)) {
-					return c;
-				}
-			}
-		}
-		EDataType eDT = EcoreFactory.eINSTANCE.createEDataType();
-
-		// eDT.setInstanceClass(clazz);
-		eDT.setInstanceClassName(javaTypeFQN);
-		eDT.setName(ecoreName);
-		eDT.setSerializable(false);
-		eP.getEClassifiers().add(eDT);
-
-		return eDT;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/GenUnparseInhaleAndMMForSeqRules.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/GenUnparseInhaleAndMMForSeqRules.java
deleted file mode 100644
index 49b2b05..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/GenUnparseInhaleAndMMForSeqRules.java
+++ /dev/null
@@ -1,785 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.convert;
-
-import static org.eclipse.gymnast.generators.ecore.convert.ShorthandJava.jDOT;
-import static org.eclipse.gymnast.generators.ecore.convert.ShorthandJava.jLPAREN;
-import static org.eclipse.gymnast.generators.ecore.convert.ShorthandJava.jPLUS;
-import static org.eclipse.gymnast.generators.ecore.convert.ShorthandJava.jRPAREN;
-import static org.eclipse.gymnast.generators.ecore.convert.ShorthandJava.jSEMI;
-import static org.eclipse.gymnast.generators.ecore.convert.ShorthandJava.jStrBLANK;
-import static org.eclipse.gymnast.generators.ecore.convert.ShorthandJava.jStrWithQuoteEscaped;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.gymnast.generators.ecore.cst.AltRuleAltsKind;
-import org.eclipse.gymnast.generators.ecore.cst.AltRuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.ListRuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.RootCS;
-import org.eclipse.gymnast.generators.ecore.cst.RuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.SeqExprCS;
-import org.eclipse.gymnast.generators.ecore.cst.SeqExprKind;
-import org.eclipse.gymnast.generators.ecore.cst.SeqRuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.TokenRuleCS;
-
-public class GenUnparseInhaleAndMMForSeqRules {
-
-	private EClass ecorizer = null;
-	private RootCS c = null;
-	private String unparseMethodBody = "";
-	private static final String newLine = System.getProperty("line.separator");
-
-	public static final String jPPPackage = "org.eclipse.gymnast.prettyprinting";
-	public static final String jPPBox = jPPPackage + ".Box";
-	public static final String jPPPrettyPrintable = jPPPackage
-			+ ".PrettyPrintable";
-	public static final String jPPSL = jPPPackage + ".SL";
-	public static final String jPPBoxLanguage = jPPPackage + ".BoxLanguage";
-	public static final String jPPBoxStack = jPPPackage + ".BoxStack";
-
-	Grammar2Ecore g2e = null;
-	private String ecorizeMethodBody = "";
-
-	private String ecorizeArgName = null;
-	private String ecorizeResultName = null;
-	private String unparseBufferName = null;
-	private String ppStackName = null;
-
-	private String ppStackStmts = "";
-	private String jPPCommand = jPPPackage + ".PPCommand";
-
-	public GenUnparseInhaleAndMMForSeqRules(EClass ecorizer2, RootCS c2,
-			Grammar2Ecore g2e) {
-
-		this.ecorizer = ecorizer2;
-		this.c = c2;
-		this.g2e = g2e;
-
-		if (g2e.genEcorizer) {
-			createEcorizersForSeqRulesAndAltWithSeqOnlyRules();
-		}
-
-		for (SeqRuleCS srCS : c.seqRules) {
-
-			assert (srCS.eClass != null);
-
-			/*
-			 * here names can be chosen for (ecorize, unparse) java methods so
-			 * as not to collide with fields
-			 */
-			ecorizeArgName = "astNode";
-			ecorizeResultName = "res";
-			unparseBufferName = "buf";
-			ppStackName = "ppBoxStack";
-
-			/*
-			 * For example, the first executable stmt of an ecorize method can
-			 * be like:
-			 * 
-			 * SubPackageDecl res =
-			 * EmfaticFactory.eINSTANCE.createSubPackageDecl();
-			 * 
-			 * Such instance is going to be given values for its attributes and
-			 * references taking them from the AST node returned by the parser.
-			 */
-			ecorizeMethodBody = srCS.getAsJavaComment();
-			ecorizeMethodBody += newLine + srCS.eClass.getName() + " "
-					+ ecorizeResultName + " = " + c.languageFactoryImpl(srCS)
-					+ ".eINSTANCE.create" + srCS.eClass.getName() + "();";
-
-			unparseMethodBody = srCS.getAsJavaComment();
-			unparseMethodBody += newLine + "StringBuffer " + unparseBufferName
-					+ " = new StringBuffer();";
-
-			ppStackStmts = srCS.getAsJavaComment();
-			ppStackStmts += newLine
-					+ String.format(" %1s %2s = new %3s();", jPPBoxStack,
-							ppStackName, jPPBoxStack);
-
-			List<SeqExprCS> items = srCS.seqexprs;
-			for (SeqExprCS item : items) {
-
-				SeqExprKind k = item.getKind();
-
-				switch (k) {
-				case CONSTANT_CONTENT:
-					// a) isBuiltInToken, isSurroundedByQuotes. May be optional
-					caseConstantContent(item);
-					break;
-
-				case REFERS_TO_RULE_WITH_ECLASS:
-				case REFERS_TO_RULE_WITH_EENUM:
-					/*
-					 * b) the item refers to a rule having an EClassifier as
-					 * counterpart
-					 */
-					caseInvokesRuleWithEClassifier(item);
-					break;
-
-				case KEEP_AS_STR:
-				case KEEP_AS_CHR:
-				case KEEP_AS_INT:
-					// c) can be converted to str or int
-					caseSFStrOrInt(item, k);
-					break;
-
-				case REFERS_TO_LIST_RULE:
-					// d) the item stands for an invocation of a list rule
-					caseConstituentIsListRule(item);
-					break;
-
-				}
-			}
-
-			if (g2e.genUnparser) {
-				if (g2e.genPrettyPrinter) {
-					unparseMethodBody = newLine
-							+ "return prettyPrint().toString();";
-				} else {
-					unparseMethodBody += newLine + "return "
-							+ unparseBufferName + ".toString();";
-				}
-				Grammar2Ecore.newUnparseOperation(srCS.eClass,
-						unparseMethodBody);
-			}
-
-			if (g2e.genEcorizer) {
-				ecorizeMethodBody += newLine + "return " + ecorizeResultName
-						+ ";";
-				Grammar2Ecore.newMethodBodyAnnotation(srCS.ecorizeEOp,
-						ecorizeMethodBody);
-			}
-
-			if (g2e.genPrettyPrinter) {
-				String ppMethodBody = ppStackStmts;
-				ppMethodBody += newLine
-						+ String
-								.format(
-										"return %1s.packHorizUpToWidth(35, 1, %2s.stack.size());",
-										ppStackName, ppStackName);
-				srCS.prettyPrintEOp = Grammar2Ecore.newPrettyPrintOperation(
-						srCS.eClass, ppMethodBody);
-			}
-
-		}
-	}
-
-	private void createEcorizersForSeqRulesAndAltWithSeqOnlyRules() {
-		for (SeqRuleCS srCS : c.seqRules) {
-			/*
-			 * The create of "ecorize" operations (to perform Gymnast AST Node
-			 * -> Ecore-based one) takes place now so as to populate for each
-			 * SeqRuleCS its field ecorizeEOp. The method body itself will be
-			 * computed afterwards.
-			 */
-			srCS.ecorizeEOp = Grammar2Ecore.newEcorizeOperation(ecorizer, srCS,
-					srCS.eClass);
-		}
-
-		/*
-		 * Precondition: createEmptyClassesForAltRulesWithSeqItemsOnly() has
-		 * been called already.
-		 */
-		for (AltRuleCS arCS : c.altRules) {
-			if (arCS.getKindOfAlts() == AltRuleAltsKind.CONTAINSSEQ) {
-				assert arCS.eClass != null;
-				arCS.ecorizeEOp = Grammar2Ecore.newEcorizeOperation(ecorizer,
-						arCS, arCS.eClass);
-				Grammar2Ecore.newGrammarRuleAnnotation(arCS.ecorizeEOp,
-						"AltRule", arCS.toString());
-				/*
-				 * Adding the Java method body to arCS.ecorizeEOp is done as
-				 * part of creating the ecorize "big switch", during the
-				 * execution of the constructor EcorizeOperation(EClass
-				 * ecorizer, RootCS c2)
-				 */
-			}
-		}
-	}
-
-	/**
-	 * c) can be converted to str or int
-	 */
-	private void caseSFStrOrInt(final SeqExprCS item, final SeqExprKind k) {
-
-		assert ((k == SeqExprKind.KEEP_AS_INT)
-				|| (k == SeqExprKind.KEEP_AS_STR) || (k == SeqExprKind.KEEP_AS_CHR));
-
-		// --------- (1) MM -------------------------------------------
-
-		EStructuralFeature val = null;
-		EDataType t = null;
-
-		EClass eC = item.srCS.eClass;
-
-		if (k == SeqExprKind.KEEP_AS_STR) {
-			t = EcorePackage.eINSTANCE.getEString();
-		} else if (k == SeqExprKind.KEEP_AS_CHR) {
-			t = EcorePackage.eINSTANCE.getEChar();
-		} else {
-			t = EcorePackage.eINSTANCE.getELong();
-		}
-		val = MyEcoreUtil.newAttribute(item.suggestedName(), eC, t);
-		val.setUnsettable(item.isOptional);
-		val.setLowerBound(item.isOptional ? 0 : 1);
-		val.setUpperBound(1);
-
-		// --------- (2) stms for inhale (ecorize) ---------------------
-
-		String jOptionalCheck = ecorizeArgName + jDOT
-				+ item.gymnastGeneratedGetter() + " != null";
-
-		String rhs = ecorizeArgName + "." + item.gymnastGeneratedGetter()
-				+ ".getText()";
-		if (k == SeqExprKind.KEEP_AS_CHR) {
-			rhs = rhs + ".charAt(0)";
-		}
-		if (k == SeqExprKind.KEEP_AS_INT) {
-			rhs = "Long.valueOf(" + rhs + ")";
-		}
-
-		String jSetterInvocation = ecorizeResultName + jDOT + jSetter(val)
-				+ "(" + rhs + ") ; ";
-		String jStmtUnset = null;
-		boolean unsetIfNotInInput = item.isOptional;
-		if (item.isOptional) {
-			jStmtUnset = ecorizeResultName + jDOT + jUnsetter(val) + "; ";
-		}
-		ecorizeMethodBody = wrapWithCheckIfOptional(ecorizeMethodBody, item,
-				jOptionalCheck, jSetterInvocation, unsetIfNotInInput,
-				jStmtUnset);
-
-		// --------- (3) stms for unparse ------------------------------
-
-		if (item.isOptional) {
-			jOptionalCheck = jIsSet(val);
-		}
-
-		String jAppendStmt = unparseBufferName + ".append(" + jGetter(val)
-				+ jPLUS + jStrBLANK + jRPAREN + jSEMI;
-		unparseMethodBody = wrapWithCheckIfOptional(unparseMethodBody, item,
-				jOptionalCheck, jAppendStmt, false, null);
-
-		// --------- (4) stms for unparse ------------------------------
-
-		if (item.isOptional) {
-			jOptionalCheck = jIsSet(val);
-		}
-
-		jAppendStmt = ppStackName + ".add(" + jGetter(val) + jRPAREN + jSEMI;
-		unsetIfNotInInput = true;
-		jStmtUnset = ppStackName + ".add( null );";
-		ppStackStmts = wrapWithCheckIfOptional(ppStackStmts, item,
-				jOptionalCheck, jAppendStmt, unsetIfNotInInput, jStmtUnset);
-	}
-
-	private String jIsSet(EStructuralFeature eSF) {
-		String res = "isSet" + RootCS.camelCase(eSF.getName()) + "()";
-		return res;
-	}
-
-	/**
-	 * With trailing "()"
-	 * 
-	 * @param eSFName
-	 * @return
-	 */
-	private String jUnsetter(EStructuralFeature eSF) {
-		String res = "unset" + RootCS.camelCase(eSF.getName()) + "()";
-		return res;
-	}
-
-	/**
-	 * Without trailing "()"
-	 * 
-	 * @param eSFName
-	 * @return
-	 */
-	private String jSetter(EStructuralFeature eSF) {
-		String res = "set" + RootCS.camelCase(eSF.getName());
-		return res;
-	}
-
-	/**
-	 * With trailing "()"
-	 * 
-	 * @param eSFName
-	 * @return
-	 */
-	private String jGetter(EStructuralFeature eSF) {
-		boolean fieldIsBoolean = false;
-		if (eSF.getEType().equals(EcorePackage.eINSTANCE.getEBoolean())) {
-			fieldIsBoolean = true;
-		}
-		if (eSF.getEType().equals(EcorePackage.eINSTANCE.getEBooleanObject())) {
-			fieldIsBoolean = true;
-		}
-		String res = fieldIsBoolean ? "is" : "get";
-		res += RootCS.camelCase(eSF.getName()) + "()";
-		return res;
-	}
-
-	private String wrapWithCheckIfOptional(String methodBody, SeqExprCS item,
-			String jOptionalCheck, String jStmt, boolean unsetIfNotInInput,
-			String jStmtUnset) {
-		assert unsetIfNotInInput ? !jStmtUnset.equals("") : true;
-		if (item.isOptional) {
-			methodBody += newLine + "if (" + jOptionalCheck + ") {";
-		}
-		methodBody += newLine + jStmt;
-		if (item.isOptional) {
-			methodBody += newLine + "}";
-			if (unsetIfNotInInput) {
-				methodBody += " else { " + jStmtUnset + " } ";
-			}
-		}
-		return methodBody;
-	}
-
-	/**
-	 * d) the item stands for an invocation of a list rule
-	 * 
-	 * TODO what if the separator is not a constant value but one among many
-	 * (e.g. qIdSeparator)
-	 * 
-	 * the elements are to be printed using .getLiteral() , .unparse , or as is
-	 * (implicit toString)
-	 * 
-	 */
-	private void caseConstituentIsListRule(SeqExprCS item) {
-
-		// --------- (1) MM -------------------------------------------
-
-		/*
-		 * add always a list for the items, and possibly another for the
-		 * separators if these are not constant.
-		 */
-
-		ListRuleCS lrCS = c.findListRuleCSByName(item.value);
-		String suggestedName = item.optFieldName.equals("") ? lrCS
-				.getPreferredItemName() : item.optFieldName;
-		EClassifier refedEType = c.getETypeForRuleName(lrCS.e1);
-
-		EStructuralFeature val = null;
-
-		SeqExprKind k = lrCS.getKindOfItem();
-		String iteratorItemType = null;
-
-		EClass eC = item.srCS.eClass;
-		if (refedEType != null) {
-			val = addStructuralFeatureForRuleInvocation(suggestedName,
-					lrCS.lowerBound == 0, refedEType, item.srCS.eClass);
-		} else {
-			EDataType t = null;
-			k = lrCS.getKindOfItem();
-			if (k == SeqExprKind.KEEP_AS_STR
-					|| k == SeqExprKind.CONSTANT_CONTENT) {
-				t = EcorePackage.eINSTANCE.getEString();
-				iteratorItemType = "String";
-			} else if (k == SeqExprKind.KEEP_AS_CHR) {
-				t = EcorePackage.eINSTANCE.getEChar();
-				iteratorItemType = "Char";
-			} else {
-				t = EcorePackage.eINSTANCE.getELong();
-				iteratorItemType = "Long";
-			}
-			val = MyEcoreUtil.newAttribute(
-					turnIntoPlural(item.suggestedName()), eC, t);
-			val.setLowerBound(item.isOptional ? 0 : 1);
-		}
-		val.setUpperBound(-1);
-		val.setUnique(false);
-		val.setOrdered(true);
-		item.eSFListForRefedItems = val;
-
-		boolean bSeparatorsHaveNodes = !lrCS.separator.equals("");
-		boolean bRecordSeparators = bSeparatorsHaveNodes
-				&& !lrCS.hasConstantSeparator();
-		if (bRecordSeparators) {
-			EStructuralFeature valSeparators = MyEcoreUtil.newAttribute(item
-					.suggestedName()
-					+ "Separators", eC, EcorePackage.eINSTANCE.getEString());
-			valSeparators.setLowerBound(item.isOptional ? 0 : 1);
-			valSeparators.setUpperBound(-1);
-			valSeparators.setUnique(false);
-			valSeparators.setOrdered(true);
-			item.eSFListForSeparators = valSeparators;
-		} else {
-			item.eSFListForSeparators = null;
-		}
-
-		// --------- (2) stms for inhale (ecorize) ---------------------
-
-		boolean itemCanBeSerialized = item.eSFListForRefedItems.getEType() instanceof EDataType;
-		String gymnastGetter = item.gymnastGeneratedGetter();
-		/*
-		 * This getter returns an instance of the list, whose children are items
-		 * proper and separators.
-		 */
-		String jIsSeparatorLocalVarName = "isSeparator" + val.getName();
-		ecorizeMethodBody += newLine
-				+ String.format("if ( %1s != null) {", ecorizeArgName + "."
-						+ gymnastGetter);
-
-		if (bSeparatorsHaveNodes) {
-			ecorizeMethodBody += newLine
-					+ String.format("boolean %1s = false;",
-							jIsSeparatorLocalVarName);
-		}
-
-		ecorizeMethodBody += newLine
-				+ "for (org.eclipse.gymnast.runtime.core.ast.ASTNode itemOrSeparator : "
-				+ ecorizeArgName + "." + gymnastGetter + ".getChildren() ) {";
-
-		String rhs = null;
-		if (itemCanBeSerialized) {
-			// no need to call ecorize
-			rhs = "itemOrSeparator.getText()";
-			if (k == SeqExprKind.KEEP_AS_INT) {
-				rhs = "Long.valueOf(" + rhs + ")";
-			}
-		} else {
-			// downcasts included
-			String jFQNAST = c.getOption_astPackageName() + "."
-					+ c.getOption_astBaseClassName();
-			rhs = "ecorize( (" + jFQNAST + ") itemOrSeparator)";
-			rhs = "( " + item.eSFListForRefedItems.getEType().getName() + " )"
-					+ rhs;
-		}
-
-		if (bSeparatorsHaveNodes) {
-			ecorizeMethodBody += newLine + "   if (!"
-					+ jIsSeparatorLocalVarName + ") { ";
-		}
-		ecorizeMethodBody += ecorizeResultName + "."
-				+ jGetter(item.eSFListForRefedItems) + ".add(" + rhs + "); ";
-		if (bSeparatorsHaveNodes) {
-			ecorizeMethodBody += newLine + "} /* close if separator */";
-		}
-		if (bRecordSeparators) {
-			ecorizeMethodBody += newLine
-					+ String
-							.format(
-									"else { %1s.%2s.add( itemOrSeparator.getText() ); }",
-									ecorizeResultName,
-									jGetter(item.eSFListForSeparators));
-		}
-		if (bSeparatorsHaveNodes) {
-			ecorizeMethodBody += newLine + jIsSeparatorLocalVarName + " = !"
-					+ jIsSeparatorLocalVarName + ";";
-		}
-		ecorizeMethodBody += newLine + "} /* close for */";
-		ecorizeMethodBody += newLine + "} /* close if */";
-
-		// --------- (3) stmts for unparse ------------------------------
-
-		String iterName = "iter" + item.eSFListForRefedItems.getName();
-		String iterNameSeparators = null;
-		if (bRecordSeparators) {
-			iterNameSeparators = "iter" + item.eSFListForSeparators.getName();
-		}
-		rhs = iterName + ".next()";
-		if (!itemCanBeSerialized) {
-			rhs = rhs + ".unparse()";
-		}
-
-		if (!itemCanBeSerialized) {
-			iteratorItemType = item.eSFListForRefedItems.getEType().getName();
-		}
-		unparseMethodBody += newLine + "java.util.Iterator<" + iteratorItemType
-				+ "> " + iterName + " = " + jGetter(item.eSFListForRefedItems)
-				+ ".iterator();";
-		if (bRecordSeparators) {
-			unparseMethodBody += newLine + "java.util.Iterator<String> "
-					+ iterNameSeparators + " = "
-					+ jGetter(item.eSFListForSeparators) + ".iterator();";
-		}
-
-		unparseMethodBody += newLine + "while (" + iterName + ".hasNext() ) { ";
-		unparseMethodBody += newLine + unparseBufferName + ".append(" + rhs
-				+ ");";
-		String rhsIter = null;
-		if (bRecordSeparators) {
-			rhsIter = String.format(" ( %1s.hasNext() ? %2s.next() : %3s) ",
-					iterNameSeparators, iterNameSeparators, jStrBLANK);
-
-		} else {
-			rhsIter = "\"" + lrCS.unparseConstantSeparator() + "\"" + jPLUS
-					+ jStrBLANK;
-			rhsIter = String.format(" ( %1s.hasNext() ? %2s : %3s) ", iterName,
-					rhsIter, jStrBLANK);
-		}
-		unparseMethodBody += newLine + unparseBufferName + ".append(" + rhsIter
-				+ ");";
-		unparseMethodBody += newLine + "} /* close while */";
-
-		// --------- (4) stms for prettyPrint ------------------------------
-
-		String jGetterItems = jGetter(item.eSFListForRefedItems);
-		String jGetterSeps = null;
-		String jAppendExpr = null;
-		if (bRecordSeparators) {
-			jGetterSeps = jGetter(item.eSFListForSeparators);
-			jAppendExpr = String
-					.format(jPPBoxLanguage + ".interleaveH(%1s, %2s, 0, 0)",
-							jGetterItems, jGetterSeps);
-		} else {
-			if (lrCS.unparseConstantSeparator().trim().equals("")) {
-				jAppendExpr = jGetterItems;
-			} else {
-				jGetterSeps = jStrWithQuoteEscaped
-						+ lrCS.unparseConstantSeparator()
-						+ jStrWithQuoteEscaped;
-				jAppendExpr = String.format(jPPBoxLanguage
-						+ ".interleaveHSepConstant(%1s, %2s, 0, 0)",
-						jGetterSeps, jGetterItems);
-			}
-		}
-
-		ppStackStmts += newLine + ppStackName + ".add(" + jAppendExpr + jRPAREN
-				+ jSEMI;
-
-	}
-
-	private String turnIntoPlural(String suggestedName) {
-		return suggestedName.endsWith("s") ? suggestedName : suggestedName
-				+ "s";
-	}
-
-	/**
-	 * b) the item refers to a rule having an EClassifier as counterpart
-	 * 
-	 * a (possibly optional) eSF is added as counterpart to item
-	 * 
-	 * when inhaling, (detect if present) and set, otherwise set to null (and
-	 * not to the default value of enums)
-	 * 
-	 * when unparsing, invoke with .unparse() for non-enums and with
-	 * .getLiteral() for enums
-	 * 
-	 * @param k
-	 * 
-	 * 
-	 */
-	private void caseInvokesRuleWithEClassifier(SeqExprCS item) {
-
-		// --------- (1) MM -------------------------------------------
-
-		String suggestedName = item.suggestedName();
-		EClassifier refedEType = c.getETypeForRuleName(item.value);
-		assert refedEType != null;
-		item.eSF = addStructuralFeatureForRuleInvocation(suggestedName,
-				item.isOptional, refedEType, item.srCS.eClass);
-
-		/*
-		 * An enum can be assigned null in Java, but EMF intercepts that (in the
-		 * setter for the EStructuralFeature) and assigns the default instead
-		 */
-		boolean optionalForEnumRequired = item.isOptional
-				&& item.eSF.getEType() instanceof EEnum;
-		if (optionalForEnumRequired) {
-			item.eSF.setUnsettable(true);
-		}
-
-		// --------- (2) stms for inhale (ecorize) ---------------------
-
-		String rhs = ecorizeArgName + jDOT + item.gymnastGeneratedGetter();
-		String jOptionalCheck = rhs + " != null";
-
-		RuleCS refed = item.getRefedRuleIfAny();
-		assert refed != null;
-		String quotedFirstAlternative = "";
-		String quotedSecondAlternative = "";
-		if (refed.canBeRegardedAsBoolean()) {
-			if (refed instanceof AltRuleCS) {
-				AltRuleCS arCS = (AltRuleCS) refed;
-				quotedFirstAlternative = arCS.getFirstAlternative();
-				quotedSecondAlternative = arCS.getSecondAlternative();
-			}
-			if (refed instanceof TokenRuleCS) {
-				TokenRuleCS trCS = (TokenRuleCS) refed;
-				quotedFirstAlternative = trCS.alts.get(0);
-				quotedSecondAlternative = trCS.alts.get(1);
-			}
-			String jBooleanExpr = String.format(" %1s.getText().equals(%2s) ",
-					rhs, quotedFirstAlternative );
-			rhs = jLPAREN + jBooleanExpr + jRPAREN;
-		} else {
-			String jEcorizerForRefed = "ecorize" + RootCS.camelCase(refed.name);
-			rhs = jEcorizerForRefed + jLPAREN + rhs + jRPAREN;
-		}
-
-		String jSetterInvocation = ecorizeResultName + jDOT + jSetter(item.eSF)
-				+ "(" + rhs + ") ; ";
-
-		String jSetToNull = null;
-		final boolean addAssignNullStmtIfNotInInput = item.isOptional;
-		if (optionalForEnumRequired) {
-			jSetToNull = " /* The EMF-generated setter intercepts null assignments and sets the enum to its default value. That's why the unsetting below is needed. */ ";
-			jSetToNull += newLine + ecorizeResultName + jDOT
-					+ jUnsetter(item.eSF) + "; ";
-		} else {
-			jSetToNull = ecorizeResultName + jDOT + jSetter(item.eSF)
-					+ "( null ) ; ";
-		}
-
-		ecorizeMethodBody = wrapWithCheckIfOptional(ecorizeMethodBody, item,
-				jOptionalCheck, jSetterInvocation,
-				addAssignNullStmtIfNotInInput, jSetToNull);
-
-		// --------- (3) stms for unparse ------------------------------
-
-		String jGetter = null;
-		if (refedEType instanceof EEnum) {
-			jGetter = jGetter(item.eSF) + ".getLiteral()";
-			if (item.isOptional) {
-				jOptionalCheck = jIsSet(item.eSF);
-			}
-		} else if (refed.canBeRegardedAsBoolean()) {
-			jGetter = String.format("( %1s ? %2s : %3s )", jGetter(item.eSF) , quotedFirstAlternative , quotedSecondAlternative);
-		} else {
-			jGetter = jGetter(item.eSF) + ".unparse()";
-			jOptionalCheck = jGetter(item.eSF) + " != null ";
-		}
-
-		String jAppendStmt = unparseBufferName + ".append(" + jGetter + jPLUS
-				+ jStrBLANK + jRPAREN + jSEMI;
-		unparseMethodBody = wrapWithCheckIfOptional(unparseMethodBody, item,
-				jOptionalCheck, jAppendStmt, false, null);
-
-		// --------- (4) stms for prettyPrint ------------------------------
-
-		jGetter = null;
-		if (refedEType instanceof EEnum) {
-			jGetter = jGetter(item.eSF) + ".getLiteral()";
-			if (item.isOptional) {
-				jOptionalCheck = jIsSet(item.eSF);
-			}
-		} else if (refed.canBeRegardedAsBoolean()) {
-			jGetter = String.format("( %1s ? %2s : %3s )", jGetter(item.eSF) , quotedFirstAlternative , quotedSecondAlternative);
-		} else {
-			jGetter = jGetter(item.eSF) + ".prettyPrint()";
-			jOptionalCheck = jGetter(item.eSF) + " != null ";
-		}
-
-		jAppendStmt = ppStackName + ".add(" + jGetter + jRPAREN + jSEMI;
-		boolean unsetIfNotInInput = true;
-		String jStmtUnset = ppStackName + ".add( null );";
-		ppStackStmts = wrapWithCheckIfOptional(ppStackStmts, item,
-				jOptionalCheck, jAppendStmt, unsetIfNotInInput, jStmtUnset);
-	}
-
-	/**
-	 * a) This case is due to isBuiltInToken or isSurroundedByQuotes. There are
-	 * two subcases:
-	 * 
-	 * a.1) optional -> a boolean eSF. To be set when inhaling, controls whether
-	 * a String literal is written when unparsing.
-	 * 
-	 * a.2) mandatory -> no eSF. Nothing is read when inhaling, a String literal
-	 * is written when unparsing.
-	 * 
-	 * 
-	 */
-	private void caseConstantContent(SeqExprCS item) {
-
-		// --------- (1) MM -------------------------------------------
-
-		String constantContent = item.unparseValue(c);
-
-		EAttribute val = null;
-		if (item.isOptional) {
-			EDataType t = EcorePackage.eINSTANCE.getEBoolean();
-			String suggestedName = item.suggestedName();
-			val = MyEcoreUtil.newAttribute(suggestedName, item.srCS.eClass, t);
-			val.setLowerBound(1);
-			val.setUpperBound(1);
-			val.setUnsettable(true);
-		}
-
-		if (c.getOption_ecorizer()) {
-			assert MyEcoreUtil.isWellFormed(ecorizer.getEPackage());
-		}
-
-		// --------- (2) stms for inhale (ecorize) ---------------------
-
-		if (item.isOptional) {
-			String jOptionalCheck = ecorizeArgName + jDOT
-					+ item.gymnastGeneratedGetter() + " != null ";
-			String jSetterInvocation = ecorizeResultName + jDOT + jSetter(val)
-					+ "( true ) ; ";
-			final boolean addAssignNullStmtIfNotInInput = true;
-			String jSetToNull = ecorizeResultName + jDOT + jSetter(val)
-					+ "( false ) ; ";
-			ecorizeMethodBody = wrapWithCheckIfOptional(ecorizeMethodBody,
-					item, jOptionalCheck, jSetterInvocation,
-					addAssignNullStmtIfNotInInput, jSetToNull);
-		} else {
-			ecorizeMethodBody += newLine
-					+ "/* input contains here a mandatory " + constantContent
-					+ " */";
-		}
-		// --------- (3) stms for unparse ------------------------------
-
-		String jArgToAppend = jStrWithQuoteEscaped + constantContent
-				+ jStrWithQuoteEscaped;
-		String jAppendStmt = unparseBufferName + ".append(" + jArgToAppend
-				+ jPLUS + jStrBLANK + jRPAREN + jSEMI;
-		if (item.isOptional) {
-			String jOptionalCheck = jGetter(val) + " != false ";
-			unparseMethodBody = wrapWithCheckIfOptional(unparseMethodBody,
-					item, jOptionalCheck, jAppendStmt, false, null);
-		} else {
-			unparseMethodBody += jAppendStmt;
-		}
-
-		// --------- (4) stms for prettyPrint ------------------------------
-
-		jAppendStmt = ppStackName + ".add(" + jArgToAppend + jRPAREN + jSEMI;
-		if (item.isOptional) {
-			String jOptionalCheck = jGetter(val) + " != false ";
-			boolean unsetIfNotInInput = true;
-			String jStmtUnset = ppStackName + ".add( null );";
-			ppStackStmts = wrapWithCheckIfOptional(ppStackStmts, item,
-					jOptionalCheck, jAppendStmt, unsetIfNotInInput, jStmtUnset);
-		} else {
-			ppStackStmts += newLine + jAppendStmt;
-		}
-
-	}
-
-	private String jPPStackAdd(String arg) {
-		String jStmt = String.format("prettyPrintStack.add(\" %1s \");", arg);
-		return jStmt;
-	}
-
-	private EStructuralFeature addStructuralFeatureForRuleInvocation(
-			String suggestedName, boolean isOptional, EClassifier refedEType,
-			EClass owningClass) {
-		EStructuralFeature val = null;
-
-		/*
-		 * constituent is seq rule, or token or alt rule with fixed keywords
-		 */
-		if (refedEType instanceof EClass) {
-			EReference valAsRef = MyEcoreUtil.newReference(suggestedName,
-					owningClass, (EClass) refedEType);
-			valAsRef.setContainment(true);
-			val = valAsRef;
-		} else {
-			val = MyEcoreUtil.newAttribute(suggestedName, owningClass,
-					(EDataType) refedEType);
-		}
-		val.setLowerBound(isOptional ? 0 : 1);
-		val.setUpperBound(1);
-
-		return val;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/Grammar2Ecore.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/Grammar2Ecore.java
deleted file mode 100644
index 94ebbb9..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/Grammar2Ecore.java
+++ /dev/null
@@ -1,311 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.convert;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EEnumLiteral;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EParameter;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.gymnast.generators.ecore.cst.AltRuleAltsKind;
-import org.eclipse.gymnast.generators.ecore.cst.AltRuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.RootCS;
-import org.eclipse.gymnast.generators.ecore.cst.RuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.SeqRuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.TokenRuleAltsKind;
-import org.eclipse.gymnast.generators.ecore.cst.TokenRuleCS;
-
-import sun.security.action.GetLongAction;
-
-public class Grammar2Ecore {
-
-	public RootCS c;
-	public final EPackage eP;
-	
-	private static final String newLine = System.getProperty("line.separator");
-
-	private String unparseMethodBody = "";
-	private EClass ecorizer = null;
-	boolean genEcorizer = true;
-	boolean genUnparser = true;
-	boolean genPrettyPrinter = true;
-	private boolean addUmbrellaType;
-	private String umbrellaTypeName;
-
-	public Grammar2Ecore(RootCS c) {
-		assert c.isWellFormed();
-		this.c = c;
-		eP = EcoreFactory.eINSTANCE.createEPackage();
-		eP.setName(c.languageName);
-		eP.setNsPrefix(c.languageName);
-		eP.setNsURI(c.languageName);
-	}
-
-	private void createEnumsForTokenRulesWithFixedKeywords(EClass ecorizer) {
-		for (TokenRuleCS trCS : c.tokenRules) {
-			if (trCS.getKindOfAlts() == TokenRuleAltsKind.FIXED_KEYWORDS && !trCS.canBeRegardedAsBoolean()) {
-				List<String> enumLits = trCS.explodeTerminalAlternatives();
-				enumLits = unquote(enumLits);
-				EEnum enu = MyEcoreUtil.newEnum(eP, trCS.name, enumLits);
-				/* assign built textual representation for tokens */
-				for (EEnumLiteral eL : enu.getELiterals()) {
-					if (c.isBuiltInToken(eL.getName())) {
-						eL.setLiteral(RootCS.getValueOfBuiltInToken(eL.getName()));
-					}
-				}
-				/* notice that enu.name may differ from trCS.name */
-				trCS.enu = enu;
-				if (genEcorizer) {
-					new EcorizeOperation(trCS, enu, ecorizer, c);
-				}
-			}
-		}
-	}
-
-	public List<String> getTokenRulesWithFixedKeywords() {
-		List<String> res = new ArrayList<String>();
-		for (TokenRuleCS trCS : c.tokenRules) {
-			if (trCS.getKindOfAlts() == TokenRuleAltsKind.FIXED_KEYWORDS) {
-				res.add(trCS.name);
-			}
-		}
-		return res;
-	}
-
-	private void createEnumsForAltRulesWithFixedKeywords(EClass ecorizer) {
-		for (AltRuleCS arCS : c.altRules) {
-			if (arCS.getKindOfAlts() == AltRuleAltsKind.FIXED_KEYWORDS && !arCS.canBeRegardedAsBoolean()) {
-				List<String> enumLits = arCS.explodeTerminalAlternatives();
-				enumLits = unquote(enumLits);
-				EEnum enu = MyEcoreUtil.newEnum(eP, arCS.name, enumLits);
-				/* notice that enu.name may differ from arCS.name */
-				arCS.enu = enu;
-				if (genEcorizer) {
-					new EcorizeOperation(arCS, enu, ecorizer, c);
-				}
-			}
-		}
-	}
-
-	public List<String> getAltRulesWithFixedKeywords() {
-		List<String> res = new ArrayList<String>();
-		for (AltRuleCS arCS : c.altRules) {
-			if (arCS.getKindOfAlts() == AltRuleAltsKind.FIXED_KEYWORDS) {
-				res.add(arCS.name);
-			}
-		}
-		return res;
-	}
-
-	private List<String> unquote(List<String> enumLits) {
-		List<String> res = new ArrayList<String>();
-		for (String s : enumLits) {
-			if (s.startsWith("\"") && s.endsWith("\"")) {
-				s = s.substring(1, s.length() - 1);
-			}
-			res.add(s);
-		}
-		return res;
-	}
-
-	private String unquote(String s) {
-		String res = s.substring(1, s.length() - 1);
-		return res;
-	}
-
-	public void convert() {
-		convert(c.getOption_ecorizer(), c.getOption_unparser(), c.getOption_prettyPrinter(), c
-				.getOption_addUmbrellaType(), c.getOption_umbrellaTypeName());
-	}
-
-	public void convert(boolean genEcorizer, boolean genUnparser, boolean genPrettyPrinter, boolean addUmbrellaType,
-			String umbrellaTypeName) {
-
-		this.genEcorizer = genEcorizer;
-		this.genUnparser = genUnparser;
-		this.genPrettyPrinter = genPrettyPrinter;
-		this.addUmbrellaType = addUmbrellaType;
-		this.umbrellaTypeName = umbrellaTypeName;
-		
-		/*
-		 * Before code generation proper, some in-memory maps are filled. As an
-		 * exception to the above, a few Java methods (ecorizers returning
-		 * enums) are generated while populating those maps.
-		 */
-		if (genEcorizer) {
-			ecorizer = MyEcoreUtil.newClass(eP, "Ecorizer", false, null);
-		}
-
-		createEnumsForTokenRulesWithFixedKeywords(ecorizer);
-		createEnumsForAltRulesWithFixedKeywords(ecorizer);
-
-		createEmptyClassesForSeqRules();
-		createEmptyClassesForAltRulesWithSeqItemsOnly();
-
-		/*
-		 * Most of the Java code generation is done from now on.
-		 * 
-		 * For each SeqRule, an unparse() method (returning String) is added to
-		 * its Ecore-based counterpart.
-		 * 
-		 * Along the way, the method body for an ecorizer method is also
-		 * generated (such method takes a Gymnast AST node as input, and
-		 * instantiates, populates and returns its Ecore-based counterpart).
-		 * 
-		 */
-		new GenUnparseInhaleAndMMForSeqRules(ecorizer, c, this);
-
-		/*
-		 * The "big switch" is generated: a method that returns an instantiated
-		 * Ecore-based class given an AST node (i.e. given an instance of the
-		 * Gymnast-generated <languageName>ASTNode). This big switch invokes the
-		 * type-specific ecorizers generated before.
-		 * 
-		 */
-		if (this.genEcorizer) {
-			new EcorizeOperation(ecorizer, c);
-		}
-
-		if (this.addUmbrellaType) {
-			String typeName = "umbrella" + c.languageName;
-			if (!c.getOption_umbrellaTypeName().equals("")) {
-				typeName = c.getOption_umbrellaTypeName();
-			}
-			addUmbrellaType(typeName);
-		}
-
-	}
-
-	/**
-	 * 
-	 * add umbrella type over all productions (well, except enums). That
-	 * simplifies later writing an instanceof or adding a single method that all
-	 * AST nodes should support (e.g., prettyPrint() ).
-	 * 
-	 */
-	private void addUmbrellaType(String typeName) {
-
-		EClassifier superType = null;
-		if (c.getOption_prettyPrinter()) {
-			/*
-			 * FIXME should make the umbrella type implement the interface
-			 * below. But en Ecore class (the created umbrella type) cannot have
-			 * an EDataType amongs its supertypes ...
-			 */
-			superType = EcorizeOperation.getEDataTypeForJavaClass(eP,
-					GenUnparseInhaleAndMMForSeqRules.jPPPrettyPrintable);
-		}
-
-		EClass umbrellaType = MyEcoreUtil.newClass(eP, typeName, true, null);
-		EList<EClassifier> cs = eP.getEClassifiers();
-		for (EClassifier classifier : cs) {
-			if (classifier instanceof EClass && classifier != ecorizer && classifier != umbrellaType) {
-				EClass clz = (EClass) classifier;
-				if (clz.getESuperTypes().isEmpty()) {
-					clz.getESuperTypes().add(umbrellaType);
-					assert MyEcoreUtil.isWellFormed(eP);
-				}
-			}
-		}
-	}
-
-	public static void newUnparseOperation(EClass eC, String unparseMethodBody) {
-		EOperation uOp = MyEcoreUtil.newOperation("unparse", eC, EcorePackage.eINSTANCE.getEString());
-		if (unparseMethodBody != null) {
-			/*
-			 * No method body is needed when adding just the signature of
-			 * unparse() to an abstract EClass (for example, those resulting
-			 * from AltRuleCS with kind CONTAINSSEQONLY
-			 */
-			MyEcoreUtil.newAnnotation(uOp, "http://www.eclipse.org/emf/2002/GenModel", "body", unparseMethodBody);
-		}
-	}
-
-	/**
-	 * Precondition: createEmptyClassesForSeqRules() has been called already.
-	 */
-	private void createEmptyClassesForAltRulesWithSeqItemsOnly() {
-		for (AltRuleCS arCS : c.altRules) {
-			if (arCS.getKindOfAlts() == AltRuleAltsKind.CONTAINSSEQ) {
-				EClass ecForAltRule = MyEcoreUtil.newClass(eP, arCS.name, true, null);
-				arCS.eClass = ecForAltRule;
-				// comment: the AltRule production
-				newGrammarRuleAnnotation(ecForAltRule, "AltRule", arCS.toString());
-				// unparse method signature
-				if (genUnparser) {
-					newUnparseOperation(ecForAltRule, null);
-				}
-				// classes for all SeqRule are available
-				List<String> constituentSeqs = arCS.alts;
-				for (String srName : constituentSeqs) {
-					EClass ecOfRefedSeqRule = c.getETypeForSeqRuleName(srName);
-					EList<EClass> ecRefedSupertypes = ecOfRefedSeqRule.getESuperTypes();
-					if (!ecRefedSupertypes.contains(ecForAltRule)) {
-						ecRefedSupertypes.add(ecForAltRule);
-					}
-				}
-			}
-		}
-	}
-
-	/**
-	 * Adds an annotation with source "gymnast" as a comment to ease tracing the
-	 * correspondence between grammar productions and the EClassifiers generated
-	 * for them.
-	 * 
-	 * @param eAnnotated
-	 * @param ruleKind
-	 * @param ruleDefinition
-	 */
-	public static void newGrammarRuleAnnotation(EModelElement eAnnotated, String ruleKind, String ruleDefinition) {
-		MyEcoreUtil.newAnnotation(eAnnotated, "gymnast", ruleKind, ruleDefinition);
-	}
-
-	private void createEmptyClassesForSeqRules() {
-		for (SeqRuleCS srCS : c.seqRules) {
-			EClass ec = MyEcoreUtil.newClass(eP, srCS.name, false, null);
-			srCS.eClass = ec;
-			newGrammarRuleAnnotation(ec, "SeqRule", srCS.toString());
-		}
-	}
-
-	public static EOperation newEcorizeOperation(EClass ecorizer, RuleCS seqOrAltRule, EClass seqOrAltRuleEClass) {
-
-		// ------ operation ----------------------------------------------
-		EOperation eOp = MyEcoreUtil.newOperation("ecorize" + RootCS.camelCase(seqOrAltRule.name), ecorizer,
-				seqOrAltRuleEClass);
-
-		String inputArgJavaType = seqOrAltRule.getJavaFQNInGymnast();
-
-		// ------ parameter ----------------------------------------------
-		EParameter param = EcoreFactory.eINSTANCE.createEParameter();
-		param.setName("astNode");
-		EClassifier gymGenClass = EcorizeOperation.getEDataTypeForJavaClass(ecorizer.getEPackage(), inputArgJavaType);
-		param.setEType(gymGenClass);
-		eOp.getEParameters().add(param);
-
-		return eOp;
-	}
-
-	public static EAnnotation newMethodBodyAnnotation(EOperation eOp, String methodBody) {
-		EAnnotation res = MyEcoreUtil
-				.newAnnotation(eOp, "http://www.eclipse.org/emf/2002/GenModel", "body", methodBody);
-		return res;
-	}
-
-	public static EOperation newPrettyPrintOperation(EClass eC, String ppMethodBody) {
-		EClassifier gymPPBoxClass = EcorizeOperation.getEDataTypeForJavaClass(eC.getEPackage(), GenUnparseInhaleAndMMForSeqRules.jPPBox);
-		EOperation ppEOp = MyEcoreUtil.newOperation("prettyPrint", eC, gymPPBoxClass);
-		MyEcoreUtil.newAnnotation(ppEOp, "http://www.eclipse.org/emf/2002/GenModel", "body", ppMethodBody);
-		return ppEOp;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/MyEcoreUtil.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/MyEcoreUtil.java
deleted file mode 100644
index 83b7c9e..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/MyEcoreUtil.java
+++ /dev/null
@@ -1,338 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.convert;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.codegen.ecore.generator.Generator;
-import org.eclipse.emf.codegen.ecore.genmodel.GenJDKLevel;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModelFactory;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModelPackage;
-import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
-import org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter;
-import org.eclipse.emf.common.util.BasicMonitor;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EEnumLiteral;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.util.Diagnostician;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
-import org.eclipse.gymnast.generator.core.generator.Util;
-
-public class MyEcoreUtil {
-
-	public static boolean isWellFormed(EObject root) {
-		Diagnostician diagnostician = new Diagnostician();
-		final Diagnostic diagnostic = diagnostician.validate(root);
-		boolean res = diagnostic.getSeverity() == Diagnostic.OK;
-		return res;
-	}
-
-	public static <T extends EObject> T clone(T input) {
-		EcoreUtil.Copier copier = new EcoreUtil.Copier();
-		T cloned = (T) (copier.copy(input));
-		copier.copyReferences();
-		return cloned;
-	}
-
-	public static GenModel generateGenModel(IPath genModelPath,
-			EPackage ePackage, String basePackage, String prefix, IProject proj)
-			throws IOException {
-		ResourceSet resourceSet = new ResourceSetImpl();
-		URI genModelURI = URI.createFileURI(genModelPath.toString());
-		Resource genModelResource = Resource.Factory.Registry.INSTANCE
-				.getFactory(genModelURI).createResource(genModelURI);
-		GenModel genModel = GenModelFactory.eINSTANCE.createGenModel();
-		genModelResource.getContents().add(genModel);
-		resourceSet.getResources().add(genModelResource);
-		genModel.setModelDirectory("/" + proj.getName() + "/src");
-		genModel.getForeignModel().add(ePackage.getName());
-		genModel.initialize(Collections.singleton(ePackage));
-		genModel.setComplianceLevel(GenJDKLevel.JDK50_LITERAL);
-		GenPackage genPackage = (GenPackage) genModel.getGenPackages().get(0);
-		genModel.setModelName(genModelURI.trimFileExtension().lastSegment()
-				+ "GenModel");
-		genPackage.setPrefix(prefix);
-		genPackage.setBasePackage(basePackage);
-		genModelResource.save(Collections.EMPTY_MAP);
-		return genModel;
-	}
-
-	public static EClass newClass(EPackage ownerPackage, String name,
-			boolean isAbstract, EClass eSuper) {
-		EClass c = EcoreFactory.eINSTANCE.createEClass();
-		c.setName(capitalized(name));
-		c.setAbstract(isAbstract);
-		c.setInterface(isAbstract);
-		if (eSuper != null) {
-			c.getESuperTypes().add(eSuper);
-		}
-		if (ownerPackage != null) {
-			ownerPackage.getEClassifiers().add(c);
-		}
-		return c;
-	}
-
-	private static String capitalized(String str) {
-		String res = str.substring(0, 1).toUpperCase() + str.substring(1);
-		return res;
-	}
-
-	public static EPackage newPackage(EList<? super EPackage> contents,
-			String name, String ns) {
-		EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage();
-		ePackage.setName(name);
-		ePackage.setNsPrefix(ns);
-		ePackage.setNsURI(ns);
-		contents.add(ePackage);
-		return ePackage;
-	}
-
-	public static String nonCollidingName(String suggestedName, EPackage eP) {
-		String newName = suggestedName;
-		int counter = 2;
-		while (eP.getEClassifier(newName) != null) {
-			newName = suggestedName + counter;
-			counter++;
-		}
-		return newName;
-	}
-
-	public static String nonCollidingName(String suggestedName, EClass eC) {
-		String newName = suggestedName;
-		int counter = 2;
-		while (eC.getEStructuralFeature(newName) != null) {
-			newName = suggestedName + counter;
-			counter++;
-		}
-		return newName;
-	}
-
-	public static EClass newContainerOf(EPackage ownerPackage, String name,
-			EClass itemType, int lowerBound, int upperBound) {
-		EClass res = newClass(ownerPackage, name, false, null);
-		EReference eR = EcoreFactory.eINSTANCE.createEReference();
-		eR.setLowerBound(lowerBound);
-		eR.setUpperBound(upperBound);
-		eR.setContainment(true);
-		eR.setEType(itemType);
-		String itemsName = Util.toLowercaseName(itemType.getName()) + "s";
-		eR.setName(itemsName);
-		res.getEStructuralFeatures().add(eR);
-		return res;
-	}
-
-	/*
-	 * private static String firstLowercase(String name) { String res =
-	 * name.substring(0, 1).toLowerCase(); if (name.length() > 1) { res +=
-	 * name.substring(1); } return res; }
-	 */
-	public static EAttribute newAttribute(String name, EClass ownerClass,
-			EClassifier type) {
-		name = Util.toLowercaseName(name);
-		name = nonCollidingName(name, ownerClass);
-		EAttribute eA = EcoreFactory.eINSTANCE.createEAttribute();
-		eA.setName(name);
-		ownerClass.getEStructuralFeatures().add(eA);
-		eA.setEType(type);
-		return eA;
-	}
-
-	public static EReference newReference(String name, EClass ownerClass,
-			EClass type) {
-		name = Util.toLowercaseName(name);
-		name = nonCollidingName(name, ownerClass);
-		EReference eR = EcoreFactory.eINSTANCE.createEReference();
-		eR.setName(name);
-		ownerClass.getEStructuralFeatures().add(eR);
-		eR.setEType(type);
-		return eR;
-	}
-
-	public static void genJavaFromGenModel(GenModel genModel) {
-		genModel.setCanGenerate(true);
-
-		// Create the generator and set the model-level input object.
-		Generator generator = new Generator();
-		generator.setInput(genModel);
-
-		// Generator model code.
-		generator.generate(genModel,
-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE,
-				new BasicMonitor.Printing(System.out));
-	}
-
-	public static EEnum newEnum(EPackage ownerPackage, String suggestedName,
-			List<String> values) {
-		String newName = nonCollidingName(capitalized(suggestedName),
-				ownerPackage);
-		EEnum e = EcoreFactory.eINSTANCE.createEEnum();
-		e.setName(newName);
-		ownerPackage.getEClassifiers().add(e);
-		int incr = 0;
-		for (String s : values) {
-			EEnumLiteral eL = EcoreFactory.eINSTANCE.createEEnumLiteral();
-			eL.setName(s);
-			eL.setValue(incr++);
-			e.getELiterals().add(eL);
-		}
-		return e;
-	}
-
-	public static List<EClass> getSubTypesOfInPackage(EClass eC, EPackage eP) {
-		List<EClass> res = new ArrayList<EClass>();
-		for (EClassifier cand : eP.getEClassifiers()) {
-			if (cand instanceof EClass) {
-				if (!(eC.equals(cand)) && eC.isSuperTypeOf((EClass) cand)) {
-					res.add((EClass) cand);
-				}
-			}
-		}
-		return res;
-	}
-
-	public static List<EClass> getSubTypesOf(EClass eC) {
-		EPackage rootP = eC.getEPackage();
-		while (rootP.getESuperPackage() != null) {
-			rootP = rootP.getESuperPackage();
-		}
-		List<EClass> res = new ArrayList<EClass>();
-		getSubTypesOfInner(eC, rootP, res);
-		return res;
-	}
-
-	private static void getSubTypesOfInner(EClass eC, EPackage eP,
-			List<EClass> subTypesSoFar) {
-		subTypesSoFar.addAll(getSubTypesOfInPackage(eC, eP));
-		for (EPackage subP : eP.getESubpackages()) {
-			getSubTypesOfInner(eC, subP, subTypesSoFar);
-		}
-	}
-
-	/*
-	 * derived from GenModelPackage source annotation, which results in one
-	 * operation has at most one annotation body
-	 */
-	public static final String BODY_ANNOTATION_SOURCE = GenModelPackage.eNS_URI;
-
-	public static EAnnotation newAnnotation(EModelElement object,
-			String source, String key, String value) {
-
-		EAnnotation eAnnotation = object.getEAnnotation(source);
-		if (eAnnotation != null && !eAnnotation.getDetails().isEmpty()) {
-			String prevValue = eAnnotation.getDetails().get(0).getValue();
-			String currValue = prevValue + "\n" + value;
-			eAnnotation.getDetails().get(0).setValue(currValue);
-		} else {
-			eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
-			eAnnotation.setSource(source);
-			eAnnotation.getDetails().put(key, value);
-		}
-		object.getEAnnotations().add(eAnnotation);
-		return eAnnotation;
-	}
-
-	public static String getEcoreFQN(EClassifier eC) {
-		String res = eC.getName();
-		EPackage eP = eC.getEPackage();
-		while (eP != null) {
-			res = eP.getName() + "." + res;
-			eP = eP.getESuperPackage();
-		}
-		return res;
-	}
-
-	public static String getEcoreFQN(EStructuralFeature eSF) {
-		String res = getEcoreFQN(eSF.getEContainingClass());
-		res += "." + eSF.getName();
-		return res;
-	}
-
-	/**
-	 * Cut&pasted from the online article Discover the Eclipse Modeling
-	 * Framework (EMF) and Its Dynamic Capabilities
-	 * http://www.devx.com/Java/Article/29093/1763/page/2
-	 * 
-	 * @param fileLocation
-	 * @param rootPackage
-	 * @return
-	 * @throws IOException
-	 */
-	public static Resource serializeEcoreToFile(String fileLocation,
-			EPackage rootPackage) throws IOException {
-
-		// create resource set and resource
-		ResourceSet resourceSet = new ResourceSetImpl();
-
-		// Register Ecore resource factory
-		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
-				.put("ecore", new EcoreResourceFactoryImpl());
-
-		Resource resource = resourceSet.createResource(URI
-				.createFileURI(fileLocation));
-		// add the root object to the resource
-		resource.getContents().add(rootPackage);
-		// serialize resource – you can specify also serialization
-		// options
-		resource.save(null);
-
-		return resource;
-
-	}
-
-	public static EOperation newOperation(String suggestedName,
-			EClass ownerClass, EClassifier returnType) {
-		String newName = nonCollidingName(suggestedName, ownerClass);
-		EOperation op = EcoreFactory.eINSTANCE.createEOperation();
-		op.setName(Util.toLowercaseName(newName));
-		ownerClass.getEOperations().add(op);
-		if (returnType != null) {
-			op.setEType(returnType);
-		}
-		return op;
-	}
-
-	public static EPackage loadEcoreFile(IFile ecoreFile) {
-		ResourceSetImpl resourceSet = new ResourceSetImpl();
-		String ecoreFilePath = ecoreFile.getFullPath().toString();
-		URI uri = URI.createPlatformResourceURI(ecoreFilePath);
-		Resource ecoreResource = resourceSet.getResource(uri, true);
-		if (ecoreResource.getContents().size() > 1) {
-			final EPackage top = EcoreFactory.eINSTANCE.createEPackage();
-			top.setName("top");
-			top.setNsPrefix("top");
-			top.setNsURI("top");
-			for (EObject oldTop : ecoreResource.getContents()) {
-				if (oldTop instanceof EPackage) {
-					top.getESubpackages().add((EPackage) oldTop);
-				}
-			}
-			ecoreResource.getContents().clear();
-			ecoreResource.getContents().add(top);
-		}
-		EPackage mainPackage = (EPackage) ecoreResource.getContents().get(0);
-		return mainPackage;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/ShorthandJava.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/ShorthandJava.java
deleted file mode 100644
index d814ba6..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/convert/ShorthandJava.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.convert;
-
-public class ShorthandJava {
-	
-	public static final String jPLUS = "+"; 
-	public static final String jStrBLANK = "\" \"";
-	public static final String jLPAREN = "(";
-	public static final String jRPAREN = ")"; 
-	public static final String jSEMI = ";";
-	public static final String jDOT = ".";
-	public static final String jStrWithQuoteEscaped = "\"";
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/AltRuleAltsKind.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/AltRuleAltsKind.java
deleted file mode 100644
index b6a4e28..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/AltRuleAltsKind.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.cst;
-
-public enum AltRuleAltsKind {
-	FIXED_KEYWORDS, INTS, ID_OR_MIXEDSTRINT, CONTAINSSEQ, MALFORMED
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/AltRuleCS.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/AltRuleCS.java
deleted file mode 100644
index 2984f7e..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/AltRuleCS.java
+++ /dev/null
@@ -1,379 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.cst;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.gymnast.generator.core.ast.AltRule;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.GeneralMessage;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.MalformedAltRule;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-
-public class AltRuleCS extends RuleCS {
-
-	public List<String> alts;
-
-	public List<SeqExprCS> preSeq = new ArrayList<SeqExprCS>();
-	public List<SeqExprCS> postSeq = new ArrayList<SeqExprCS>();
-
-	public AltRule ar;
-
-	/**
-	 * Invariant:
-	 * 
-	 * (this.enu != null) iff (Grammar2Ecore.convert() has initialized it and
-	 * this.getKindOfAlts() == FIXED_KEYWORDS)
-	 * 
-	 * @see TokenRuleCS.enu
-	 * 
-	 */
-	public EEnum enu = null;
-
-	/**
-	 * Invariant:
-	 * 
-	 * (this.eClass != null) iff (Grammar2Ecore.convert() has initialized it and
-	 * this.getKindOfAlts() == CONTAINSSEQ)
-	 * 
-	 * @see TokenRuleCS.enu
-	 * 
-	 */
-	public EClass eClass = null;
-
-	public EOperation ecorizeEOp = null;
-
-	public AltRuleCS(String name, List<String> alts, List<String> attrs,
-			RootCS c, AltRule ar) {
-		super(c);
-		this.name = name;
-		this.alts = alts;
-		this.attrs = attrs;
-		this.ar = ar;
-	}
-
-	/**
-	 * Reject alt rules having: <br>
-	 * (a) an alternative whose name can't be resolved (if resolved, its
-	 * well-formedness is checked together with all rules of its kind, so that's
-	 * not checked again in this method), <br>
-	 * (b) one or more constituent alternative of list kind <br>
-	 * (c) an alt rule, when its constituents are recursively exploded, should
-	 * contain two or more alternatives.<br>
-	 * (d) mixed tokens and rules (seq, alt) among the alternatives.<br>
-	 * (e) whose name shadows that of a built-in token <br>
-	 * (f) quoted keywords are allowed in token rules but not in alt rules <br>
-	 * 
-	 */
-	public boolean isMalformed() {
-
-		if (c.isBuiltInToken(name)) {
-			return true;
-		}
-
-		if (getKindOfAlts() == AltRuleAltsKind.MALFORMED) {
-			return true;
-		}
-
-		/*
-		 * in case preSeq and postSeq have not yet been distributed to the
-		 * constituent SeqRule's, check that they can be distributed
-		 */
-		Set<SeqRuleCS> seqRulesOnWhichAnAltRuleDistributesPreOrPostSeq = new HashSet<SeqRuleCS>();
-		for (AltRuleCS arCS : c.altRules) {
-			if (!arCS.preSeq.isEmpty() || !arCS.preSeq.isEmpty()) {
-				if (!arCS.preAndPostSeqInAltRulesCanBeDistributed()) {
-					return true;
-				}
-				for (String alt : arCS.alts) {
-					SeqRuleCS srCS = c.findSeqRuleCSByName(alt);
-					if (srCS == null
-							|| seqRulesOnWhichAnAltRuleDistributesPreOrPostSeq
-									.contains(srCS)) {
-						return true;
-					}
-					seqRulesOnWhichAnAltRuleDistributesPreOrPostSeq.add(srCS);
-				}
-			}
-		}
-
-		return false;
-	}
-
-	public List<String> explodeTerminalAlternatives() {
-		Set<String> alreadyExploded = new HashSet<String>();
-		return explTermAlts(this, alreadyExploded);
-	}
-
-	/**
-	 * Explodes a (well-formed) AltRule into its leaves: seq rules,
-	 * "canBeConsideredToken".
-	 * 
-	 * @param innerAltCS
-	 * @return
-	 */
-	private List<String> explTermAlts(AltRuleCS aCS, Set<String> alreadyExploded) {
-		List<String> res = new ArrayList<String>();
-		for (String name : aCS.alts) {
-			if (c.canBeConsideredToken(name)) {
-				if (!res.contains(name)) {
-					res.add(name);
-				}
-			} else if (!alreadyExploded.contains(name)) {
-				alreadyExploded.add(name);
-				AltRuleCS innerAltRuleCS = c.findAltRuleCSByName(name);
-				if (innerAltRuleCS != null) {
-					List<String> toAdd = explTermAlts(innerAltRuleCS,
-							alreadyExploded);
-					for (String s : toAdd) {
-						if (!res.contains(s)) {
-							res.add(s);
-						}
-					}
-				} else if (c.findSeqRuleCSByName(name) != null) {
-					if (!res.contains(name)) {
-						res.add(name);
-					}
-				}
-				TokenRuleCS innerTokenRuleCS = c.findTokenRuleCSByName(name);
-				if (innerTokenRuleCS != null) {
-					List<String> toAdd = innerTokenRuleCS
-							.explodeTerminalAlternatives();
-					for (String s : toAdd) {
-						if (!res.contains(s)) {
-							res.add(s);
-						}
-					}
-				}
-			}
-		}
-		return res;
-	}
-
-	public AltRuleAltsKind getKindOfAlts() {
-		List<String> recursiveAlts = explodeTerminalAlternatives();
-		if (recursiveAlts.size() < 2) {
-			return AltRuleAltsKind.MALFORMED;
-		}
-		// duplicate alts should be rejected
-		Set<String> recursiveAltsAsSet = new HashSet<String>(recursiveAlts);
-		if (recursiveAlts.size() != recursiveAltsAsSet.size()) {
-			return AltRuleAltsKind.MALFORMED;
-		}
-		/*
-		 * a TokenRule that is to become an EBoolean should have just two
-		 * alternatives
-		 */
-		if (attrs.contains(RootCS.ATTRIBUTE_REGARD_AS_BOOLEAN)
-				&& !canBeRegardedAsBoolean()) {
-			return AltRuleAltsKind.MALFORMED;
-		}
-
-		boolean areThereInts = false;
-		boolean areThereArbitraryIDs = false;
-		boolean areThereFixedKeywords = false;
-		boolean areThereSeqRules = false;
-		for (String alt : recursiveAlts) {
-
-			if (RootCS.isSurroundedByQuotes(alt)) {
-				return AltRuleAltsKind.MALFORMED;
-			}
-
-			if (alt.equals("ID") || alt.equals("CHAR_LITERAL")
-					|| alt.equals("STRING_LITERAL")) {
-				areThereArbitraryIDs = true;
-			} else if (c.isIntegerLiteral(alt) || alt.equals("INT_LITERAL")) {
-				areThereInts = true;
-			} else if ((RootCS.isSurroundedByQuotes(alt) && !c
-					.isIntegerLiteral(alt))
-					|| c.isBuiltInToken(alt)) {
-				areThereFixedKeywords = true;
-			} else {
-				TokenRuleCS refedTR = c.findTokenRuleCSByName(alt);
-				if (refedTR != null) {
-					switch (refedTR.getKindOfAlts()) {
-					case MALFORMED:
-						return AltRuleAltsKind.MALFORMED;
-					case FIXED_KEYWORDS:
-						areThereFixedKeywords = true;
-						break;
-					case INTS:
-						areThereInts = true;
-						break;
-					case ID_OR_MIXEDSTRINT:
-						areThereArbitraryIDs = true;
-						break;
-					default:
-						assert false;
-						break;
-					}
-				} else {
-					SeqRuleCS srCS = c.findSeqRuleCSByName(alt);
-					if (srCS == null) {
-						return AltRuleAltsKind.MALFORMED;
-					}
-					areThereSeqRules = true;
-				}
-			}
-
-		}
-		boolean someNonSeqRule = areThereArbitraryIDs || areThereFixedKeywords
-				|| areThereInts;
-		if (someNonSeqRule && areThereSeqRules) {
-			return AltRuleAltsKind.MALFORMED;
-		}
-		if (areThereSeqRules) {
-			return AltRuleAltsKind.CONTAINSSEQ;
-		}
-		// the remaining cases are the same as for TokenRuleAltsKind
-		if (areThereArbitraryIDs || (areThereFixedKeywords && areThereInts)) {
-			return AltRuleAltsKind.ID_OR_MIXEDSTRINT;
-		} else {
-			if (!areThereFixedKeywords && areThereInts) {
-				return AltRuleAltsKind.INTS;
-			}
-			return AltRuleAltsKind.FIXED_KEYWORDS;
-		}
-	}
-
-	@Override
-	public String toString() {
-		String res = "abstract " + name + " " + attrsToString() + " : ";
-		res += "(";
-		for (SeqExprCS ps : preSeq) {
-			res += ps.toString() + " ";
-		}
-		res += ")";
-		for (Iterator<String> ai = alts.iterator(); ai.hasNext();) {
-			res += ai.next();
-			res += ai.hasNext() ? "| " : "";
-		}
-		res += "(";
-		for (SeqExprCS ps : postSeq) {
-			res += ps.toString() + " ";
-		}
-		res += ")";
-		return res;
-	}
-
-	/**
-	 * Emfatic.ast contains an example occurrence of an optional leading (or
-	 * traling) list of SeqExpr in an AltRule:
-	 * 
-	 * abstract topLevelDecl : (annotations) subPackageDecl | classDecl |
-	 * dataTypeDecl | enumDecl | mapEntryDecl ;
-	 * 
-	 * In this case, only one SeqExpr appears (annotations) but in general can
-	 * be one or more.
-	 * 
-	 * In terms of the generated AST classes, such SeqExpr's are added to each
-	 * alternative SeqRule (thus this well-formedness check, if this AltRule
-	 * contains a preSeq or a postSeq, then all alternatives must be SeqRules
-	 * (and not AltRule).
-	 * 
-	 * The same SeqRule may not appear in different AltRule's being given in
-	 * each different preSeq and postSeq (because that could lead to confusion
-	 * if no unique names but just values are used).
-	 * 
-	 * @return
-	 */
-	public boolean preAndPostSeqInAltRulesCanBeDistributed() {
-		if (!preSeq.isEmpty() || !postSeq.isEmpty()) {
-			/* do not iterate over explodeTerminalAlternatives() */
-			for (String alt : alts) {
-				SeqRuleCS srCS = c.findSeqRuleCSByName(alt);
-				if (srCS == null) {
-					return false;
-				}
-			}
-		}
-		return true;
-	}
-
-	public void distributePreAndPostSeqToConstituentSeqRules() {
-		assert preAndPostSeqInAltRulesCanBeDistributed();
-		if (preSeq.isEmpty() && postSeq.isEmpty()) {
-			return;
-		}
-		for (String alt : alts) {
-			SeqRuleCS srCS = c.findSeqRuleCSByName(alt);
-			int position = 0;
-			List<SeqExprCS> newseqexprs = new ArrayList<SeqExprCS>();
-			for (SeqExprCS ps : preSeq) {
-				SeqExprCS clone = new SeqExprCS(ps.isOptional, ps.optFieldName,
-						ps.value, position, c);
-				clone.srCS = srCS;
-				newseqexprs.add(clone);
-				position++;
-			}
-			for (SeqExprCS existing : srCS.seqexprs) {
-				existing.position += preSeq.size();
-				newseqexprs.add(existing);
-			}
-			position = srCS.seqexprs.size();
-			for (SeqExprCS ps : postSeq) {
-				SeqExprCS clone = new SeqExprCS(ps.isOptional, ps.optFieldName,
-						ps.value, position, c);
-				clone.srCS = srCS;
-				newseqexprs.add(clone);
-				position++;
-			}
-			srCS.seqexprs = newseqexprs;
-		}
-		preSeq = new ArrayList<SeqExprCS>();
-		postSeq = new ArrayList<SeqExprCS>();
-	}
-
-	@Override
-	public Rule getRule() {
-		return ar;
-	}
-
-	public void addParseMessages(ParseContext parseContext) {
-		// duplicate alts
-		List<String> recursiveAlts = explodeTerminalAlternatives();
-		Set<String> recursiveAltsAsSet = new HashSet<String>(recursiveAlts);
-		if (recursiveAlts.size() != recursiveAltsAsSet.size()) {
-			GeneralMessage parseMessage = new GeneralMessage(
-					"Duplicate alternatives", name, ar);
-			parseContext.addParseMessage(parseMessage);
-		}
-		/*
-		 * a TokenRule that is to become an EBoolean should have just two
-		 * alternatives
-		 */
-		if (attrs.contains(RootCS.ATTRIBUTE_REGARD_AS_BOOLEAN)
-				&& !canBeRegardedAsBoolean()) {
-			GeneralMessage parseMessage = new GeneralMessage(
-					"Marked [boolean] but does not have just two alternatives",
-					name, ar);
-			parseContext.addParseMessage(parseMessage);
-		}
-		// TODO make finer distinction reflecting those in isMalformed()
-		MalformedAltRule parseMessage = new MalformedAltRule(this);
-		parseContext.addParseMessage(parseMessage);
-	}
-
-	/**
-	 * only a token rule (fulfilling certain requirements, see TokenRuleCS) can
-	 * be mapped to an EBoolean
-	 */
-	public boolean canBeRegardedAsBoolean() {
-		return false;
-	}
-
-	public String getFirstAlternative() {
-		List<String> recursiveAlts = explodeTerminalAlternatives();
-		return recursiveAlts.get(0);
-	}
-
-	public String getSecondAlternative() {
-		List<String> recursiveAlts = explodeTerminalAlternatives();
-		return recursiveAlts.get(1);
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/GymnastCollector.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/GymnastCollector.java
deleted file mode 100644
index 2047d84..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/GymnastCollector.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.cst;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.gymnast.generator.core.ast.AltRule;
-import org.eclipse.gymnast.generator.core.ast.CompUnit;
-import org.eclipse.gymnast.generator.core.ast.HeaderSection;
-import org.eclipse.gymnast.generator.core.ast.ListRule;
-import org.eclipse.gymnast.generator.core.ast.Seq;
-import org.eclipse.gymnast.generator.core.ast.SeqRule;
-import org.eclipse.gymnast.generator.core.ast.SimpleExpr;
-import org.eclipse.gymnast.generator.core.ast.TokenRule;
-import org.eclipse.gymnast.generators.ecore.walker.GymnastSwitch;
-
-/**
- * 
- * If this visitor is invoked with a <code>GymnastWalker</code> on the
- * <code>compUnit</code> ("root") production, only reachable rules will be
- * visited.
- * 
- * 
- * @author Miguel Garcia, http://www.sts.tu-harburg.de/~mi.garcia/
- * 
- */
-public class GymnastCollector extends GymnastSwitch<Object> {
-
-	public final RootCS c;
-
-	public GymnastCollector(RootCS c) {
-		this.c = c;
-	}
-
-	public Object handleAltRule(AltRule ar, String name, List<String> alts, List<String> attrs,
-			List<Object> resPreSeqs, List<Object> resPostSeqs) {
-		AltRuleCS arc = new AltRuleCS(name, alts, attrs, c, ar);
-		c.altRules.add(arc);
-		for (Object object : resPreSeqs) {
-			SeqExprCS sec = (SeqExprCS) object;
-			arc.preSeq.add(sec);
-		}
-		for (Object object : resPostSeqs) {
-			SeqExprCS sec = (SeqExprCS) object;
-			arc.postSeq.add(sec);
-		}
-		return null;
-	}
-
-	public Object handleHeader(HeaderSection headerSection, String languageName, Map<String, String> resOptions) {
-		c.languageName = languageName;
-		c.options = resOptions;
-		return null;
-	}
-
-	public Object handleListRule(ListRule lr, List<String> attrs, String name, String e1, String separator,
-			String opt_e2, int lowerBound, String opt_FieldName1, String opt_FieldName2) {
-		ListRuleCS lrc = new ListRuleCS(name, e1, separator, opt_e2, lowerBound, opt_FieldName1, opt_FieldName2, c, lr);
-		c.listRules.add(lrc);
-		return null;
-	}
-
-	public Object handleSeqRule(SeqRule sr, String name, List<String> attrs, List<Object> resSeqExprs) {
-		SeqRuleCS src = new SeqRuleCS(name, attrs, c, sr);
-		int position = 0; 
-		for (Object object : resSeqExprs) {
-			SeqExprCS sec = (SeqExprCS) object;
-			src.seqexprs.add(sec);
-			sec.srCS = src;
-			sec.position = position; 
-			position++;
-		}
-		c.seqRules.add(src);
-		return null;
-	}
-
-	public Object handleSimpleExprInRule(SeqRule sr, SimpleExpr se, boolean isOptional, String optFieldName,
-			String value, List<String> attrs, int position) {
-		SeqExprCS sec = new SeqExprCS(isOptional, optFieldName, value, position, c);
-		return sec;
-	}
-
-	public Object handleTokenRule(TokenRule tr, String name, List<String> attrs, List<String> alts) {
-		TokenRuleCS trc = new TokenRuleCS(name, alts, attrs, c, tr);
-		c.tokenRules.add(trc);
-		return null;
-	}
-
-	@Override
-	public Object handleSimpleExprInPreOrPostInAltRule(AltRule ar, SimpleExpr se, boolean isOptional,
-			String optFieldName, String value, List<String> attrs, int size) {
-		SeqExprCS sec = new SeqExprCS(isOptional, optFieldName, value, -1, c);
-		return sec;
-	}
-
-	private void distributePreAndPostSeqInAltRulesRules() {
-		if (!c.isWellFormed()) {
-			return; 
-		}
-		for (AltRuleCS arCS : c.altRules) {
-			if (!arCS.preSeq.isEmpty() || !arCS.preSeq.isEmpty()) {
-				arCS.distributePreAndPostSeqToConstituentSeqRules();
-			}
-		}
-	}
-
-	@Override
-	public Object handleRoot(CompUnit root, Object resHeader, Object resGrammar) {
-		distributePreAndPostSeqInAltRulesRules();
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/ListRuleCS.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/ListRuleCS.java
deleted file mode 100644
index 6fc88eb..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/ListRuleCS.java
+++ /dev/null
@@ -1,209 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.cst;
-
-import java.util.List;
-
-import org.eclipse.gymnast.generator.core.ast.ListRule;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.MalformedListRule;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-
-/**
- * @author Miguel Garcia, http://www.sts.tu-harburg.de/~mi.garcia/
- * 
- */
-public class ListRuleCS extends RuleCS {
-
-	public String e1;
-	public String separator;
-	public String opt_e2;
-	public int lowerBound;
-	public String opt_FieldName1;
-	public String opt_FieldName2;
-
-	public ListRule lr;
-
-	public ListRuleCS(String name, String e1, String separator, String opt_e2,
-			int lowerBound, String opt_FieldName1, String opt_FieldName2,
-			RootCS c, ListRule lr) {
-		super(c);
-		this.name = name;
-		this.e1 = e1;
-		this.separator = separator;
-		this.opt_e2 = opt_e2;
-		this.lowerBound = lowerBound;
-		this.opt_FieldName1 = opt_FieldName1;
-		this.opt_FieldName2 = opt_FieldName2;
-		this.lr = lr;
-	}
-
-	/**
-	 * Reject list rules: <br>
-	 * (a) with a non-well-formed repeating item, <br>
-	 * (b) with a 2nd repeating item (if specified) different from the first
-	 * (thus, we assume repetition consists of only one kind of repeating item)
-	 * <br>
-	 * (c) containing a list as repeating item <br>
-	 * (d) whose name shadows that of a built-in token <br>
-	 * 
-	 * A list containing a non-constant separator is not rejected (e.g.,
-	 * Emfatic.ast contains the token token qidSeparator : DOT | DOLLAR which is
-	 * used as separator). Separators are stored by GenUnparseInhaleAndMM in
-	 * their own list.
-	 * 
-	 * A separator may be any kind of token or rule (except list) which is made
-	 * up in its textual representation of a single uninterrupted sequence of
-	 * printable characters.
-	 * 
-	 */
-	public boolean isMalformed(RootCS c) {
-		if (!opt_e2.equals("") && !c.namesMatch(e1, opt_e2)) {
-			return true;
-		}
-		if (c.findListRuleCSByName(e1) != null) {
-			return true;
-		}
-		if (isMalformedSeparator(separator)) {
-			return true;
-		}
-		if (c.isBuiltInToken(name)) {
-			return true;
-		}
-		return false;
-	}
-
-	private boolean isMalformedSeparator(String sepName) {
-		if (sepName.equals("")) {
-			return false;
-		}
-		if (c.canBeConsideredToken(sepName) || c.isSurroundedByQuotes(sepName)) {
-			return false;
-		}
-		RuleCS refedRuleIfAny = c.getRuleForNameIfAny(e1);
-		if (refedRuleIfAny instanceof TokenRuleCS) {
-			return false;
-		}
-		// ListRuleCS is ruled out
-		if (refedRuleIfAny instanceof ListRuleCS) {
-			return true;
-		}
-		if (refedRuleIfAny != null) {
-			if (refedRuleIfAny instanceof AltRuleCS) {
-				return isMalformedSeparator((AltRuleCS) refedRuleIfAny);
-			}
-			if (refedRuleIfAny instanceof SeqRuleCS) {
-				return isMalformedSeparator((SeqRuleCS) refedRuleIfAny);
-			}
-		}
-		return false;
-	}
-
-	private boolean isMalformedSeparator(SeqRuleCS srCS) {
-		if (srCS.seqexprs.size() > 1) {
-			return true;
-		}
-		if (isMalformedSeparator(srCS.seqexprs.get(0).value)) {
-			return true;
-		}
-		return false;
-	}
-
-	private boolean isMalformedSeparator(AltRuleCS refedRule) {
-		List<String> terminals = refedRule.explodeTerminalAlternatives();
-		boolean res = containsCompositeSeqRule(terminals);
-		return res;
-	}
-
-	/**
-	 * A separator may be any kind of token or rule (except list) which is made
-	 * up in its textual representation of a single uninterrupted sequence of
-	 * printable characters.
-	 * 
-	 * 
-	 */
-	private boolean containsCompositeSeqRule(List<String> terminals) {
-		for (String t : terminals) {
-			if (!c.canBeConsideredToken(t)) {
-				SeqRuleCS refedSeqRule = c.findSeqRuleCSByName(t);
-				if (refedSeqRule != null) {
-					/*
-					 * check if it consist of primitive constituents only, i.e.
-					 * its textual representation is a single word.
-					 */
-					if (refedSeqRule.seqexprs.size() > 1) {
-						return true;
-					}
-					if (isMalformedSeparator(refedSeqRule.seqexprs.get(0).value)) {
-						return true;
-					}
-				}
-			}
-		}
-		return false;
-	}
-
-	public String unparseConstantSeparator() {
-		assert !isMalformed(c);
-		if (c.isSurroundedByQuotes(separator)) {
-			return c.unquote(separator);
-		}
-		if (c.isBuiltInToken(separator)) {
-			return c.getValueOfBuiltInToken(separator);
-		}
-		if (separator != null && separator.equals("")) {
-			return " ";
-		}
-		/*
-		 * e.g. qidSeparator with alternativas DOT and STAR. See comment for
-		 * isMalformed() in ListRuleCS
-		 */
-		return null;
-	}
-
-	public String getPreferredItemName() {
-		String res = opt_FieldName1.equals("") ? e1 : opt_FieldName1;
-		return res;
-	}
-
-	@Override
-	public String toString() {
-		String out_e1 = opt_FieldName1.equals("") ? e1 : opt_FieldName1 + "="
-				+ e1;
-		String out_e2 = opt_FieldName2.equals("") ? opt_e2 : opt_FieldName2
-				+ "=" + opt_e2;
-		System.out.println("list " + name + " : " + out_e1 + " " + separator
-				+ " " + out_e2 + " " + lowerBound);
-		return name;
-	}
-
-	public boolean hasConstantSeparator() {
-		if (separator.equals("") || c.isBuiltInToken(separator)
-				|| c.isSurroundedByQuotes(separator)) {
-			return true;
-		}
-		return false;
-	}
-
-	public SeqExprKind getKindOfItem() {
-		SeqExprCS temp = new SeqExprCS(false, e1, e1, lowerBound, c);
-		temp.value = e1;
-		SeqExprKind res = temp.getKind();
-		return res;
-	}
-
-	@Override
-	public Rule getRule() {
-		return lr;
-	}
-
-	public void addParseMessages(ParseContext parseContext) {
-		// TODO make finer distionction reflecting those in isMalformed()
-		MalformedListRule parseMessage = new MalformedListRule(this);
-		parseContext.addParseMessage(parseMessage);
-	}
-
-	@Override
-	public final boolean canBeRegardedAsBoolean() {
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/RootCS.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/RootCS.java
deleted file mode 100644
index 04b1000..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/RootCS.java
+++ /dev/null
@@ -1,812 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.cst;
-
-import java.io.BufferedReader;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreParseWarning;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.GeneralMessage;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.MissingGrammarOption;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.MultipleEntryRules;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.RuleWithNameDuplicate;
-import org.eclipse.gymnast.generators.ecore.walker.GymnastWalker;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-import org.eclipse.gymnast.runtime.core.parser.ParseWarning;
-
-/**
- * @author Miguel Garcia, http://www.sts.tu-harburg.de/~mi.garcia/
- * 
- */
-public class RootCS {
-
-	public final static Map<String, String> knownBuiltInTokens = new HashMap<String, String>();
-
-	static {
-		knownBuiltInTokens.put("LCURLY", "{");
-		knownBuiltInTokens.put("RCURLY", "}");
-		knownBuiltInTokens.put("LSQUARE", "[");
-		knownBuiltInTokens.put("RSQUARE", "]");
-		knownBuiltInTokens.put("LPAREN", "(");
-		knownBuiltInTokens.put("RPAREN", ")");
-		knownBuiltInTokens.put("DOT", ".");
-		knownBuiltInTokens.put("COMMA", ",");
-		knownBuiltInTokens.put("COLON", ":");
-		knownBuiltInTokens.put("SEMI", ";");
-		knownBuiltInTokens.put("STAR", "*");
-		knownBuiltInTokens.put("PLUS", "+");
-		knownBuiltInTokens.put("MINUS", "-");
-		knownBuiltInTokens.put("EQUALS", "=");
-		knownBuiltInTokens.put("QMARK", "?");
-		knownBuiltInTokens.put("BANG", "!");
-		knownBuiltInTokens.put("DOLLAR", "$");
-		knownBuiltInTokens.put("HASH", "#");
-		knownBuiltInTokens.put("AT", "@");
-		knownBuiltInTokens.put("DOT_DOT", "..");
-		knownBuiltInTokens.put("MINUS_GT", "->");
-		knownBuiltInTokens.put("GT_LT", "><");
-		knownBuiltInTokens.put("LT_GT", "<>");
-		knownBuiltInTokens.put("AMP", "&");
-		knownBuiltInTokens.put("LT", "<");
-		knownBuiltInTokens.put("GT", ">");
-		knownBuiltInTokens.put("PIPE", "|");
-		knownBuiltInTokens.put("SLASH", "/");
-	}
-
-	public String languageName;
-
-	public Map<String, String> options = new HashMap<String, String>();
-
-	public final List<TokenRuleCS> tokenRules = new ArrayList<TokenRuleCS>();
-
-	public final List<AltRuleCS> altRules = new ArrayList<AltRuleCS>();
-
-	public final List<SeqRuleCS> seqRules = new ArrayList<SeqRuleCS>();
-
-	public final List<ListRuleCS> listRules = new ArrayList<ListRuleCS>();
-
-	private List<RuleCS> _lazyAllRules = null;
-
-	public List<RuleCS> allRules() {
-		if (_lazyAllRules == null) {
-			_lazyAllRules = new ArrayList<RuleCS>();
-			_lazyAllRules.addAll(tokenRules);
-			_lazyAllRules.addAll(altRules);
-			_lazyAllRules.addAll(seqRules);
-			_lazyAllRules.addAll(listRules);
-		}
-		return _lazyAllRules;
-	}
-
-	/**
-	 * There should be exactly one entry rule.
-	 */
-	public List<RuleCS> entryRules() {
-		List<RuleCS> res = new ArrayList<RuleCS>();
-		for (RuleCS ruleCS : allRules()) {
-			if (ruleCS.attrs.contains("entry")) {
-				res.add(ruleCS);
-			}
-		}
-		return res;
-	}
-
-	public List<RuleCS> rulesWithDuplicateNames() {
-		Set<String> seenRuleNames = new HashSet<String>();
-		Set<String> dupNames = new HashSet<String>();
-		for (RuleCS ruleCS : allRules()) {
-			if (seenRuleNames.contains(ruleCS.name)) {
-				dupNames.add(ruleCS.name);
-			}
-			seenRuleNames.add(ruleCS.name);
-		}
-		List<RuleCS> res = new ArrayList<RuleCS>();
-		for (RuleCS ruleCS : allRules()) {
-			if (dupNames.contains(ruleCS.name)) {
-				res.add(ruleCS);
-			}
-		}
-		return res;
-	}
-
-	/**
-	 * A token rule should consist only of primitive alternatives: fixed
-	 * keywords, other token rules, or built-in tokens (ID, STRING_LITERAL,
-	 * CHAR_LITERAL, INT, collectively "canBeConsideredToken"). Additionally,
-	 * The name of a TokenRule may not shadow that of a built-in token.
-	 */
-	public List<TokenRuleCS> malFormedTokenRules() {
-		List<TokenRuleCS> res = new ArrayList<TokenRuleCS>();
-		for (TokenRuleCS trCS : tokenRules) {
-			if (trCS.getKindOfAlts() == TokenRuleAltsKind.MALFORMED) {
-				res.add(trCS);
-			} else if (isBuiltInToken(trCS.name)) {
-				/*
-				 * The name of a TokenRule may not shadow that of a built-in
-				 * token.
-				 */
-				res.add(trCS);
-			} else if (trCS.isEmpty()) {
-				res.add(trCS);
-			}
-		}
-		return res;
-	}
-
-	/**
-	 * Reject seq rules having: <br>
-	 * (a) a consituent whose name can't be resolved (if resolved, its
-	 * well-formedness is checked together with all rules of its kind, so that's
-	 * not checked again in this method), <br>
-	 * (b) duplicate fields, among the specified field names (they are optional)
-	 * <br>
-	 * 
-	 * A SeqRule may contain optional lists, alternatives, sequences, and
-	 * tokens.
-	 * 
-	 */
-	public Set<SeqRuleCS> malFormedSeqRules() {
-		Set<SeqRuleCS> res = new HashSet<SeqRuleCS>();
-		for (SeqRuleCS sCS : seqRules) {
-			if (sCS.isMalformed(this)) {
-				res.add(sCS);
-			}
-		}
-		return res;
-	}
-
-	/**
-	 * Reject alt rules having: <br>
-	 * (a) an alternative whose name can't be resolved (if resolved, its
-	 * well-formedness is checked together with all rules of its kind, so that's
-	 * not checked again in this method), <br>
-	 * (b) one or more constituent alternative of list kind <br>
-	 * (c) an alt rule, when its constituents are recursively exploded, should
-	 * contain two or more alternatives.<br>
-	 * (d) mixed tokens and rules (seq, alt) among the alternatives.<br>
-	 * 
-	 */
-	public Set<AltRuleCS> malFormedAltRules() {
-		Set<AltRuleCS> res = new HashSet<AltRuleCS>();
-		for (AltRuleCS aCS : altRules) {
-			if (aCS.isMalformed()
-					|| aCS.getKindOfAlts() == AltRuleAltsKind.MALFORMED) {
-				res.add(aCS);
-			}
-		}
-		return res;
-	}
-
-	SeqRuleCS findSeqRuleCSByName(String name) {
-		for (SeqRuleCS srCS : seqRules) {
-			if (namesMatch(name, srCS.name)) {
-				return srCS;
-			}
-		}
-		return null;
-	}
-
-	AltRuleCS findAltRuleCSByName(String innerAltName) {
-		for (AltRuleCS aCS : altRules) {
-			if (namesMatch(innerAltName, aCS.name)) {
-				return aCS;
-			}
-		}
-		return null;
-	}
-
-	/**
-	 * Reject list rules: <br>
-	 * (a) with a non-well-formed repeating item, <br>
-	 * (b) with a 2nd repeating item (if specified) different from the first
-	 * (thus, we assume repetition consists of only one kind of repeating item)
-	 * <br>
-	 * (c) containing a list as repeating item <br>
-	 * 
-	 * A list containing a non-constant separator is not rejected (e.g.,
-	 * Emfatic.ast contains the token token qidSeparator : DOT | DOLLAR which is
-	 * used as separator. However, the converter to EMF will not store
-	 * separators.
-	 * 
-	 */
-	public Set<ListRuleCS> malFormedListRules() {
-		Set<ListRuleCS> res = new HashSet<ListRuleCS>();
-		for (ListRuleCS lrCS : listRules) {
-			if (lrCS.isMalformed(this)) {
-				res.add(lrCS);
-			}
-		}
-		return res;
-	}
-
-	public ListRuleCS findListRuleCSByName(String name) {
-		for (ListRuleCS lrCS : listRules) {
-			if (namesMatch(name, lrCS.name)) {
-				return lrCS;
-			}
-		}
-		return null;
-	}
-
-	boolean isRuleName(String name) {
-		for (RuleCS rCS : allRules()) {
-			if (namesMatch(name, rCS.name)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	public boolean canBeConsideredToken(String name) {
-		if (isBuiltInToken(name) || name.equals("STRING_LITERAL")
-				|| name.equals("INT_LITERAL") || name.equals("CHAR_LITERAL")
-				|| name.equals("ID") || isSurroundedByQuotes(name)) {
-			return true;
-		}
-		return false;
-	}
-
-	public boolean isBuiltInToken(String alt) {
-		boolean res = knownBuiltInTokens.keySet().contains(alt);
-		return res;
-	}
-
-	public TokenRuleCS findTokenRuleCSByName(String lookup) {
-		for (TokenRuleCS trCS : tokenRules) {
-			if (namesMatch(trCS.name, lookup)) {
-				return trCS;
-			}
-		}
-		return null;
-	}
-
-	public boolean namesMatch(String name, String lookup) {
-		boolean res = name.compareToIgnoreCase(lookup) == 0;
-		return res;
-	}
-
-	boolean isIntegerLiteral(String alt) {
-		if (isSurroundedByQuotes(alt)) {
-			alt = alt.substring(1, alt.length() - 1);
-		}
-		try {
-			Integer.valueOf(alt);
-			return true;
-		} catch (Exception e) {
-			return false;
-		}
-	}
-
-	public static boolean isSurroundedByQuotes(String alt) {
-		boolean res = alt.startsWith("\"") && alt.endsWith("\"");
-		return res;
-	}
-
-	public boolean isWellFormed() {
-		boolean res = entryRules().size() == 1;
-		res &= malFormedTokenRules().isEmpty();
-		res &= rulesWithDuplicateNames().isEmpty();
-		res &= malFormedListRules().isEmpty();
-		res &= malFormedAltRules().isEmpty();
-		res &= malFormedSeqRules().isEmpty();
-		res &= missingGrammarOptions().isEmpty();
-		res &= namingConventionsAreFollowed();
-		return res;
-	}
-
-	private boolean namingConventionsAreFollowed() {
-		boolean res = namingConventionLanguageNameStartsLowercase();
-		return res;
-	}
-
-	private boolean namingConventionLanguageNameStartsLowercase() {
-		boolean res = Character.isLowerCase(languageName.charAt(0));
-		return res;
-	}
-
-	public static RootCS getWellFormednessChecker(IFile astFile) {
-		BufferedReader reader;
-		try {
-			reader = new BufferedReader(new InputStreamReader(astFile
-					.getContents()));
-			GymnastWalker<Object> gw = new GymnastWalker<Object>();
-			RootCS wellFormednessChecker = new RootCS();
-			GymnastCollector vCollect = new GymnastCollector(
-					wellFormednessChecker);
-			gw.walk(reader, vCollect);
-			boolean res = wellFormednessChecker.isWellFormed();
-			if (res) {
-				return wellFormednessChecker;
-			}
-		} catch (CoreException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		return null;
-	}
-
-	public void addErrorMsgsFromInputValidation(ParseContext parseContext) {
-		assert parseContext != null;
-		if (entryRules().size() == 0) {
-			parseContext.addParseMessage(new GeneralMessage(
-					"No seq rule has been declared as [entry]"));
-		}
-		if (entryRules().size() > 1) {
-			for (RuleCS ruleCS : entryRules()) {
-				MultipleEntryRules parseMessage = new MultipleEntryRules(ruleCS);
-				parseContext.addParseMessage(parseMessage);
-			}
-		}
-		for (TokenRuleCS trCS : malFormedTokenRules()) {
-			trCS.addParseMessages(parseContext);
-		}
-		for (RuleCS rCS : rulesWithDuplicateNames()) {
-			RuleWithNameDuplicate parseMessage = new RuleWithNameDuplicate(rCS);
-			parseContext.addParseMessage(parseMessage);
-		}
-		for (ListRuleCS lrCS : malFormedListRules()) {
-			lrCS.addParseMessages(parseContext);
-		}
-		for (AltRuleCS arCS : malFormedAltRules()) {
-			arCS.addParseMessages(parseContext);
-		}
-		for (SeqRuleCS srCS : malFormedSeqRules()) {
-			srCS.addParseMessages(parseContext);
-		}
-		for (String str : missingGrammarOptions()) {
-			MissingGrammarOption parseMessage = new MissingGrammarOption(str);
-			parseContext.addParseMessage(parseMessage);
-		}
-		if (!namingConventionLanguageNameStartsLowercase()) {
-			GeneralMessage parseMessage = new GeneralMessage(
-					"The language name ("
-							+ languageName
-							+ ") should start with a lowercase given that it'll be used later as package name.");
-			parseContext.addParseMessage(parseMessage);
-		}
-		addWarningToDocumentDefaultOptions(parseContext);
-	}
-
-	private boolean addWarningToDocumentDefaultOptions(ParseContext parseContext) {
-		boolean oneOrMoreMissing = false;
-		for (String opt : allOptionsSupported()) {
-			if (!options.containsKey(opt)) {
-				/*
-				 * in case no umbrella type is to be generated then no name for
-				 * it need be specified
-				 */
-				boolean skip = opt.toLowerCase().equals("umbrellatypename")
-						&& !getOption_addUmbrellaType();
-				if (!skip) {
-					oneOrMoreMissing = true;
-					String msg = "An option supported by Grammar2Ecore is missing ("
-							+ opt + "). ";
-					msg += "Although a default values has been provided, including it explicitly in the .ast serves as documentation. ";
-					ParseWarning parseMessage = new Grammar2EcoreParseWarning.GeneralWarning(
-							msg, 0, 1);
-					parseContext.addParseMessage(parseMessage);
-				}
-			}
-		}
-		return oneOrMoreMissing;
-	}
-
-	public Set<String> allOptionsSupported() {
-		String[] allOptionsSupported = new String[] { "prettyPrinter",
-				"unparser", "ecorizer", "umbrellaType", "umbrellaTypeName" };
-		HashSet<String> res = new HashSet<String>(Arrays
-				.asList(allOptionsSupported));
-		return res;
-	}
-
-	public List<String> missingGrammarOptions() {
-		List<String> res = new ArrayList<String>();
-		if (!options.containsKey("astPackageName")) {
-			/*
-			 * This is the Java package for the Gymnast-generated classes for
-			 * productions. It is necessary when generating the Ecorizer class,
-			 * to convert instances of those classes into instances of their
-			 * Ecore-based couneterparts.
-			 */
-			res.add("astPackageName");
-		}
-
-		if (!options.containsKey("parserPackageName")) {
-			res.add("parserPackageName");
-		}
-
-		/*
-		 * genModelBasePackage should also be specified (for the Java classes
-		 * generated from Ecore). It is necessary when generating the Ecorizer
-		 * class, as part of the return type.
-		 */
-		if (!options.containsKey("genModelBasePackage")) {
-			/*
-			 * This is the Java package for the Gymnast-generated classes for
-			 * productions. It is necessary when generating the Ecorizer class,
-			 * to convert instances of those classes into instances of their
-			 * Ecore-based couneterparts.
-			 */
-			res.add("genModelBasePackage");
-		}
-
-		if (!options.containsKey("genModelPrefix")) {
-			res.add("genModelPrefix");
-		}
-
-		/*
-		 * astBaseClassName is needed to make the case distinction in the
-		 * generated core of Ecorizer. If not specified, a default is generated,
-		 * see getOption_astBaseClassName().
-		 */
-		return res;
-	}
-
-	public boolean canBeResolved(String name) {
-		if (canBeConsideredToken(name)) {
-			return true;
-		}
-		if (isRuleName(name)) {
-			return true;
-		}
-		return false;
-	}
-
-	public Set<String> getNamesOfAltRules() {
-		Set<String> res = new HashSet<String>();
-		for (AltRuleCS arCS : altRules) {
-			res.add(arCS.name);
-		}
-		return res;
-	}
-
-	public Set<String> getNamesOfTokenRules() {
-		Set<String> res = new HashSet<String>();
-		for (TokenRuleCS trCS : tokenRules) {
-			res.add(trCS.name);
-		}
-		return res;
-	}
-
-	public Set<String> getNamesOfListRules() {
-		Set<String> res = new HashSet<String>();
-		for (ListRuleCS lrCS : listRules) {
-			res.add(lrCS.name);
-		}
-		return res;
-	}
-
-	/**
-	 * For example, for the input "DOT" returns "."
-	 * 
-	 * @param tokenName
-	 * @return
-	 */
-	public static String getValueOfBuiltInToken(String tokenName) {
-		String res = knownBuiltInTokens.get(tokenName);
-		if (res == null) {
-			return "";
-		} else {
-			return res;
-		}
-	}
-
-	public String getOption_astPackageName() {
-		return helperGetOption("astPackageName");
-	}
-
-	private String helperGetOption(String option) {
-		String res = "";
-		String userChoice = options.get(option);
-		if (userChoice != null && !userChoice.equals("")) {
-			res = unquote(userChoice);
-		}
-		return res;
-	}
-
-	public List<String> unquote(List<String> enumLits) {
-		List<String> res = new ArrayList<String>();
-		for (String s : enumLits) {
-			if (s.startsWith("\"") && s.endsWith("\"")) {
-				s = s.substring(1, s.length() - 1);
-			}
-			res.add(s);
-		}
-		return res;
-	}
-
-	public static String unquote(String s) {
-		String res = s.substring(1, s.length() - 1);
-		return res;
-	}
-
-	/**
-	 * Uppercase the first letter of the name to make a good Java class name (so
-	 * "myName" -> "MyName")
-	 * 
-	 * @param name
-	 * @return
-	 */
-	public static String camelCase(String name) {
-		String res = org.eclipse.gymnast.generator.core.generator.Util
-				.toUppercaseName(name);
-		return res;
-	}
-
-	public String getOption_genModelBasePackage() {
-		String res = helperGetOption("genModelBasePackage");
-		return res;
-	}
-
-	public String getOption_genModelPrefix() {
-		String res = helperGetOption("genModelPrefix");
-		if (res.equals("")) {
-			res = "";
-		}
-		return res;
-	}
-
-	public String getOption_astBaseClassName() {
-		String res = helperGetOption("astBaseClassName");
-		if (res.equals("")) {
-			res = camelCase(languageName) + "ASTNode";
-		}
-		return res;
-	}
-
-	public boolean getOption_unparser() {
-		String str = helperGetOption("unparser");
-		boolean res = isOneOf(str, "no", "false");
-		return !res;
-	}
-
-	public boolean getOption_prettyPrinter() {
-		String str = helperGetOption("prettyPrinter");
-		boolean res = isOneOf(str, "no", "false");
-		return !res;
-	}
-
-	public boolean getOption_ecorizer() {
-		String str = helperGetOption("ecorizer");
-		boolean res = isOneOf(str, "no", "false");
-		return !res;
-	}
-
-	public boolean getOption_addUmbrellaType() {
-		String str = helperGetOption("umbrellaType");
-		boolean res = isOneOf(str, "no", "false");
-		return !res;
-	}
-
-	public String getOption_umbrellaTypeName() {
-		String str = helperGetOption("umbrellaTypeName");
-		return str;
-	}
-
-	/**
-	 * reports whether the first argument is among those listed next. Useful
-	 * when comparing user-provided text with alternative spellings for it
-	 * (e.g., "true" and "yes").
-	 */
-	private boolean isOneOf(String lookUp, String... alternatives) {
-		if (lookUp == null || lookUp.equals("")) {
-			return false;
-		}
-		lookUp = lookUp.trim().toLowerCase();
-		for (String alt : alternatives) {
-			alt = alt.trim().toLowerCase();
-			if (lookUp.equals(alt)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Precondition:
-	 * 
-	 * Grammar2Ecore.convert() has run
-	 * 
-	 * @see TokenRuleCS.enu
-	 * 
-	 */
-	public List<TokenRuleCS> getTokenRulesWithEnums() {
-		List<TokenRuleCS> res = new ArrayList<TokenRuleCS>();
-		for (TokenRuleCS trCS : tokenRules) {
-			if (trCS.enu != null) {
-				res.add(trCS);
-			}
-		}
-		return res;
-	}
-
-	public List<AltRuleCS> getAltRulesWithEnums() {
-		List<AltRuleCS> res = new ArrayList<AltRuleCS>();
-		for (AltRuleCS arCS : altRules) {
-			if (arCS.enu != null) {
-				res.add(arCS);
-			}
-		}
-		return res;
-	}
-
-	public List<AltRuleCS> getAltRulesWithEClasses() {
-		List<AltRuleCS> res = new ArrayList<AltRuleCS>();
-		for (AltRuleCS arCS : altRules) {
-			if (arCS.eClass != null) {
-				res.add(arCS);
-			}
-		}
-		return res;
-	}
-
-	/**
-	 * The name of the EClassifier created by MyEcoreUtil may differ from that
-	 * given in the .ast file.
-	 * 
-	 * @param name
-	 * @return
-	 */
-	public EClassifier getETypeForRuleName(String name) {
-		EClassifier res = getETypeForSeqRuleName(name);
-		if (res != null) {
-			return res;
-		}
-		res = getETypeForAltRuleName(name);
-		if (res != null) {
-			return res;
-		}
-		res = getETypeForTokenRuleName(name);
-		return res;
-	}
-
-	private EClassifier getETypeForTokenRuleName(String name) {
-		for (TokenRuleCS trCS : getTokenRulesWithEnums()) {
-			if (namesMatch(trCS.name, name)) {
-				return trCS.enu;
-			}
-		}
-		RuleCS r = getRuleForNameIfAny(name);
-		if (r != null && r.canBeRegardedAsBoolean()) {
-			return EcorePackage.eINSTANCE.getEBoolean();
-		}
-		return null;
-	}
-
-	private EClassifier getETypeForAltRuleName(String name) {
-		for (AltRuleCS anAltRule : getAltRulesWithEClasses()) {
-			if (namesMatch(anAltRule.name, name)) {
-				return anAltRule.eClass;
-			}
-		}
-		for (AltRuleCS anotherAlt : getAltRulesWithEnums()) {
-			if (namesMatch(anotherAlt.name, name)) {
-				return anotherAlt.enu;
-			}
-		}
-		RuleCS r = getRuleForNameIfAny(name);
-		if (r != null && r.canBeRegardedAsBoolean()) {
-			return EcorePackage.eINSTANCE.getEBoolean();
-		}
-		return null;
-	}
-
-	public EClass getETypeForSeqRuleName(String name) {
-		for (SeqRuleCS srCS : seqRules) {
-			if (namesMatch(srCS.name, name)) {
-				return srCS.eClass;
-			}
-		}
-		return null;
-	}
-
-	public List<String> getAltRulesWithIntsOnly() {
-		ArrayList<String> res = new ArrayList<String>();
-		for (AltRuleCS arCS : altRules) {
-			if (arCS.getKindOfAlts() == AltRuleAltsKind.INTS) {
-				res.add(arCS.name);
-			}
-		}
-		return res;
-	}
-
-	public List<String> getTokenRulesWithIntsOnly() {
-		ArrayList<String> res = new ArrayList<String>();
-		for (TokenRuleCS trCS : tokenRules) {
-			if (trCS.getKindOfAlts() == TokenRuleAltsKind.INTS) {
-				res.add(trCS.name);
-			}
-		}
-		return res;
-	}
-
-	public List<String> getAltOrTokenRulesWithIntsOnly() {
-		ArrayList<String> res = new ArrayList<String>();
-		res.addAll(getAltRulesWithIntsOnly());
-		res.addAll(getTokenRulesWithIntsOnly());
-		return res;
-	}
-
-	public List<String> getAltRulesWithSeqOnly() {
-		ArrayList<String> res = new ArrayList<String>();
-		for (AltRuleCS arCS : altRules) {
-			if (arCS.getKindOfAlts() == AltRuleAltsKind.CONTAINSSEQ) {
-				res.add(arCS.name);
-			}
-		}
-		return res;
-	}
-
-	public List<String> getAltRulesWithStrings() {
-		ArrayList<String> res = new ArrayList<String>();
-		for (AltRuleCS arCS : altRules) {
-			if (arCS.getKindOfAlts() == AltRuleAltsKind.ID_OR_MIXEDSTRINT) {
-				res.add(arCS.name);
-			}
-		}
-		return res;
-	}
-
-	public List<String> getTokenRulesWithStrings() {
-		ArrayList<String> res = new ArrayList<String>();
-		for (TokenRuleCS trCS : tokenRules) {
-			if (trCS.getKindOfAlts() == TokenRuleAltsKind.ID_OR_MIXEDSTRINT) {
-				res.add(trCS.name);
-			}
-		}
-		return res;
-	}
-
-	public List<String> getAltOrTokenRulesWithStrings() {
-		ArrayList<String> res = new ArrayList<String>();
-		res.addAll(getAltRulesWithStrings());
-		res.addAll(getTokenRulesWithStrings());
-		return res;
-	}
-
-	/**
-	 * For example, camelCaseIBM -> CAMEL_CASE_IBM
-	 * 
-	 * @param name
-	 * @return
-	 */
-	public String emfUpperCase(String name) {
-		// FIXME
-		return name.toUpperCase();
-	}
-
-	public RuleCS getRuleForNameIfAny(String lookup) {
-		for (RuleCS r : allRules()) {
-			if (namesMatch(r.name, lookup)) {
-				return r;
-			}
-		}
-		return null;
-	}
-
-	public String languageFactoryImpl(SeqRuleCS srCS) {
-		// For example, EmfaticFactoryImpl
-		String res = getOption_genModelBasePackage() + ".";
-		res += srCS.eClass.getEPackage().getName() + ".impl.";
-		res += getOption_genModelPrefix();
-		res += "FactoryImpl";
-		return res;
-	}
-
-	public String getOption_parserPackageName() {
-		return helperGetOption("parserPackageName");
-	}
-
-	public static final String ATTRIBUTE_REGARD_AS_BOOLEAN = "boolean";
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/RuleCS.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/RuleCS.java
deleted file mode 100644
index 557b686..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/RuleCS.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.cst;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-
-public abstract class RuleCS {
-
-	protected RootCS c;
-
-	public RuleCS(RootCS c2) {
-		this.c = c2;
-	}
-
-	public String name;
-	public List<String> attrs = new ArrayList<String>();
-
-	protected String attrsToString() {
-		if (attrs.isEmpty()) {
-			return "";
-		}
-		String res = "[";
-		for (Iterator<String> ai = attrs.iterator(); ai.hasNext();) {
-			String a = ai.next();
-			res += a + (ai.hasNext() ? ", " : "");
-		}
-		res += "]";
-		return res;
-	}
-
-	public String getJavaFQNInGymnast() {
-		String res = c.getOption_astPackageName() + "." + c.camelCase(name);
-		return res;
-
-	}
-
-	public abstract Rule getRule();
-
-	public abstract void addParseMessages(ParseContext parseContext);
-	
-	public abstract boolean canBeRegardedAsBoolean();
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/SeqExprCS.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/SeqExprCS.java
deleted file mode 100644
index 64c9836..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/SeqExprCS.java
+++ /dev/null
@@ -1,171 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.cst;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.gymnast.generator.core.generator.Util;
-import org.eclipse.gymnast.generators.ecore.convert.GenUnparseInhaleAndMMForSeqRules;
-
-/**
- * @author Miguel Garcia, http://www.sts.tu-harburg.de/~mi.garcia/
- * 
- */
-public class SeqExprCS {
-
-	public int position;
-	public String value;
-	public String optFieldName;
-	public boolean isOptional;
-	public SeqRuleCS srCS;
-	private RootCS c;
-
-	/**
-	 * Invariant (this.eSF != null) iff ((this.getKind() ==
-	 * REFERS_TO_RULE_WITH_EENUM || this.getKind() ==
-	 * REFERS_TO_RULE_WITH_ECLASS) && (@see {@link
-	 * GenUnparseInhaleAndMMForSeqRules() has run}))
-	 */
-	public EStructuralFeature eSF = null;
-	public EStructuralFeature eSFListForRefedItems;
-	public EStructuralFeature eSFListForSeparators;
-	
-	public SeqExprCS(boolean isOptional, String optFieldName, String value,
-			int position, RootCS c) {
-		this.isOptional = isOptional;
-		this.optFieldName = optFieldName;
-		this.value = value;
-		this.position = position;
-		this.c = c;
-	}
-
-	@Override
-	public String toString() {
-		String prefix = (optFieldName.equals("")) ? "" : optFieldName + "=";
-		String res;
-		if (isOptional) {
-			if (!prefix.equals("")) {
-				res = "(" + prefix + value + ")?";
-			} else {
-				res = value + "?";
-			}
-		} else {
-			res = prefix + value;
-		}
-		return res;
-	}
-
-	public String unparseValue(RootCS c) {
-		if (c.isSurroundedByQuotes(value)) {
-			return c.unquote(value);
-		}
-		if (c.isBuiltInToken(value)) {
-			return RootCS.getValueOfBuiltInToken(value);
-		}
-		assert false;
-		throw new RuntimeException();
-	}
-
-	/**
-	 * @return a readable name for a field, e.g. instead of INT_LITERAL returns
-	 * 	intLit.
-	 */
-	public String suggestedName() {
-		String res = optFieldName.equals("") ? value : optFieldName;
-		if (c.isSurroundedByQuotes(res)) {
-			res = c.unquote(res);
-		}
-		if (res.equals("STRING_LITERAL") || res.equals("ID")) {
-			res = "strLit";
-		} else if (res.equals("CHAR_LITERAL")) {
-			res = "chrLit";
-		} else if (res.equals("INT_LITERAL")) {
-			res = "intLit";
-		}
-		return res;
-	}
-
-	public SeqExprKind getKind() {
-		if (c.isBuiltInToken(value) || c.isSurroundedByQuotes(value)) {
-			return SeqExprKind.CONSTANT_CONTENT;
-		}
-
-		EClassifier refedEType = c.getETypeForRuleName(value);
-		if (refedEType instanceof EClass) {
-			return SeqExprKind.REFERS_TO_RULE_WITH_ECLASS;
-		}
-		if (refedEType instanceof EEnum) {
-			return SeqExprKind.REFERS_TO_RULE_WITH_EENUM;
-		}
-		if (value.equals("STRING_LITERAL") || value.equals("ID")
-				|| c.getAltOrTokenRulesWithStrings().contains(value)) {
-			return SeqExprKind.KEEP_AS_STR;
-		}
-		if (value.equals("CHAR_LITERAL")) {
-			return SeqExprKind.KEEP_AS_CHR;
-		}
-		if (value.equals("INT_LITERAL")
-				|| c.getAltOrTokenRulesWithIntsOnly().contains(value)) {
-			return SeqExprKind.KEEP_AS_INT;
-		}
-		if (c.getNamesOfListRules().contains(value)) {
-			return SeqExprKind.REFERS_TO_LIST_RULE;
-		}
-		RuleCS r = c.getRuleForNameIfAny(value);
-		if (r != null && r.canBeRegardedAsBoolean()) {
-			return SeqExprKind.REFERS_TO_RULE_WITH_EENUM;
-		}
-		assert false;
-		throw new RuntimeException();
-	}
-
-	public String gymnastGeneratedGetter() {
-		if (optFieldName.equals("")) {
-			SeqExprKind k = getKind();
-			/*
-			 * FIXME what if more than one non-field-name shows up. Then
-			 * suffixes like 1, 2, are necessary
-			 */
-			switch (k) {
-
-			case CONSTANT_CONTENT:
-				String res = optFieldName.equals("") ? value : optFieldName;
-				String postfix = "";
-				if (RootCS.isSurroundedByQuotes(res)) {
-					res = RootCS.unquote(res);
-					postfix = "_KW";
-				} else {
-					res = res.toLowerCase();
-				}
-				res = "get" + Util.toUppercaseName(res) + postfix + "()";
-				return res;
-
-			case KEEP_AS_CHR:
-				return "getChar_literal()";
-			case KEEP_AS_STR:
-				if (value.equals("ID")) {
-					return "getId()";
-				}
-				if (value.equals("STRING_LITERAL")) {
-					return "getString_literal()";
-				}
-				break;
-			case KEEP_AS_INT:
-				return "getInt_literal()";
-
-			}
-
-		}
-		String res = optFieldName.equals("") ? value : optFieldName;
-		res = "get" + Util.toUppercaseName(res) + "()";
-		return res;
-	}
-
-	public RuleCS getRefedRuleIfAny() {
-		RuleCS res = srCS.c.getRuleForNameIfAny(this.value);
-		return res;
-
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/SeqExprKind.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/SeqExprKind.java
deleted file mode 100644
index 8ceb16b..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/SeqExprKind.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.cst;
-
-/**
- * This classification is independent of whether the item is optional. Every
- * SeqExpr can be declared optional.
- * 
- * In more detail:
- * 
- * An item is classified into one of:
- * 
- * a) constant content (isBuiltInToken, isSurroundedByQuotes)
- * 
- * b) the item refers to a rule having an EClassifier as counterpart
- * 
- * c) can be converted to str or int
- * 
- * d) by now the only case left is for item to be an invocation of a list rule
- * 
- */
-public enum SeqExprKind {
-
-	CONSTANT_CONTENT, REFERS_TO_RULE_WITH_ECLASS, REFERS_TO_RULE_WITH_EENUM, KEEP_AS_STR, KEEP_AS_CHR, KEEP_AS_INT, REFERS_TO_LIST_RULE
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/SeqRuleCS.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/SeqRuleCS.java
deleted file mode 100644
index 2565a87..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/SeqRuleCS.java
+++ /dev/null
@@ -1,124 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.cst;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.ast.SeqRule;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.MalformedSeqRule;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-
-public class SeqRuleCS extends RuleCS {
-
-	public List<SeqExprCS> seqexprs = new ArrayList<SeqExprCS>();
-
-	/**
-	 * Invariant:
-	 * 
-	 * (this.eClass != null) iff (Grammar2Ecore.convert() has initialized it
-	 * 
-	 * 
-	 */
-	public EClass eClass = null;
-
-	public EOperation ecorizeEOp = null;
-
-	public SeqRule sr;
-
-	public EOperation prettyPrintEOp = null;
-
-	public SeqRuleCS(String name, List<String> attrs, RootCS c, SeqRule sr) {
-		super(c);
-		this.name = name;
-		this.attrs = attrs;
-		this.sr = sr;
-	}
-
-	public boolean hasDuplicateFieldNames() {
-		Set<String> fieldNames = new HashSet<String>();
-		for (SeqExprCS se : seqexprs) {
-			String fn = se.optFieldName;
-			if (!fn.equals("")) {
-				if (fieldNames.contains(fn)) {
-					return true;
-				}
-				fieldNames.add(se.optFieldName);
-			}
-		}
-		return false;
-	}
-
-	public boolean hasNonResolvableConstituent(RootCS c) {
-		for (SeqExprCS se : seqexprs) {
-			String itemName = se.value;
-			if (!c.canBeResolved(itemName)) {
-				return true;
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * Reject seq rules having: <br>
-	 * (a) a constituent whose name can't be resolved (if resolved, its
-	 * well-formedness is checked together with all rules of its kind, so that's
-	 * not checked again in this method), <br>
-	 * (b) duplicate fields, among the specified field names (they are optional)<br>
-	 * (c) whose name shadows that of a built-in token <br>
-	 * 
-	 * A SeqRule may contain optional lists, alternatives, sequences, and
-	 * tokens.
-	 * 
-	 * A SeqRule has always an EClass as counterpart (in the field eClass).
-	 * 
-	 */
-	public boolean isMalformed(RootCS c) {
-		if (c.isBuiltInToken(name)) {
-			return true;
-		}
-		if (hasDuplicateFieldNames()) {
-			return true;
-		}
-		if (hasNonResolvableConstituent(c)) {
-			return true;
-		}
-		return false;
-	}
-
-	@Override
-	public String toString() {
-		StringBuffer res = new StringBuffer();
-		res.append("sequence " + name + " " + attrsToString());
-		res.append(" : ");
-		for (SeqExprCS se : seqexprs) {
-			res.append(se.toString() + " ");
-		}
-		return res.toString();
-	}
-
-	@Override
-	public Rule getRule() {
-		return sr;
-	}
-
-	public String getAsJavaComment() {
-		// FIXME escape comment delimiters that might appear
-		String res = "/* " + this.toString() + " */";
-		return res;
-	}
-
-	public void addParseMessages(ParseContext parseContext) {
-		// TODO Add finer distinctions reflecting those in isMalformed()
-		MalformedSeqRule parseMessage = new MalformedSeqRule(this);
-		parseContext.addParseMessage(parseMessage);
-	}
-
-	@Override
-	public final boolean canBeRegardedAsBoolean() {
-		return false;
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/TokenRuleAltsKind.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/TokenRuleAltsKind.java
deleted file mode 100644
index 31a22a6..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/TokenRuleAltsKind.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.cst;
-
-public enum TokenRuleAltsKind {
-	
-	FIXED_KEYWORDS, INTS, ID_OR_MIXEDSTRINT, MALFORMED
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/TokenRuleCS.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/TokenRuleCS.java
deleted file mode 100644
index 7d3b411..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/cst/TokenRuleCS.java
+++ /dev/null
@@ -1,214 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.cst;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.ast.TokenRule;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.GeneralMessage;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.MalformedTokenRule;
-import org.eclipse.gymnast.generators.ecore.errors.Grammar2EcoreInvalidInput.EmptyTokenRule.RuleNameShadowsBuiltInToken;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-
-public class TokenRuleCS extends RuleCS {
-
-	public TokenRule tr;
-
-	public TokenRuleCS(String name, List<String> alts2, List<String> attrs2,
-			RootCS c, TokenRule tr) {
-		super(c);
-		this.name = name;
-		this.alts = alts2;
-		this.attrs = attrs2;
-		this.tr = tr;
-	}
-
-	public List<String> alts;
-
-	/**
-	 * Invariant:
-	 * 
-	 * (this.enu != null) iff (Grammar2Ecore.convert() has initialized it and
-	 * this.getKindOfAlts() == FIXED_KEYWORDS)
-	 * 
-	 * @see AltRuleCS.enu
-	 * 
-	 */
-	public EEnum enu = null;
-
-	public List<String> explodeTerminalAlternatives() {
-		Set<String> alreadyExploded = new HashSet<String>();
-		return explTermAlts(this, alreadyExploded);
-	}
-
-	/**
-	 * This method assumes the argument is a FIXED_KEYWORDS token rule.
-	 * Surrounding quotes are removed for the returned items.
-	 * 
-	 * @param trCS
-	 * @param alreadyExploded
-	 * @return
-	 */
-	private List<String> explTermAlts(TokenRuleCS trCS,
-			Set<String> alreadyExploded) {
-		assert innerGetKindOfAlts(trCS) == TokenRuleAltsKind.FIXED_KEYWORDS;
-		List<String> res = new ArrayList<String>();
-		for (String alt : trCS.alts) {
-			if (c.isSurroundedByQuotes(alt)) {
-				res.add(alt);
-			} else if (c.isBuiltInToken(alt)) {
-				res.add(alt);
-			} else {
-				TokenRuleCS innerTR = c.findTokenRuleCSByName(alt);
-				assert innerTR != null;
-				if (innerTR != null && !alreadyExploded.contains(alt)) {
-					alreadyExploded.add(alt);
-					res.addAll(explTermAlts(innerTR, alreadyExploded));
-				}
-			}
-		}
-		return res;
-	}
-
-	public TokenRuleAltsKind getKindOfAlts() {
-		return innerGetKindOfAlts(this);
-	}
-
-	private TokenRuleAltsKind innerGetKindOfAlts(TokenRuleCS trCS) {
-		if (trCS.alts.isEmpty()) {
-			/*
-			 * calling isEmpty() above on the alts collection instead of
-			 * isEmpty(TokenRuleCS) is intentional, as (1) the checks below will
-			 * catch malformedness due to empty constituents and (2) to allow
-			 * invoking this method from isEmpty(TokenRuleCS) or its invokers.
-			 */
-			return TokenRuleAltsKind.MALFORMED;
-		}
-		// duplicate alts should be rejected
-		Set<String> altsAsSet = new HashSet<String>(trCS.alts);
-		if (altsAsSet.size() != trCS.alts.size()) {
-			return TokenRuleAltsKind.MALFORMED;
-		}
-		/*
-		 * a TokenRule that is to become an EBoolean should have just two
-		 * alternatives
-		 */
-		if (trCS.attrs.contains(RootCS.ATTRIBUTE_REGARD_AS_BOOLEAN)
-				&& !canBeRegardedAsBoolean()) {
-			return TokenRuleAltsKind.MALFORMED;
-		}
-
-		boolean areThereInts = false;
-		boolean areThereArbitraryIDs = false;
-		boolean areThereFixedKeywords = false;
-		for (String alt : trCS.alts) {
-			if (alt.equals("ID") || alt.equals("CHAR_LITERAL")
-					|| alt.equals("STRING_LITERAL")) {
-				areThereArbitraryIDs = true;
-			} else if (c.isIntegerLiteral(alt) || alt.equals("INT_LITERAL")) {
-				areThereInts = true;
-			} else if ((c.isSurroundedByQuotes(alt) && !c.isIntegerLiteral(alt))
-					|| c.isBuiltInToken(alt)) {
-				areThereFixedKeywords = true;
-				/*
-				 * the default case, if all alts are like this will lead to
-				 * TokenRuleAltsKind.FIXED_KEYWORDS and thus
-				 * canBeConvertedToEnum()
-				 */
-			} else {
-				TokenRuleCS refedTR = c.findTokenRuleCSByName(alt);
-				if (refedTR == null) {
-					return TokenRuleAltsKind.MALFORMED;
-				}
-				TokenRuleAltsKind refedKind = innerGetKindOfAlts(refedTR);
-				switch (refedKind) {
-				case MALFORMED:
-					return TokenRuleAltsKind.MALFORMED;
-
-				case ID_OR_MIXEDSTRINT:
-					areThereArbitraryIDs = true;
-					areThereInts = true;
-					/*
-					 * don't return just yet, let the other alts be checked for
-					 * MALFORMED
-					 */
-					break;
-
-				case INTS:
-					areThereInts = true;
-					break;
-
-				case FIXED_KEYWORDS:
-					areThereFixedKeywords = true;
-					break;
-				}
-			}
-		}
-		if (areThereArbitraryIDs || (areThereFixedKeywords && areThereInts)) {
-			return TokenRuleAltsKind.ID_OR_MIXEDSTRINT;
-		} else {
-			if (!areThereFixedKeywords && areThereInts) {
-				return TokenRuleAltsKind.INTS;
-			}
-			return TokenRuleAltsKind.FIXED_KEYWORDS;
-		}
-
-	}
-
-	@Override
-	public Rule getRule() {
-		return tr;
-	}
-
-	public void addParseMessages(ParseContext parseContext) {
-		if (c.isBuiltInToken(name)) {
-			RuleNameShadowsBuiltInToken parseMessage = new RuleNameShadowsBuiltInToken(
-					this);
-			parseContext.addParseMessage(parseMessage);
-		}
-		// duplicate alts
-		Set<String> altsAsSet = new HashSet<String>(alts);
-		if (altsAsSet.size() != alts.size()) {
-			GeneralMessage parseMessage = new GeneralMessage(
-					"Duplicate alternatives", name, tr);
-			parseContext.addParseMessage(parseMessage);
-		}
-		/*
-		 * a TokenRule that is to become an EBoolean should have just two
-		 * alternatives
-		 */
-		if (attrs.contains(RootCS.ATTRIBUTE_REGARD_AS_BOOLEAN)
-				&& !canBeRegardedAsBoolean()) {
-			GeneralMessage parseMessage = new GeneralMessage(
-					"Marked [boolean] but does not have just two alternatives",
-					name, tr);
-			parseContext.addParseMessage(parseMessage);
-		}
-		if (getKindOfAlts() == TokenRuleAltsKind.MALFORMED) {
-			MalformedTokenRule parseMessage = new MalformedTokenRule(this);
-			parseContext.addParseMessage(parseMessage);
-		}
-		if (isEmpty()) {
-			EmptyTokenRule parseMessage = new EmptyTokenRule(this);
-			parseContext.addParseMessage(parseMessage);
-		}
-	}
-
-	public boolean isEmpty() {
-		boolean res = alts.size() == 0;
-		return res;
-	}
-
-	public boolean canBeRegardedAsBoolean() {
-		if (attrs.contains(RootCS.ATTRIBUTE_REGARD_AS_BOOLEAN)
-				&& alts.size() == 2 && !alts.get(0).equals(alts.get(1))) {
-			return true;
-		}
-		return false;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/errors/Grammar2EcoreInvalidInput.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/errors/Grammar2EcoreInvalidInput.java
deleted file mode 100644
index ffdce9b..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/errors/Grammar2EcoreInvalidInput.java
+++ /dev/null
@@ -1,152 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.errors;
-
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generators.ecore.cst.AltRuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.ListRuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.RuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.SeqRuleCS;
-import org.eclipse.gymnast.generators.ecore.cst.TokenRuleCS;
-import org.eclipse.gymnast.runtime.core.parser.ParseError;
-
-public class Grammar2EcoreInvalidInput extends ParseError {
-
-	public static class EmptyTokenRule extends Grammar2EcoreInvalidInput {
-
-		public EmptyTokenRule(TokenRuleCS trCS) {
-			String nameText = trCS.name;
-			String message = "Empty token rule: " + nameText;
-			int rangeStart = trCS.tr.getRangeStart();
-			int rangeLength = trCS.tr.getRangeLength();
-			init(message, rangeStart, rangeLength);
-		}
-
-		public static class MultipleEntryRules extends Grammar2EcoreInvalidInput {
-
-			public MultipleEntryRules(RuleCS ruleCS) {
-				String nameText = ruleCS.name;
-				String message = "More than one [entry] rule : " + nameText;
-				int rangeStart = ruleCS.getRule().getRangeStart();
-				int rangeLength = ruleCS.getRule().getRangeLength();
-				init(message, rangeStart, rangeLength);
-			}
-		}
-
-		public static class RuleNameShadowsBuiltInToken extends Grammar2EcoreInvalidInput {
-			public RuleNameShadowsBuiltInToken(RuleCS rCS) {
-				String nameText = rCS.name;
-				String message = "The name of rule " + nameText + " shadows that of a built-in token.";
-				int rangeStart = rCS.getRule().getRangeStart();
-				int rangeLength = rCS.getRule().getRangeLength();
-				init(message, rangeStart, rangeLength);
-			}
-		}
-
-		public static class MalformedTokenRule extends Grammar2EcoreInvalidInput {
-
-			public MalformedTokenRule(TokenRuleCS trCS) {
-				String nameText = trCS.name;
-				String message = "A token rule ("
-						+ nameText
-						+ ") should consist only of primitive alternatives: constant keywords, other token rules, or built-in tokens (ID, STRING_LITERAL, CHAR_LITERAL, INT)";
-				int rangeStart = trCS.getRule().getRangeStart();
-				int rangeLength = trCS.getRule().getRangeLength();
-				init(message, rangeStart, rangeLength);
-			}
-		}
-
-		public static class RuleWithNameDuplicate extends Grammar2EcoreInvalidInput {
-
-			public RuleWithNameDuplicate(RuleCS rCS) {
-				String nameText = rCS.name;
-				String message = "Rule with name duplicate : " + nameText;
-				int rangeStart = rCS.getRule().getRangeStart();
-				int rangeLength = rCS.getRule().getRangeLength();
-				init(message, rangeStart, rangeLength);
-			}
-		}
-
-		public static class MalformedListRule extends Grammar2EcoreInvalidInput {
-
-			public MalformedListRule(ListRuleCS lrCS) {
-				String nameText = lrCS.name;
-				String message = "List rule " + nameText
-						+ " is rejected. It has one ore more of (a) a non-well-formed repeating item, "
-						+ "(b) a 2nd repeating item (if specified) different from the first, "
-						+ "(c) a list as repeating item, " + "(d) whose name shadows that of a built-in token";
-				int rangeStart = lrCS.getRule().getRangeStart();
-				int rangeLength = lrCS.getRule().getRangeLength();
-				init(message, rangeStart, rangeLength);
-			}
-		}
-
-		public static class MalformedAltRule extends Grammar2EcoreInvalidInput {
-
-			public MalformedAltRule(AltRuleCS lrCS) {
-				String nameText = lrCS.name;
-				String message = "Alt rule "
-						+ nameText
-						+ " is rejected. It has one or more of (a) an alternative whose name can't be resolved, "
-						+ "(b) one or more constituent alternative of list kind, "
-						+ "(c) an alt rule, when its constituents are recursively exploded, should contain two or more alternatives, "
-						+ "(d) mixed tokens and rules (seq, alt) among the alternatives, "
-						+ "(e) its name shadows that of a built-in token, "  
-						+ "(f) quoted keywords are allowed in token rules but not in alt rules.";
-				int rangeStart = lrCS.getRule().getRangeStart();
-				int rangeLength = lrCS.getRule().getRangeLength();
-				init(message, rangeStart, rangeLength);
-			}
-		}
-
-		public static class MalformedSeqRule extends Grammar2EcoreInvalidInput {
-
-			public MalformedSeqRule(SeqRuleCS srCS) {
-				String nameText = srCS.name;
-				String message = "Seq rule " + nameText
-						+ " is rejected. It has one or more of (a) a constituent whose name can't be resolved, "
-						+ "(b) duplicate fields, among the specified field names (they are optional), "
-						+ "(e) its name shadows that of a built-in token. "
-						+ "A SeqRule may contain optional lists, alternatives, sequences, and tokens.";
-				int rangeStart = srCS.getRule().getRangeStart();
-				int rangeLength = srCS.getRule().getRangeLength();
-				init(message, rangeStart, rangeLength);
-			}
-		}
-
-		public static class MissingGrammarOption extends GeneralMessage {
-
-			public MissingGrammarOption(String optionName) {
-				super("Missing grammar option : " + optionName);
-			}
-		}
-
-		public static class CoverageOfAltAndTokenRules extends GeneralMessage {
-
-			public CoverageOfAltAndTokenRules() {
-				super(
-						"Please check the source code of org.eclipse.gymnast.generators.ecore.convert.EcoreGeneratorFromGymnastGrammar. "
-								+ "For some reason method checkCoverageOfAltAndTokenRules() detected an error.");
-			}
-		}
-
-		public static class GeneralMessage extends Grammar2EcoreInvalidInput {
-
-			public GeneralMessage(String msg) {
-				String nameText = "";
-				String message = msg;
-				int rangeStart = 0;
-				int rangeLength = 1;
-				init(message, rangeStart, rangeLength);
-			}
-			
-			public GeneralMessage(String msg, String ruleName, Rule r) {
-				String nameText = "";
-				String message = msg + " in rule " + ruleName;
-				int rangeStart = r.getRangeStart();
-				int rangeLength = r.getRangeLength();
-				init(message, rangeStart, rangeLength);
-			}
-		}
-
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/errors/Grammar2EcoreParseWarning.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/errors/Grammar2EcoreParseWarning.java
deleted file mode 100644
index 7f5c187..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/errors/Grammar2EcoreParseWarning.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.errors;
-
-import org.eclipse.gymnast.runtime.core.parser.ParseWarning;
-
-public abstract class Grammar2EcoreParseWarning extends ParseWarning {
-
-	public static class GeneralWarning extends Grammar2EcoreParseWarning {
-
-		public GeneralWarning(String msg, int rangeStart, int rangeLength) {
-			init(msg, rangeStart, rangeLength);
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/walker/AltRuleKind.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/walker/AltRuleKind.java
deleted file mode 100644
index 6e4ffb6..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/walker/AltRuleKind.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.walker;
-
-public enum AltRuleKind {
-	
-	ABSTRACT_RK, CONTAINER_RK, INTERFACE_RK
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/walker/GymnastSwitch.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/walker/GymnastSwitch.java
deleted file mode 100644
index e1ed30a..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/walker/GymnastSwitch.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.walker;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.gymnast.generator.core.ast.AltRule;
-import org.eclipse.gymnast.generator.core.ast.CompUnit;
-import org.eclipse.gymnast.generator.core.ast.Grammar;
-import org.eclipse.gymnast.generator.core.ast.HeaderSection;
-import org.eclipse.gymnast.generator.core.ast.ListRule;
-import org.eclipse.gymnast.generator.core.ast.SeqRule;
-import org.eclipse.gymnast.generator.core.ast.SimpleExpr;
-import org.eclipse.gymnast.generator.core.ast.TokenRule;
-
-/**
- * An <code>abstract class</code> instead of an <code>interface</code> so
- * that those methods not necessary to override can be inherited.
- * 
- * @author Miguel Garcia, http://www.sts.tu-harburg.de/~mi.garcia/
- * 
- * @param <T>
- */
-public abstract class GymnastSwitch<T> {
-
-	public T handleRoot(CompUnit root, T resHeader, T resGrammar) {
-		return null;
-	}
-
-	public T handleHeader(HeaderSection headerSection, String languageName,
-			Map<String, String> resOptions) {
-		return null;
-	}
-
-	public T handleGrammar(Grammar grammar, List<T> resTokenRules,
-			List<T> resSeqRules, List<T> resAltRules, List<T> resListRules) {
-		return null;
-	}
-
-	public T handleTokenRule(TokenRule tr, String name, List<String> attrs,
-			List<String> alts) {
-		return null;
-	}
-
-	public T handleSeqRule(SeqRule sr, String name, List<String> attrs,
-			List<T> resSeqExprs) {
-		return null;
-	}
-
-	public T handleSimpleExprInRule(SeqRule sr, SimpleExpr se,
-			boolean isOptional, String optFieldName, String value,
-			List<String> attrs, int position) {
-		return null;
-	}
-
-	public T handleAltRule(AltRule ar, String name, List<String> alts,
-			List<String> attrs, List<T> resPreSeqs, List<T> resPostSeqs) {
-		return null;
-	}
-
-	public T handleListRule(ListRule lr, List<String> attrs, String name,
-			String e1, String separator, String opt_e2, int lowerBound,
-			String opt_FieldName1, String opt_FieldName2) {
-		return null;
-	}
-
-	public T handleSimpleExprInPreOrPostInAltRule(AltRule ar, SimpleExpr se, boolean isOptional, String optFieldName,
-			String value, List<String> attrs, int size) {
-		return null;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/walker/GymnastWalker.java b/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/walker/GymnastWalker.java
deleted file mode 100644
index df035e4..0000000
--- a/plugins/org.eclipse.gymnast.generators.ecore/src/org/eclipse/gymnast/generators/ecore/walker/GymnastWalker.java
+++ /dev/null
@@ -1,320 +0,0 @@
-package org.eclipse.gymnast.generators.ecore.walker;
-
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.Reader;
-import java.io.StringReader;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.gymnast.generator.core.ast.AltRule;
-import org.eclipse.gymnast.generator.core.ast.Alts;
-import org.eclipse.gymnast.generator.core.ast.Attrs;
-import org.eclipse.gymnast.generator.core.ast.CompUnit;
-import org.eclipse.gymnast.generator.core.ast.Expr;
-import org.eclipse.gymnast.generator.core.ast.Grammar;
-import org.eclipse.gymnast.generator.core.ast.HeaderSection;
-import org.eclipse.gymnast.generator.core.ast.Id;
-import org.eclipse.gymnast.generator.core.ast.ListRule;
-import org.eclipse.gymnast.generator.core.ast.OptSubSeq;
-import org.eclipse.gymnast.generator.core.ast.Option;
-import org.eclipse.gymnast.generator.core.ast.Seq;
-import org.eclipse.gymnast.generator.core.ast.SeqRule;
-import org.eclipse.gymnast.generator.core.ast.SimpleExpr;
-import org.eclipse.gymnast.generator.core.ast.TokenRule;
-import org.eclipse.gymnast.generator.core.parser.ParserDriver;
-import org.eclipse.gymnast.runtime.core.ast.ASTNode;
-import org.eclipse.gymnast.runtime.core.parser.ParseContext;
-
-/**
- * 
- * A GymnastWalker navigates the full Abstract Syntax Tree (AST) of a grammar.
- * It implements the accept operation of the Visitor pattern for a
- * GymnastASTNode object. In this way the accept operation need not be part of
- * GymnastASTNode. <br>
- * <br>
- * 
- * This walker navigates the grammar AST post-order: for each node children are
- * visited, and then those results as well as the current node are given to a
- * handler method. <br>
- * <br>
- * 
- * Users must subclass GymnastSwitch and call walk(grammarRoot, visitor) where
- * grammarRoot is of type org.eclipse.gymnast.generator.core.ast.CompUnit <br>
- * <br>
- * Example usage: <br>
- * <br>
- * 
- * <code>
- * class MyVisitor extends GrammarSwitch { .... }<br>
- *  
- * MyVisitor v = new MyVisitor (); <br>
- * GymnastWalker w = new GymnastWalker(); <br>
- * Object result = w.walk(myGrammar, v);<br>
- * </code>
- * 
- * <br>
- * <br>
- * See Also: GymnastSwitch
- * 
- * 
- * 
- * @author <a href="http://www.sts.tu-harburg.de/~mi.garcia/">Miguel Garcia</a>
- * 
- */
-public class GymnastWalker<T> {
-
-	public T walk(org.eclipse.gymnast.generator.core.ast.CompUnit root, GymnastSwitch<T> v) {
-		T resHeader = walkHeader(root.getHeaderSection(), v);
-		T resGrammar = walkGrammar(root.getGrammar(), v);
-		T res = v.handleRoot(root, resHeader, resGrammar);
-		return res;
-	}
-
-	/**
-	 * BufferedReader reader = new BufferedReader(new
-	 * InputStreamReader(context.getASTFile().getContents()));
-	 */
-	public T walk(Reader grammar, GymnastSwitch<T> v) {
-
-		ParserDriver parser = new ParserDriver();
-		ParseContext parseContext = parser.parse(grammar);
-
-		CompUnit parseRoot = (CompUnit) parseContext.getParseRoot();
-		if (parseRoot == null) {
-			return null;
-		}
-
-		return walk(parseRoot, v);
-	}
-
-	public T walkGrammarContents(String grammarContents, GymnastSwitch<T> v) {
-		StringReader sr = new StringReader(grammarContents);
-		return walk(sr, v);
-	}
-
-	public T walkFile(String fileLocation, GymnastSwitch<T> v) {
-		try {
-			FileReader fr = new FileReader(fileLocation);
-			return walk(fr, v);
-		} catch (FileNotFoundException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-			return null;
-		}
-	}
-
-	private T walkGrammar(Grammar grammar, GymnastSwitch<T> v) {
-		ASTNode[] rules = grammar.getChildren();
-		List<T> resTokenRules = new ArrayList<T>();
-		List<T> resSeqRules = new ArrayList<T>();
-		List<T> resAltRules = new ArrayList<T>();
-		List<T> resListRules = new ArrayList<T>();
-		for (ASTNode rule : rules) {
-			if (rule instanceof TokenRule) {
-				TokenRule tr = (TokenRule) rule;
-				resTokenRules.add(walkTokenRule(tr, v));
-			} else if (rule instanceof SeqRule) {
-				SeqRule sr = (SeqRule) rule;
-				resSeqRules.add(walkSeqRule(sr, v));
-			} else if (rule instanceof AltRule) {
-				AltRule ar = (AltRule) rule;
-				resAltRules.add(walkAltRule(ar, v));
-			} else if (rule instanceof ListRule) {
-				ListRule lr = (ListRule) rule;
-				resListRules.add(walkListRule(lr, v));
-			}
-		}
-		return v.handleGrammar(grammar, resTokenRules, resSeqRules, resAltRules, resListRules);
-	}
-
-	private T walkListRule(ListRule lr, GymnastSwitch<T> v) {
-		String name = lr.getDecl().getName().getText();
-		List<String> attrs = getAttrsIfAny(lr.getDecl().getAttrs());
-		SimpleExpr se1 = lr.getBody().getListExpr();
-		String opt_e1Name = unNullName(se1);
-		String e1 = se1.getValue().getText();
-		String separator = "";
-		if (lr.getBody().getSeparator() != null) {
-			separator = lr.getBody().getSeparator().getValue().getText();
-		}
-		String e2 = "";
-		SimpleExpr se2 = lr.getBody().getListExpr2();
-		String opt_e2Name = unNullName(se2);
-		if (se2 != null) {
-			e2 = se2.getValue().getText();
-		}
-		int lowerBound = lr.getBody().getListMark().getText().equals("+") ? 1 : 0;
-
-		return v.handleListRule(lr, attrs, name, e1, separator, e2, lowerBound, opt_e1Name, opt_e2Name);
-	}
-
-	private String unNullName(SimpleExpr se) {
-		String res = "";
-		if (se != null && se.getName() != null) {
-			res = se.getName().getText();
-		}
-		return res;
-	}
-
-	private T walkAltRule(AltRule ar, GymnastSwitch<T> v) {
-		String strKind = ar.getDecl().getKind().getText();
-		AltRuleKind k = AltRuleKind.ABSTRACT_RK;
-		if (strKind.equals("container")) {
-			k = AltRuleKind.CONTAINER_RK;
-		} else if (strKind.equals("interface")) {
-			k = AltRuleKind.INTERFACE_RK;
-		}
-		String name = ar.getDecl().getName().getText();
-		List<String> attrs = getAttrsIfAny(ar.getDecl().getAttrs());
-		List<String> alts = getAlts(ar.getBody().getAlts());
-		List<T> resPreSeqs = new ArrayList<T>();
-		List<T> resPostSeqs = new ArrayList<T>();
-		if (ar.getBody().getPreSeq() != null) {
-			Seq preSeq = ar.getBody().getPreSeq().getSeq();
-			for (org.eclipse.gymnast.runtime.core.ast.ASTNode c : preSeq.getChildren()) {
-				if (c instanceof Expr) {
-					Expr e = (Expr) c;
-					resPreSeqs.addAll(walkExprInPreOrPostSeqInAltRule(ar, true, e, v));
-				}
-			}
-		}
-		if (ar.getBody().getPostSeq() != null) {
-			Seq postSeq = ar.getBody().getPostSeq().getSeq();
-			for (org.eclipse.gymnast.runtime.core.ast.ASTNode c : postSeq.getChildren()) {
-				if (c instanceof Expr) {
-					Expr e = (Expr) c;
-					resPreSeqs.addAll(walkExprInPreOrPostSeqInAltRule(ar, true, e, v));
-				}
-			}
-		}
-		return v.handleAltRule(ar, name, alts, attrs, resPreSeqs, resPostSeqs);
-	}
-
-	private Collection<? extends T> walkExprInPreOrPostSeqInAltRule(AltRule ar, boolean isOptional, Expr e,
-			GymnastSwitch<T> v) {
-		isOptional = isOptional || (e instanceof OptSubSeq);
-		List<T> res = new ArrayList<T>();
-		if (e instanceof OptSubSeq) {
-			OptSubSeq optSubSeq = (OptSubSeq) e;
-			ASTNode[] nodes = optSubSeq.getSeq().getChildren();
-			for (ASTNode node : nodes) {
-				if (node instanceof Expr) {
-					Expr innerE = (Expr) node;
-					res.addAll(walkExprInPreOrPostSeqInAltRule(ar, isOptional, innerE, v));
-				}
-			}
-		} else {
-			SimpleExpr se = (SimpleExpr) e;
-			List<String> attrs = getAttrsIfAny(se.getAttrs());
-			String optFieldName = unNull(se.getName());
-			String value = se.getValue().getText();
-			res.add(v.handleSimpleExprInPreOrPostInAltRule(ar, se, isOptional, optFieldName, value, attrs, res.size()));
-		}
-		return res;
-	}
-
-	private T walkSeqRule(SeqRule sr, GymnastSwitch<T> v) {
-		String name = sr.getDecl().getName().getText();
-		List<String> attrs = getAttrsIfAny(sr.getDecl().getAttrs());
-		ASTNode[] exprNodes = sr.getBody().getChildren();
-		List<T> resSimpleExprs = new ArrayList<T>();
-		for (ASTNode node : exprNodes) {
-			if (node instanceof Expr) {
-				Expr e = (Expr) node;
-				resSimpleExprs.addAll(walkExprInSeqRule(sr, false, e, v));
-			}
-		}
-		return v.handleSeqRule(sr, name, attrs, resSimpleExprs);
-	}
-
-	private List<T> walkExprInSeqRule(SeqRule sr, boolean isOptional, Expr e, GymnastSwitch<T> v) {
-		isOptional = isOptional || (e instanceof OptSubSeq);
-		List<T> res = new ArrayList<T>();
-		if (e instanceof OptSubSeq) {
-			OptSubSeq optSubSeq = (OptSubSeq) e;
-			ASTNode[] nodes = optSubSeq.getSeq().getChildren();
-			for (ASTNode node : nodes) {
-				if (node instanceof Expr) {
-					Expr innerE = (Expr) node;
-					res.addAll(walkExprInSeqRule(sr, isOptional, innerE, v));
-				}
-			}
-		} else {
-			SimpleExpr se = (SimpleExpr) e;
-			List<String> attrs = getAttrsIfAny(se.getAttrs());
-			String optFieldName = unNull(se.getName());
-			String value = se.getValue().getText();
-			res.add(v.handleSimpleExprInRule(sr, se, isOptional, optFieldName, value, attrs, -1));
-		}
-		return res;
-	}
-
-	private String unNull(Id name) {
-		if (name == null) {
-			return "";
-		}
-		return name.getText();
-	}
-
-	private List<String> getAttrsIfAny(Attrs attrs) {
-		List<String> res = new ArrayList<String>();
-		if (attrs != null) {
-			if (attrs.getChild(1) != null) {
-				ASTNode[] attrNodes = attrs.getChild(1).getChildren();
-				for (ASTNode attrNode : attrNodes) {
-					String str = attrNode.getText();
-					if (str != null && !(",".equals(str)) && !("[".equals(str)) && !("]".equals(str))) {
-						res.add(attrNode.getText());
-					}
-				}
-			}
-		}
-		return res;
-	}
-
-	private T walkTokenRule(TokenRule tr, GymnastSwitch<T> v) {
-		String tokenRuleName = tr.getDecl().getName().getText();
-		List<String> attrs = getAttrsIfAny(tr.getDecl().getAttrs());
-		List<String> alts = getAlts(tr.getBody());
-		return v.handleTokenRule(tr, tokenRuleName, attrs, alts);
-	}
-
-	private List<String> getAlts(Alts body) {
-		ASTNode[] altNodes = body.getChildren();
-		List<String> alts = new ArrayList<String>();
-		for (ASTNode altNode : altNodes) {
-			if (altNode instanceof SimpleExpr) {
-				SimpleExpr alt = (SimpleExpr) altNode;
-				String str = alt.getValue().getText();
-				alts.add(str);
-			}
-		}
-		return alts;
-	}
-
-	private T walkHeader(HeaderSection headerSection, GymnastSwitch<T> v) {
-		String languageName = headerSection.getName().getText();
-		Map<String, String> resOptions = new HashMap<String, String>();
-		if (headerSection.getOptionsSection() != null) {
-			ASTNode[] opts = headerSection.getOptionsSection().getOptionList().getChildren();
-			for (ASTNode child : opts) {
-				if (child instanceof Option) {
-					Option opt = (Option) child;
-					String optName = opt.getName().getText();
-					String optValue = opt.getValue().getText();
-					/*
-					 * FIXME only the last of a set of duplicate options is
-					 * kept, the others are overwritten silently
-					 */
-					resOptions.put(optName, optValue);
-				}
-			}
-		}
-		return v.handleHeader(headerSection, languageName, resOptions);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/.classpath b/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/.project b/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/.project
deleted file mode 100644
index 6f32ab1..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generators.embeddeddsl.ui</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 9e08230..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Sat May 10 22:07:39 CEST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 8e174a5..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.eclipse.gymnast.generators.embeddeddsl.ui (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.generators.embeddeddsl.ui;singleton:=true
-Bundle-Version: 0.9.0
-Bundle-Activator: org.eclipse.gymnast.generators.embeddeddsl.ui.Activator
-Bundle-Vendor: org.eclipse.gymnast.generators.embeddeddsl
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.core.resources;bundle-version="3.3.0",
- org.eclipse.gymnast.generators.embeddeddsl;bundle-version="1.0.0",
- org.eclipse.ui.editors;bundle-version="3.2.0"
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Eclipse-LazyStart: true
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/build.properties b/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/build.properties
deleted file mode 100644
index e9863e2..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/icons/obj16/gymnast.gif b/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/icons/obj16/gymnast.gif
deleted file mode 100644
index 4771987..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/icons/obj16/gymnast.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/plugin.xml b/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/plugin.xml
deleted file mode 100644
index 386fb6b..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
-   <extension
-         point="org.eclipse.ui.popupMenus">
-      <objectContribution
-            id="org.eclipse.gymnast.generators.embeddeddsl.ui.actions.GenerateEDSL"
-            nameFilter="*.genmodel"
-            objectClass="org.eclipse.core.resources.IFile">
-         <action
-               class="org.eclipse.gymnast.generators.embeddeddsl.ui.actions.GenerateEDSLFromGenModel"
-               icon="icons/obj16/gymnast.gif"
-               id="org.eclipse.gymnast.generators.embeddeddsl.ui.actions.GenerateEDSLFromGenModel"
-               label="Generate Embedded DSL"
-               menubarPath="additions">
-         </action>
-      </objectContribution>
-   </extension>
-
-
-</plugin>
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/src/org/eclipse/gymnast/generators/embeddeddsl/ui/Activator.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/src/org/eclipse/gymnast/generators/embeddeddsl/ui/Activator.java
deleted file mode 100644
index ba4304b..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/src/org/eclipse/gymnast/generators/embeddeddsl/ui/Activator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.ui;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.gymnast.generators.embeddeddsl.ui";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/src/org/eclipse/gymnast/generators/embeddeddsl/ui/actions/GenerateEDSLFromGenModel.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/src/org/eclipse/gymnast/generators/embeddeddsl/ui/actions/GenerateEDSLFromGenModel.java
deleted file mode 100644
index a18c484..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/src/org/eclipse/gymnast/generators/embeddeddsl/ui/actions/GenerateEDSLFromGenModel.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.ui.actions;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.gymnast.generators.embeddeddsl.EDSLGenerator;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.ui.IObjectActionDelegate;
-import org.eclipse.ui.IWorkbenchPart;
-
-public class GenerateEDSLFromGenModel implements IObjectActionDelegate {
-
-	private IFile _file;
-	private GenerateEDSLFromGenModelJob _job;
-
-	public void setActivePart(IAction action, IWorkbenchPart targetPart) {
-	}
-
-	public void selectionChanged(IAction action, ISelection selection) {
-		_file = null;
-
-		if (selection instanceof IStructuredSelection) {
-			IStructuredSelection sel = (IStructuredSelection) selection;
-			Object selElem = sel.getFirstElement();
-			if (selElem instanceof IFile) {
-				_file = (IFile) selElem;
-			}
-		}
-	}
-
-	public void run(IAction action) {
-		if ((_file != null) && (_job == null)) {
-			_job = new GenerateEDSLFromGenModelJob();
-			_job.schedule();
-		}
-	}
-
-	private class GenerateEDSLFromGenModelJob extends Job {
-		private GenerateEDSLFromGenModelJob() {
-			super("Generating Embedded DSL for " + _file.getName());
-		}
-
-		protected IStatus run(IProgressMonitor monitor) {
-
-			if (!problemMarkers()) {
-				EDSLGenerator generator = new EDSLGenerator();
-				generator.generate(_file, monitor);
-			}
-
-			_job = null;
-			return Status.OK_STATUS;
-		}
-
-		private boolean problemMarkers() {
-			IFile genModelFile = _file;
-			IPath genModelPath = genModelFile.getFullPath();
-			ResourceSet resourceSet = new ResourceSetImpl();
-			String gps = genModelPath.toString();
-			URI genModelURI = URI.createPlatformResourceURI(gps, true);
-			Resource r = resourceSet.getResource(genModelURI, true);
-			GenModel genModel = (GenModel) r.getContents().get(0);
-			// EcoreUtil.resolveAll(resourceSet);
-			IStatus status = genModel.validate();
-			UtilMarkers.clearMarkers(genModelFile);
-			boolean areThereProblems = status.getChildren().length > 0;
-			if (areThereProblems) {
-				UtilMarkers.createProblemMarker(status, genModelFile, 0, null);
-			}
-			return areThereProblems;
-		}
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/src/org/eclipse/gymnast/generators/embeddeddsl/ui/actions/UtilMarkers.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/src/org/eclipse/gymnast/generators/embeddeddsl/ui/actions/UtilMarkers.java
deleted file mode 100644
index b454d6d..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl.ui/src/org/eclipse/gymnast/generators/embeddeddsl/ui/actions/UtilMarkers.java
+++ /dev/null
@@ -1,77 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.ui.actions;
-
-import java.util.HashMap;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.texteditor.MarkerUtilities;
-
-public class UtilMarkers {
-
-	public static void createProblemMarker(IStatus st, IFile genModelFile, int howManyMarkersSoFar, String parentMsg) {
-		if (howManyMarkersSoFar > 100) {
-			return;
-		}
-		if (st.isOK()) {
-			return;
-		}
-		String newParentMsg = st.getMessage();
-		if (parentMsg != null && !parentMsg.equals("")) {
-			newParentMsg = parentMsg + ". " + newParentMsg;
-		}
-		if (st.isMultiStatus()) {
-			for (IStatus status : st.getChildren()) {
-				createProblemMarker(status, genModelFile, howManyMarkersSoFar, newParentMsg);
-			}
-		} else{
-			int stsv = st.getSeverity();
-			boolean isWarning = stsv != IStatus.CANCEL && stsv != IStatus.ERROR;
-			// FIXME how to determine start and offset 
-			int offset = 0;
-			int length = 1;
-			String msg = newParentMsg;
-			createMarker(genModelFile, isWarning, msg, offset, length);
-			System.out.println(st.getMessage());
-			howManyMarkersSoFar++;
-		}
-	}
-
-	private static void createMarker(IFile file, boolean isWarning, String message, int offset, int length) {
-
-		HashMap<String, Object> map = new HashMap<String, Object>();
-
-		map.put(IMarker.MESSAGE, message);
-
-		if (isWarning) {
-			map.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_WARNING));
-		} else {
-			map.put(IMarker.SEVERITY, new Integer(IMarker.SEVERITY_ERROR));
-		}
-
-		map.put(IMarker.CHAR_START, new Integer(offset));
-		map.put(IMarker.CHAR_END, new Integer(offset + length));
-		map.put(IMarker.TRANSIENT, new Boolean(true));
-
-		try {
-			MarkerUtilities.createMarker(file, map, getMarkerType());
-		} catch (CoreException ex) {
-			ex.printStackTrace();
-		}
-	}
-
-	public static void clearMarkers(final IFile file) {
-		try {
-			file.deleteMarkers(getMarkerType(), true, IResource.DEPTH_INFINITE);
-		} catch (Exception ex) {
-			ex.printStackTrace();
-		}
-	}
-
-	public static String getMarkerType() {
-		return IMarker.PROBLEM;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/.classpath b/plugins/org.eclipse.gymnast.generators.embeddeddsl/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/.project b/plugins/org.eclipse.gymnast.generators.embeddeddsl/.project
deleted file mode 100644
index 7be0526..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generators.embeddeddsl</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.gymnast.generators.embeddeddsl/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 80c7d55..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Sat May 10 22:08:41 CEST 2008
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/META-INF/MANIFEST.MF b/plugins/org.eclipse.gymnast.generators.embeddeddsl/META-INF/MANIFEST.MF
deleted file mode 100644
index 695cbad..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: org.eclipse.gymnast.generators.embeddeddsl (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.generators.embeddeddsl
-Bundle-Version: 1.0.0
-Bundle-Activator: org.eclipse.gymnast.generators.embeddeddsl.activator.Activator
-Bundle-Vendor: Miguel Garcia, http://www.sts.tu-harburg.de/~mi.garcia/
-Require-Bundle: org.eclipse.core.runtime;visibility:=reexport,
- org.eclipse.core.resources;bundle-version="3.3.0";visibility:=reexport,
- org.eclipse.emf.codegen.ecore;bundle-version="2.3.0";visibility:=reexport,
- org.eclipse.emf.ecore.xmi;bundle-version="2.3.0";visibility:=reexport
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.gymnast.generators.embeddeddsl,
- org.eclipse.gymnast.generators.embeddeddsl.templates
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/build.properties b/plugins/org.eclipse.gymnast.generators.embeddeddsl/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/EDSLGenerator.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/EDSLGenerator.java
deleted file mode 100644
index 365af11..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/EDSLGenerator.java
+++ /dev/null
@@ -1,88 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl;
-
-import java.io.ByteArrayInputStream;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IWorkspaceRoot;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.gymnast.generators.embeddeddsl.templates.ExprBuilder;
-
-public class EDSLGenerator {
-
-	private void generateInner(IFile genModelFile, IProgressMonitor monitor) throws CoreException {
-		IPath genModelPath = genModelFile.getFullPath();
-		ResourceSet resourceSet = new ResourceSetImpl();
-		String gps = genModelPath.toString();
-		URI genModelURI = URI.createPlatformResourceURI(gps, true);
-		Resource r = resourceSet.getResource(genModelURI, true);
-		GenModel genModel = (GenModel) r.getContents().get(0);
-		// EcoreUtil.resolveAll(resourceSet);
-		IStatus status = genModel.validate();
-		/*
-		 * problem markers are added in the accompanying ui plugin, in class
-		 * GenerateEDSLFromGenModel
-		 */
-		if (status.getChildren().length > 0) {
-			return;
-		}
-		ExprBuilder eb = new ExprBuilder(genModel);
-		String exprBuilderText = eb.toString();
-		String exprBuilderFilePath = getExprBuilderFilePath(genModelFile, eb._javaClassName);
-		writeStringToIPath(exprBuilderFilePath, exprBuilderText);
-	}
-
-	private String getExprBuilderFilePath(IFile f, String fileName) {
-		IPath p = f.getFullPath().removeFileExtension().removeLastSegments(1);
-		p = p.append(fileName).addFileExtension("java");
-		String filePath = p.toString();
-		return filePath;
-	}
-
-	private void writeStringToIPath(String outFilePath, String fileText) throws CoreException {
-		IWorkspaceRoot workspaceRoot = ResourcesPlugin.getWorkspace().getRoot();
-		IPath path = new Path(outFilePath);
-		IFile outFile = workspaceRoot.getFile(path);
-		java.io.InputStream in = new ByteArrayInputStream(fileText.getBytes());
-		if (outFile.exists())
-			outFile.setContents(in, true, false, null);
-		else
-			outFile.create(in, true, null);
-	}
-
-	/**
-	 * Generates the expression builder java file by writing it in the same
-	 * folder as the first parameter.
-	 * 
-	 * @param _genModelFile
-	 * @param monitor
-	 */
-	public void generate(IFile _genModelFile, IProgressMonitor monitor) {
-		try {
-			generateInner(_genModelFile, monitor);
-		} catch (Exception e) {
-			org.eclipse.gymnast.generators.embeddeddsl.activator.Activator.getDefault().logError(this.getClass().getName(), e);
-		}
-	}
-
-	/**
-	 * @return the filename without extension
-	 */
-	public static String fileNameNoExt(IFile _file) {
-		String fileExt = _file.getFileExtension();
-		int extLen = fileExt != null ? fileExt.length() + 1 : 0;
-		String fileNameWithExt = _file.getName();
-		String fileNameWithoutExt = fileNameWithExt.substring(0, fileNameWithExt.length() - extLen);
-		return fileNameWithoutExt;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/GymnastGeneratorUtil.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/GymnastGeneratorUtil.java
deleted file mode 100644
index 40fadbb..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/GymnastGeneratorUtil.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.embeddeddsl;
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class GymnastGeneratorUtil {
-	
-	//
-	// Helpers for string manipulation scenarios
-	//
-	
-	public static String removeSurroundingQuotes(String text) {
-		return text.replaceAll("\"", "");
-	}
-	
-	/**
-	 * Uppercase the first letter of the name to make a good Java class
-	 * name (so "myName" -> "MyName")
-	 * @param name name to be uppercased
-	 * @return name with first character uppercased
-	 */
-	public static String toUppercaseName(String name) {
-		String val;
-		char firstChar = Character.toUpperCase(name.charAt(0));
-		if (name.length() > 1) {
-			val = firstChar + name.substring(1);
-		}
-		else {
-			val = Character.toString(firstChar);
-		}
-		return val;
-	}
-	
-	/**
-	 * Lowercase the first letter of the name to make a good Antlr rule
-	 * name (so "MyName" -> "myName")
-	 * @param name name to be lowercased
-	 * @return name with first character lowercased
-	 */
-	public static String toLowercaseName(String name) {
-		String val;
-		char firstChar = Character.toLowerCase(name.charAt(0));
-		if (name.length() > 1) {
-			val = firstChar + name.substring(1);
-		}
-		else {
-			val = Character.toString(firstChar);
-		}
-		return val;
-	}
-	
-	/**
-	 * Find all of the uppercase letters in the name and return a new
-	 * String with just those letters lowercased (so "MyName" -> "mn")
-	 * If there are no uppercase letters in the input String then return
-	 * the input String.
-	 * @param name name to be abbreviated
-	 * @return abbreviated name
-	 */
-	public static String toAbbreviatedName(String name) {
-		StringBuffer sb = new StringBuffer();
-		for (int i = 0; i < name.length(); i++) {
-			char c = name.charAt(i);
-			if (Character.isUpperCase(c)) {
-				sb.append(Character.toLowerCase(c));
-			}
-		}
-		if (sb.length() == 0) return name;
-		else return sb.toString();
-		
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/MyEcoreUtil.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/MyEcoreUtil.java
deleted file mode 100644
index 187ab9b..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/MyEcoreUtil.java
+++ /dev/null
@@ -1,337 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl;
-
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.emf.codegen.ecore.generator.Generator;
-import org.eclipse.emf.codegen.ecore.genmodel.GenJDKLevel;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModelFactory;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModelPackage;
-import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
-import org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter;
-import org.eclipse.emf.common.util.BasicMonitor;
-import org.eclipse.emf.common.util.Diagnostic;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EEnumLiteral;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EOperation;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
-import org.eclipse.emf.ecore.util.Diagnostician;
-import org.eclipse.emf.ecore.util.EcoreUtil;
-import org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl;
-
-public class MyEcoreUtil {
-
-	public static boolean isWellFormed(EObject root) {
-		Diagnostician diagnostician = new Diagnostician();
-		final Diagnostic diagnostic = diagnostician.validate(root);
-		boolean res = diagnostic.getSeverity() == Diagnostic.OK;
-		return res;
-	}
-
-	public static <T extends EObject> T clone(T input) {
-		EcoreUtil.Copier copier = new EcoreUtil.Copier();
-		T cloned = (T) (copier.copy(input));
-		copier.copyReferences();
-		return cloned;
-	}
-
-	public static GenModel generateGenModel(IPath genModelPath,
-			EPackage ePackage, String basePackage, String prefix, IProject proj)
-			throws IOException {
-		ResourceSet resourceSet = new ResourceSetImpl();
-		URI genModelURI = URI.createFileURI(genModelPath.toString());
-		Resource genModelResource = Resource.Factory.Registry.INSTANCE
-				.getFactory(genModelURI).createResource(genModelURI);
-		GenModel genModel = GenModelFactory.eINSTANCE.createGenModel();
-		genModelResource.getContents().add(genModel);
-		resourceSet.getResources().add(genModelResource);
-		genModel.setModelDirectory("/" + proj.getName() + "/src");
-		genModel.getForeignModel().add(ePackage.getName());
-		genModel.initialize(Collections.singleton(ePackage));
-		genModel.setComplianceLevel(GenJDKLevel.JDK50_LITERAL);
-		GenPackage genPackage = (GenPackage) genModel.getGenPackages().get(0);
-		genModel.setModelName(genModelURI.trimFileExtension().lastSegment()
-				+ "GenModel");
-		genPackage.setPrefix(prefix);
-		genPackage.setBasePackage(basePackage);
-		genModelResource.save(Collections.EMPTY_MAP);
-		return genModel;
-	}
-
-	public static EClass newClass(EPackage ownerPackage, String name,
-			boolean isAbstract, EClass eSuper) {
-		EClass c = EcoreFactory.eINSTANCE.createEClass();
-		c.setName(capitalized(name));
-		c.setAbstract(isAbstract);
-		c.setInterface(isAbstract);
-		if (eSuper != null) {
-			c.getESuperTypes().add(eSuper);
-		}
-		if (ownerPackage != null) {
-			ownerPackage.getEClassifiers().add(c);
-		}
-		return c;
-	}
-
-	private static String capitalized(String str) {
-		String res = str.substring(0, 1).toUpperCase() + str.substring(1);
-		return res;
-	}
-
-	public static EPackage newPackage(EList<? super EPackage> contents,
-			String name, String ns) {
-		EPackage ePackage = EcoreFactory.eINSTANCE.createEPackage();
-		ePackage.setName(name);
-		ePackage.setNsPrefix(ns);
-		ePackage.setNsURI(ns);
-		contents.add(ePackage);
-		return ePackage;
-	}
-
-	public static String nonCollidingName(String suggestedName, EPackage eP) {
-		String newName = suggestedName;
-		int counter = 2;
-		while (eP.getEClassifier(newName) != null) {
-			newName = suggestedName + counter;
-			counter++;
-		}
-		return newName;
-	}
-
-	public static String nonCollidingName(String suggestedName, EClass eC) {
-		String newName = suggestedName;
-		int counter = 2;
-		while (eC.getEStructuralFeature(newName) != null) {
-			newName = suggestedName + counter;
-			counter++;
-		}
-		return newName;
-	}
-
-	public static EClass newContainerOf(EPackage ownerPackage, String name,
-			EClass itemType, int lowerBound, int upperBound) {
-		EClass res = newClass(ownerPackage, name, false, null);
-		EReference eR = EcoreFactory.eINSTANCE.createEReference();
-		eR.setLowerBound(lowerBound);
-		eR.setUpperBound(upperBound);
-		eR.setContainment(true);
-		eR.setEType(itemType);
-		String itemsName = GymnastGeneratorUtil.toLowercaseName(itemType.getName()) + "s";
-		eR.setName(itemsName);
-		res.getEStructuralFeatures().add(eR);
-		return res;
-	}
-
-	/*
-	 * private static String firstLowercase(String name) { String res =
-	 * name.substring(0, 1).toLowerCase(); if (name.length() > 1) { res +=
-	 * name.substring(1); } return res; }
-	 */
-	public static EAttribute newAttribute(String name, EClass ownerClass,
-			EClassifier type) {
-		name = GymnastGeneratorUtil.toLowercaseName(name);
-		name = nonCollidingName(name, ownerClass);
-		EAttribute eA = EcoreFactory.eINSTANCE.createEAttribute();
-		eA.setName(name);
-		ownerClass.getEStructuralFeatures().add(eA);
-		eA.setEType(type);
-		return eA;
-	}
-
-	public static EReference newReference(String name, EClass ownerClass,
-			EClass type) {
-		name = GymnastGeneratorUtil.toLowercaseName(name);
-		name = nonCollidingName(name, ownerClass);
-		EReference eR = EcoreFactory.eINSTANCE.createEReference();
-		eR.setName(name);
-		ownerClass.getEStructuralFeatures().add(eR);
-		eR.setEType(type);
-		return eR;
-	}
-
-	public static void genJavaFromGenModel(GenModel genModel) {
-		genModel.setCanGenerate(true);
-
-		// Create the generator and set the model-level input object.
-		Generator generator = new Generator();
-		generator.setInput(genModel);
-
-		// Generator model code.
-		generator.generate(genModel,
-				GenBaseGeneratorAdapter.MODEL_PROJECT_TYPE,
-				new BasicMonitor.Printing(System.out));
-	}
-
-	public static EEnum newEnum(EPackage ownerPackage, String suggestedName,
-			List<String> values) {
-		String newName = nonCollidingName(capitalized(suggestedName),
-				ownerPackage);
-		EEnum e = EcoreFactory.eINSTANCE.createEEnum();
-		e.setName(newName);
-		ownerPackage.getEClassifiers().add(e);
-		int incr = 0;
-		for (String s : values) {
-			EEnumLiteral eL = EcoreFactory.eINSTANCE.createEEnumLiteral();
-			eL.setName(s);
-			eL.setValue(incr++);
-			e.getELiterals().add(eL);
-		}
-		return e;
-	}
-
-	public static List<EClass> getSubTypesOfInPackage(EClass eC, EPackage eP) {
-		List<EClass> res = new ArrayList<EClass>();
-		for (EClassifier cand : eP.getEClassifiers()) {
-			if (cand instanceof EClass) {
-				if (!(eC.equals(cand)) && eC.isSuperTypeOf((EClass) cand)) {
-					res.add((EClass) cand);
-				}
-			}
-		}
-		return res;
-	}
-
-	public static List<EClass> getSubTypesOf(EClass eC) {
-		EPackage rootP = eC.getEPackage();
-		while (rootP.getESuperPackage() != null) {
-			rootP = rootP.getESuperPackage();
-		}
-		List<EClass> res = new ArrayList<EClass>();
-		getSubTypesOfInner(eC, rootP, res);
-		return res;
-	}
-
-	private static void getSubTypesOfInner(EClass eC, EPackage eP,
-			List<EClass> subTypesSoFar) {
-		subTypesSoFar.addAll(getSubTypesOfInPackage(eC, eP));
-		for (EPackage subP : eP.getESubpackages()) {
-			getSubTypesOfInner(eC, subP, subTypesSoFar);
-		}
-	}
-
-	/*
-	 * derived from GenModelPackage source annotation, which results in one
-	 * operation has at most one annotation body
-	 */
-	public static final String BODY_ANNOTATION_SOURCE = GenModelPackage.eNS_URI;
-
-	public static EAnnotation newAnnotation(EModelElement object,
-			String source, String key, String value) {
-
-		EAnnotation eAnnotation = object.getEAnnotation(source);
-		if (eAnnotation != null && !eAnnotation.getDetails().isEmpty()) {
-			String prevValue = eAnnotation.getDetails().get(0).getValue();
-			String currValue = prevValue + "\n" + value;
-			eAnnotation.getDetails().get(0).setValue(currValue);
-		} else {
-			eAnnotation = EcoreFactory.eINSTANCE.createEAnnotation();
-			eAnnotation.setSource(source);
-			eAnnotation.getDetails().put(key, value);
-		}
-		object.getEAnnotations().add(eAnnotation);
-		return eAnnotation;
-	}
-
-	public static String getEcoreFQN(EClassifier eC) {
-		String res = eC.getName();
-		EPackage eP = eC.getEPackage();
-		while (eP != null) {
-			res = eP.getName() + "." + res;
-			eP = eP.getESuperPackage();
-		}
-		return res;
-	}
-
-	public static String getEcoreFQN(EStructuralFeature eSF) {
-		String res = getEcoreFQN(eSF.getEContainingClass());
-		res += "." + eSF.getName();
-		return res;
-	}
-
-	/**
-	 * Cut&pasted from the online article Discover the Eclipse Modeling
-	 * Framework (EMF) and Its Dynamic Capabilities
-	 * http://www.devx.com/Java/Article/29093/1763/page/2
-	 * 
-	 * @param fileLocation
-	 * @param rootPackage
-	 * @return
-	 * @throws IOException
-	 */
-	public static Resource serializeEcoreToFile(String fileLocation,
-			EPackage rootPackage) throws IOException {
-
-		// create resource set and resource
-		ResourceSet resourceSet = new ResourceSetImpl();
-
-		// Register Ecore resource factory
-		resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap()
-				.put("ecore", new EcoreResourceFactoryImpl());
-
-		Resource resource = resourceSet.createResource(URI
-				.createFileURI(fileLocation));
-		// add the root object to the resource
-		resource.getContents().add(rootPackage);
-		// serialize resource – you can specify also serialization
-		// options
-		resource.save(null);
-
-		return resource;
-
-	}
-
-	public static EOperation newOperation(String suggestedName,
-			EClass ownerClass, EClassifier returnType) {
-		String newName = nonCollidingName(suggestedName, ownerClass);
-		EOperation op = EcoreFactory.eINSTANCE.createEOperation();
-		op.setName(GymnastGeneratorUtil.toLowercaseName(newName));
-		ownerClass.getEOperations().add(op);
-		if (returnType != null) {
-			op.setEType(returnType);
-		}
-		return op;
-	}
-
-	public static EPackage loadEcoreFile(IFile ecoreFile) {
-		ResourceSetImpl resourceSet = new ResourceSetImpl();
-		String ecoreFilePath = ecoreFile.getFullPath().toString();
-		URI uri = URI.createPlatformResourceURI(ecoreFilePath);
-		Resource ecoreResource = resourceSet.getResource(uri, true);
-		if (ecoreResource.getContents().size() > 1) {
-			final EPackage top = EcoreFactory.eINSTANCE.createEPackage();
-			top.setName("top");
-			top.setNsPrefix("top");
-			top.setNsURI("top");
-			for (EObject oldTop : ecoreResource.getContents()) {
-				if (oldTop instanceof EPackage) {
-					top.getESubpackages().add((EPackage) oldTop);
-				}
-			}
-			ecoreResource.getContents().clear();
-			ecoreResource.getContents().add(top);
-		}
-		EPackage mainPackage = (EPackage) ecoreResource.getContents().get(0);
-		return mainPackage;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/activator/Activator.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/activator/Activator.java
deleted file mode 100644
index c2dee96..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/activator/Activator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.activator;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.gymnast.generators.embeddeddsl";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-	
-	public void logError(String className, Exception exception) {
-		this.getLog().
-				log(
-					new Status(IStatus.ERROR,
-						this.getBundle().getSymbolicName(),
-						IStatus.ERROR, "Error detected in class: " + className,
-						exception)
-				);
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/BeingBuilt.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/BeingBuilt.java
deleted file mode 100644
index c8aaa72..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/BeingBuilt.java
+++ /dev/null
@@ -1,254 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.templates;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.emf.codegen.ecore.genmodel.GenClass;
-import org.eclipse.emf.codegen.ecore.genmodel.GenClassifier;
-import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
-import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
-import org.eclipse.emf.ecore.EClass;
-
-public class BeingBuilt {
-
-	boolean isProgressiveInterface;
-
-	private List<Modder> modders = new ArrayList<Modder>();
-
-	private final String _methodName;
-	private final EClass _eC;
-	private final GenClass _gC;
-	final String _beingBuiltClassName;
-	final String _factoryFQN;
-
-	protected ExprBuilder exprBuilder;
-
-	public BeingBuilt(GenClass gC) {
-		_gC = gC;
-		_eC = (EClass) gC.getEcoreClassifier();
-		_beingBuiltClassName = _eC.getName() + "BeingBuilt";
-
-		String factoryInstanceName = gC.getGenPackage().getFactoryInstanceName();
-		_factoryFQN = getJavaFQN(gC.getGenPackage()) + "." + gC.getGenPackage().getFactoryInterfaceName() + "." + factoryInstanceName;
-
-		for (GenFeature gSF : _gC.getAllGenFeatures()) {
-			if (gSF.isChangeable() && !gSF.isDerived() && !gSF.isMapType() && !gSF.isSuppressedSetVisibility() && !gSF.isContainer()) {
-				Modder m = Modder.chooseModderFor(gSF);
-				addModder(m);
-			}
-		}
-
-		_methodName = ExprBuilder.toLowercaseName(_eC.getName());
-
-		for (Batch batch : getBatches()) {
-			for (Modder m : batch.modders) {
-				m.myBatch = batch;
-			}
-		}
-	}
-
-	static String getJavaFQN(GenPackage gP) {
-		
-		final String strBP = gP.getBasePackage();
-		String gPName = gP.getEcorePackage().getName();
-		String res = strBP == null ? gPName : (strBP + "." + gPName);
-		return res; 
-		
-//		String res = "";
-//		GenPackage tP = gP;
-//		boolean notLooped = true;
-//		while (tP != null) {
-//			res = tP.getEcorePackage().getName() + (notLooped ? "" : "." + res);
-//			notLooped = false;
-//			tP = tP.getSuperGenPackage();
-//		}
-//		if (gP.getBasePackage() != null) {
-//			res = basePackageWithoutRoot + "." + res;
-//		}
-//		return res;
-	}
-
-	public static String getJavaFQN(GenClassifier gC) {
-		String localName = gC.getEcoreClassifier().getName();
-		String jFQN = getJavaFQN(gC.getGenPackage()) + "." + localName;
-		return jFQN;
-	}
-
-	void addModder(Modder m) {
-		modders.add(m);
-		m.beingBuilt = this;
-	}
-
-	private static final String newLine = System.getProperty("line.separator");
-
-	/**
-	 * method that returns the ExprBeingBuilt for this seqRule
-	 */
-	String toStringMethod() {
-		List<Batch> batches = getBatches();
-		String returnType = batches.size() > 0 ? batches.get(0).interfaceName : _beingBuiltClassName;
-		String res = String.format("public static %1s %2s() {", returnType, _methodName);
-		String jInstantiate = String.format("%1s.create%2s()", _factoryFQN, ExprBuilder.toUppercaseName(_eC.getName()));
-		String jInvokeConstructor = String.format("new %1s ( %2s )", _beingBuiltClassName, jInstantiate);
-		res += newLine + "return " + jInvokeConstructor + "; ";
-		res += newLine + "}";
-		return res;
-	}
-
-	private List<Batch> getBatches() {
-		boolean lumpTogether = Modder.annotationHasKeyValue(_gC, "progressiveInterface", false);
-		// lumpTogether = true;
-		List<Batch> batches = new ArrayList<Batch>();
-		Iterator<Modder> iM = modders.iterator();
-		int count = 0;
-		Batch currentBatch = new Batch(_beingBuiltClassName, count);
-		while (iM.hasNext()) {
-			Modder m = (Modder) iM.next();
-			currentBatch.modders.add(m);
-			if (!lumpTogether) {
-				boolean cond1 = !iM.hasNext();
-				boolean cond2 = !m.eSF.isUnsettable() && m.eSF.getLowerBound() != 0;
-				if (cond1 || cond2 || m.eSF.isMany()) {
-					batches.add(currentBatch);
-					if (iM.hasNext()) {
-						count++;
-						currentBatch = new Batch(_beingBuiltClassName, count);
-					}
-				}
-			}
-		}
-		if (lumpTogether) {
-			batches.add(currentBatch);
-		}
-		if (batches.size() == 1) {
-			batches.get(0).interfaceName = _beingBuiltClassName;
-			batches.get(0).returnInterfaceName = _beingBuiltClassName;
-		}
-		return batches;
-	}
-
-	static class Batch {
-		public Batch(String beingBuiltClassName, int count) {
-			interfaceName = beingBuiltClassName + count;
-			returnInterfaceName = beingBuiltClassName + (count + 1);
-		}
-
-		public String interfaceName;
-		public String returnInterfaceName;
-		public List<Modder> modders = new ArrayList<Modder>();
-
-		public boolean areAllModdersOptional() {
-			for (Modder m : modders) {
-				if (m.eSF.isMany()) {
-					return false;
-				}
-				if (m.eSF.isUnsettable() == false && m.eSF.getLowerBound() > 0) {
-					return false;
-				}
-			}
-			return true;
-		}
-
-		public String toStringInterface(boolean amILastBatch) {
-
-			String res = "public interface " + interfaceName + " {";
-			for (Modder m : modders) {
-				res += newLine + m.signatureDecl();
-			}
-			if (areAllModdersOptional() && amILastBatch) {
-				/*
-				 * if all modders are optional, then toAST() will also be part
-				 * of this interface, therefore we don't right now close the
-				 * interface declaration by adding a right curly brace.
-				 */
-
-				res += newLine + "/* allModdersAreOptional */";
-			} else {
-				res += newLine + "}";
-			}
-			return res;
-		}
-	}
-
-	String toStringInnerClass() {
-		List<Batch> batches = getBatches();
-		String jTypeMyExpr = getJavaFQN(_gC);
-
-		String res = newLine + "public static class " + _beingBuiltClassName + " ";
-		if (batches.size() > 1) {
-			res += " implements ";
-			Iterator<Batch> iB = batches.iterator();
-			boolean commaRequired = false;
-			while (iB.hasNext()) {
-				BeingBuilt.Batch batch = (BeingBuilt.Batch) iB.next();
-				res += commaRequired ? ", " : "";
-				commaRequired = true;
-				res += batch.interfaceName;
-			}
-			Batch lastBatch = batches.get(batches.size() - 1);
-			if (!lastBatch.areAllModdersOptional()) {
-				res += commaRequired ? ", " : "";
-				res += lastBatch.returnInterfaceName;
-			}
-		}
-		res += " {";
-		res += newLine + "private final " + jTypeMyExpr + " myExpr;";
-
-		res += newLine + String.format("public %1s toAST() { return this.myExpr; }", jTypeMyExpr);
-
-		res += newLine + jConstructor(jTypeMyExpr);
-
-		for (Batch b : batches) {
-			for (Modder m : b.modders) {
-				res += newLine + m.toString();
-			}
-		}
-
-		res += newLine + "}";
-
-		if (batches.size() > 1) {
-			Iterator<Batch> iB = batches.iterator();
-			while (iB.hasNext()) {
-				BeingBuilt.Batch b = (BeingBuilt.Batch) iB.next();
-				boolean amILastBatch = !iB.hasNext();
-				res += newLine + b.toStringInterface(amILastBatch);
-			}
-
-			Batch lastBatch = batches.get(batches.size() - 1);
-			if (lastBatch.areAllModdersOptional()) {
-				res += newLine + String.format("public %1s toAST();", jTypeMyExpr);
-				res += "}";
-			} else {
-				res += "public interface " + lastBatch.returnInterfaceName + " { ";
-				res += newLine + String.format("public %1s toAST();", jTypeMyExpr);
-				res += "}";
-			}
-
-		}
-
-		return res;
-	}
-
-	private String jConstructor(String jTypeMyExpr) {
-		String jConstructor = String.format("%1s( %2s  arg) {", _beingBuiltClassName, jTypeMyExpr);
-		jConstructor += newLine + " this.myExpr = arg;";
-		// add unSet for each unsettable
-		for (GenFeature gF : _gC.getGenFeatures()) {
-			if (gF.isUnsettable()) {
-				jConstructor += newLine + " this.myExpr.unset" + gF.getAccessorName() + "();";
-			}
-		}
-		jConstructor += newLine + "}";
-		return jConstructor;
-	}
-
-	public String jInstantiateFor(GenClass refed) {
-
-		String factoryInstanceName = refed.getGenPackage().getFactoryInstanceName();
-		String factoryOfRefedTypeFQN = getJavaFQN(refed.getGenPackage()) + "." + refed.getGenPackage().getFactoryInterfaceName() + "." + factoryInstanceName;
-		
-		String res = String.format("%1s.create%2s()", factoryOfRefedTypeFQN, ExprBuilder.toUppercaseName(refed.getName()));
-		return res;
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/BooleanModder.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/BooleanModder.java
deleted file mode 100644
index c8cd48e..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/BooleanModder.java
+++ /dev/null
@@ -1,168 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.templates;
-
-import java.util.Map;
-
-import org.eclipse.emf.codegen.ecore.genmodel.GenClass;
-import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-import org.eclipse.gymnast.generators.embeddeddsl.MyEcoreUtil;
-
-/**
- * setter or yes/no methods, the latter derived from an annotation with
- * source="gymnast" and two entries:
- * 
- * a) key="yes" , value="methodNameForTrue"
- * 
- * a) key="no" , value="methodNameForFalse"
- * 
- */
-public class BooleanModder extends Modder {
-
-	private final boolean followsYesNoMethodIdiom;
-	private String yesMethodName;
-	private String noMethodName;
-	private final boolean _refersToClassWithoutFields;
-
-	public BooleanModder(GenFeature gSF) {
-		super(gSF);
-		Map<String, String> anns = Modder.getGymnastAnnotations(gSF);
-		// first lookup in structural feature declaration
-		yesMethodName = ExprBuilder.escapeJavaKeyword(anns.get("yes"));
-		noMethodName = ExprBuilder.escapeJavaKeyword(anns.get("no"));
-		// then lookup in type declaration
-		if (yesMethodName == null) {
-			anns = Modder.getGymnastAnnotations(gSF.getEcoreFeature().getEType());
-			yesMethodName = ExprBuilder.escapeJavaKeyword(anns.get("yes"));
-		}
-		if (noMethodName == null) {
-			anns = Modder.getGymnastAnnotations(gSF.getEcoreFeature().getEType());
-			noMethodName = ExprBuilder.escapeJavaKeyword(anns.get("no"));
-		}
-		/* FIXME problem marker if yesMethodName .equals noMethodName */
-		followsYesNoMethodIdiom = (yesMethodName != null) && (noMethodName != null);
-		_refersToClassWithoutFields = refersToClassWithoutFields(eSF);
-	}
-
-	public static boolean canBeConsideredBoolean(EStructuralFeature eSF) {
-		boolean res = hasBooleanType(eSF) || refersToClassWithoutFields(eSF);
-		if (res) {
-			return true;
-		}
-		if (eSF.getEType() instanceof EDataType) {
-			EDataType eDT = (EDataType) eSF.getEType();
-			String itn = eDT.getInstanceTypeName();
-			if (itn != null ) {
-				if (itn.equals("java.lang.Boolean") || itn.toLowerCase().equals("boolean")) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	/**
-	 * For example, the standard Grammar2Ecore translation of
-	 * 
-	 * sequence classDecl : (abstractModifier)? ...
-	 * 
-	 * sequence abstractModifier : "abstract" ;
-	 * 
-	 * results in class ClassDecl extends TopLevelDecl {
-	 * 
-	 * !unique val Annotation[*] annotation;
-	 * 
-	 * val AbstractModifier abstractModifier;
-	 * 
-	 * with AbstractModifier in turn being defined as:
-	 * 
-	 * class AbstractModifier extends Umbrellaemfatic { }
-	 * 
-	 * i.e. an AbstractModifier instantion contains no further information than
-	 * telling that it exists (like a boolean).
-	 * 
-	 */
-	private static boolean refersToClassWithoutFields(EStructuralFeature eSF) {
-		if (eSF.getEType() instanceof EClass) {
-			EClass refed = (EClass) eSF.getEType();
-			if (refed.getEAllStructuralFeatures().isEmpty() && !refed.isAbstract()) {
-				if (MyEcoreUtil.getSubTypesOf(refed).isEmpty()) {
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-
-	private static boolean hasBooleanType(EStructuralFeature eSF) {
-		boolean res = eSF.getEType() == EcorePackage.eINSTANCE.getEBoolean();
-		res |= eSF.getEType() == EcorePackage.eINSTANCE.getEBooleanObject();
-		return res;
-	}
-
-	@Override
-	public String toString() {
-		String res = newLine
-				+ (followsYesNoMethodIdiom ? moddersForYesNoIdiom(getReturnType()) : modderForBoolArgIdiom(getReturnType()));
-		return res;
-	}
-
-	private Object modderForBoolArgIdiom(String returnInterfaceName) {
-		String methodName = ExprBuilder.escapeJavaKeyword(eSF.getName());
-		String jModder = "public " + returnInterfaceName + " " + methodName + "() {";
-		jModder += newLine + jStmtSetToArg();
-		jModder += newLine + " return this; }";
-		return jModder;
-	}
-
-	private String jStmtSetToArg() {
-		String res;
-		String jSetStmt = "this.myExpr.set" + gSF.getAccessorName();
-		if (_refersToClassWithoutFields) {
-			GenClass genRefed = gSF.getTypeGenClass();
-			String jInstantiate = beingBuilt.jInstantiateFor(genRefed);
-			res = newLine + jSetStmt + " ( " + jInstantiate + " ); ";
-		} else {
-			res = jSetStmt + "(true);";
-		}
-		return res;
-	}
-
-	private Object moddersForYesNoIdiom(String returnInterfaceName) {
-		assert followsYesNoMethodIdiom;
-		String jModderYes = "public " + returnInterfaceName + " " + yesMethodName + "() {";
-		String jModderNo = "public " + returnInterfaceName + " " + noMethodName + "() {";
-		String jSetStmt = "this.myExpr.set" + gSF.getAccessorName();
-		if (_refersToClassWithoutFields) {
-			GenClass genRefed = gSF.getTypeGenClass();
-			String jInstantiate = beingBuilt.jInstantiateFor(genRefed);
-			jModderYes += newLine + jSetStmt + "(" + jInstantiate + ");";
-			jModderNo += newLine + jSetStmt + "(null);";
-		} else {
-			jModderYes += newLine + jSetStmt + "(true);";
-			jModderNo += newLine + jSetStmt + "(false);";
-		}
-		jModderYes += newLine + " return this; }";
-		jModderNo += newLine + " return this; }";
-
-		String res = jModderYes + newLine + jModderNo;
-		return res;
-	}
-
-	@Override
-	public String signatureDecl() {
-		String res = "";
-		String jReturnType = getReturnType();
-		if (followsYesNoMethodIdiom) {
-			String jModderYes = "public " + jReturnType + " " + yesMethodName + "() ;";
-			String jModderNo = "public " + jReturnType + " " + noMethodName + "() ;";
-			res = jModderYes + newLine + jModderNo + newLine;
-		} else {
-			String methodName = ExprBuilder.escapeJavaKeyword(eSF.getName());
-			res = "public " + jReturnType + " " + methodName + "() ;" + newLine;
-		}
-		return res; 
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/EnumModder.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/EnumModder.java
deleted file mode 100644
index 6d54287..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/EnumModder.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.templates;
-
-import org.eclipse.emf.codegen.ecore.genmodel.GenEnumLiteral;
-import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
-import org.eclipse.emf.ecore.EEnum;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * terminal2method or terminal2enumliteral
- * 
- */
-public class EnumModder extends Modder {
-
-	private final boolean _terminal2method;
-	private final EEnum refed;
-
-	public EnumModder(GenFeature gSF) {
-		super(gSF);
-		refed = (EEnum) eSF.getEType();
-		_terminal2method = isTerminal2Method(gSF);
-	}
-
-	private boolean isTerminal2Method(GenFeature gSF) {
-		if (annotationHasKeyValue(gSF, "terminal2method", false)) {
-			return false;
-		}
-		if (annotationHasKeyValue(refed, "terminal2method", false)) {
-			return false;
-		}
-		/*
-		 * if (refed.getELiterals().size() > 3) { return false; }
-		 */
-		return true;
-	}
-
-	@Override
-	public String toString() {
-		String res = "";
-		res += newLine
-				+ (_terminal2method ? moddersTerminal2Method(getReturnType()) : modderForTerminalAsArgIdiom(getReturnType()));
-		return res;
-	}
-
-	private String moddersTerminal2Method(String returnInterfaceName) {
-		String jAllModders = "";
-		for (GenEnumLiteral gEL : gSF.getTypeGenEnum().getGenEnumLiterals()) {
-
-			String localName = refed.getName();
-			String jEnumFQN = beingBuilt.getJavaFQN(gSF.getGenPackage()) + "." + localName;
-			String jSetterArg = jEnumFQN + "." + gEL.getEnumLiteralInstanceConstantName();
-
-			String jOneModder = "public " + returnInterfaceName + " " + methodName(gEL) + "() {";
-			jOneModder += newLine + String.format("this.myExpr.set%1s( %2s );", gSF.getAccessorName(), jSetterArg);
-			jOneModder += newLine + " return this; }";
-
-			jAllModders += jOneModder;
-		}
-
-		return jAllModders;
-	}
-
-	private String methodName(GenEnumLiteral gEL) {
-		String methodName = eSF.getName() + ExprBuilder.toUppercaseName(gEL.getName());
-		methodName = ExprBuilder.escapeJavaKeyword(methodName);
-
-		return methodName;
-	}
-
-	private Object modderForTerminalAsArgIdiom(String returnInterfaceName) {
-		String jModder = jModder(returnInterfaceName) + " { ";
-		jModder += newLine + "this.myExpr.set" + gSF.getAccessorName() + "(arg);";
-		jModder += newLine + " return this; }";
-		return jModder;
-	}
-
-	private String jModder(String returnInterfaceName) {
-		String methodName = ExprBuilder.escapeJavaKeyword(eSF.getName());
-		String jEnumJavaType = beingBuilt.getJavaFQN(gSF.getTypeGenClassifier());
-		String jModder = "public " + returnInterfaceName + " " + methodName + "(" + jEnumJavaType + " arg) ";
-		return jModder;
-	}
-
-	@Override
-	public String signatureDecl() {
-		String res = "";
-		String jReturnType = getReturnType();
-		if (_terminal2method) {
-			for (GenEnumLiteral gEL : gSF.getTypeGenEnum().getGenEnumLiterals()) {
-				res += newLine + "public " + jReturnType + " " + methodName(gEL) + "() ;";
-			}
-		} else {
-			res = jModder(jReturnType) + " ; ";
-		}
-		return res;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/ExprBuilder.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/ExprBuilder.java
deleted file mode 100644
index 1f0138a..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/ExprBuilder.java
+++ /dev/null
@@ -1,141 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.templates;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.emf.codegen.ecore.genmodel.GenClass;
-import org.eclipse.emf.codegen.ecore.genmodel.GenClassifier;
-import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
-import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EClassifier;
-
-public class ExprBuilder {
-
-	private List<BeingBuilt> seqRules = new ArrayList<BeingBuilt>();
-
-	private String _basePackage;
-	public String _langName;
-	public String _javaClassName;
-
-	public ExprBuilder(GenModel genModel) {
-		// FIXME precond: one root gen package
-		GenPackage genPackage = genModel.getGenPackages().get(0);
-		_basePackage = genPackage.getBasePackage();
-		_langName = escapeJavaKeyword(genPackage.getEcorePackage().getName());
-		_javaClassName = toUppercaseName(_langName) + "ExprBuilder";
-		visitPackage(genPackage);
-	}
-
-	public static String escapeJavaKeyword(String name) {
-		if (name == null || name.equals("")) {
-			return name;
-		}
-		if (org.eclipse.emf.codegen.util.CodeGenUtil.isJavaReservedWord(name)) {
-			name = "_" + name;
-		}
-		return name;
-	}
-
-	private void visitPackage(GenPackage gP) {
-		List<GenPackage> subPs = gP.getSubGenPackages();
-		for (GenPackage subP : subPs) {
-			visitPackage(subP);
-		}
-		List<GenClassifier> cls = gP.getGenClassifiers();
-		for (GenClassifier gC : cls) {
-			/*
-			 * FIXME precond: EClass names should be unique across all nested
-			 * packages, given that they will be flatenned into instantiation
-			 * methods in the ExprBuilder class
-			 */
-			if (!isAuxiliaryClass(gC.getEcoreClassifier())) {
-				addBeingBuiltFor(gC);
-			}
-		}
-	}
-
-	private boolean isAuxiliaryClass(EClassifier eC) {
-		if (eC.getName().equals("Ecorizer")) {
-			return true;
-		}
-		return false;
-	}
-
-	private void addBeingBuiltFor(GenClassifier gC) {
-		EClassifier eCl = gC.getEcoreClassifier();
-		if (eCl instanceof EClass) {
-			EClass eC = (EClass) eCl;
-			if (!eC.isAbstract()) {
-				BeingBuilt bb = new BeingBuilt((GenClass) gC);
-				addBeingBuilt(bb);
-			}
-		}
-	}
-
-	public void addBeingBuilt(BeingBuilt b) {
-		b.exprBuilder = this;
-		seqRules.add(b);
-	}
-
-	/**
-	 * Uppercase the first letter of the name to make a good Java class name (so
-	 * "myName" -> "MyName")
-	 * 
-	 * @param name
-	 * 		name to be uppercased
-	 * @return name with first character uppercased
-	 */
-	public static String toUppercaseName(String name) {
-		String val;
-		char firstChar = Character.toUpperCase(name.charAt(0));
-		if (name.length() > 1) {
-			val = firstChar + name.substring(1);
-		} else {
-			val = Character.toString(firstChar);
-		}
-		return val;
-	}
-
-	public static final String newLine = System.getProperty("line.separator");
-
-	@Override
-	public String toString() {
-		String packageName = "";
-		if (_basePackage != null && !_basePackage.equals("")) {
-			packageName = _basePackage + ".";
-		}
-		packageName += _langName;
-		String res = "package " + packageName + ";";
-		res += newLine;
-		res += newLine + "public class " + toUppercaseName(_langName) + "ExprBuilder {";
-		for (BeingBuilt bb : seqRules) {
-			res += newLine + bb.toStringMethod();
-		}
-		for (BeingBuilt bb : seqRules) {
-			res += newLine + bb.toStringInnerClass();
-		}
-		res += newLine + "}";
-		return res;
-	}
-
-	/**
-	 * Lowercase the first letter of the name to make a good Antlr rule name (so
-	 * "MyName" -> "myName")
-	 * 
-	 * @param name
-	 * 		name to be lowercased
-	 * @return name with first character lowercased
-	 */
-	public static String toLowercaseName(String name) {
-		String val;
-		char firstChar = Character.toLowerCase(name.charAt(0));
-		if (name.length() > 1) {
-			val = firstChar + name.substring(1);
-		} else {
-			val = Character.toString(firstChar);
-		}
-		return val;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/LiftedRef.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/LiftedRef.java
deleted file mode 100644
index 14d670e..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/LiftedRef.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.templates;
-
-import java.util.Iterator;
-
-import org.eclipse.emf.codegen.ecore.genmodel.GenClass;
-import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EReference;
-
-public class LiftedRef extends Modder {
-
-	LiftedRef(GenFeature gSF) {
-		super(gSF);
-		this.eR = (EReference) gSF.getEcoreFeature();
-	}
-
-	public EReference eR; // its refed type has no subtypes
-
-	/* derive a get non-null, set one by one args */
-	// derive unset if unsettable
-	@Override
-	public String toString() {
-		EClass refed = (EClass) eR.getEType();
-		GenClass genRefed = gSF.getTypeGenClass();
-		String jInstantiate = beingBuilt.jInstantiateFor(genRefed);
-		String jSetStmt = "this.myExpr.set" + gSF.getAccessorName() + "( " + jInstantiate + " );";
-		String jGetNonNull = String.format("if ( this.myExpr.get%1s() == null ) { %2s }", gSF.getAccessorName(), jSetStmt);
-
-		// all struct features are str, char, or int
-		assert refed.getEAllAttributes().equals(refed.getEAllStructuralFeatures());
-
-		String jAssignments = "";
-		Iterator<GenFeature> iF = gSF.getTypeGenClass().getAllGenFeatures().iterator();
-		while (iF.hasNext()) {
-			GenFeature attr = iF.next();
-			String jArgName = ExprBuilder.escapeJavaKeyword(attr.getName());
-			// make an assignment
-			String jAssignment;
-			if (attr.getEcoreFeature().isMany()) {
-				String prefix = "this.myExpr.get" + gSF.getAccessorName() + "().get" + attr.getAccessorName() + "()";
-				jAssignment = prefix + ".clear();";
-				jAssignment += newLine + prefix + ".addAll(" + jArgName + "); /*isManyLiftedRef*/ ";
-			} else {
-				jAssignment = "this.myExpr.get" + gSF.getAccessorName() + "().set" + attr.getAccessorName() + "(" + jArgName
-						+ "); /*LiftedRef*/ ";
-			}
-			jAssignments += newLine + jAssignment;
-		}
-
-		String res = newLine + removeLastSemicolon(signatureDecl()) + " { ";
-		res += newLine + jGetNonNull;
-		res += newLine + jAssignments;
-		res += newLine + " return this; }";
-		return res;
-	}
-
-	@Override
-	public String signatureDecl() {
-		String jFormalParamsList = "";
-		Iterator<GenFeature> iF = gSF.getTypeGenClass().getAllGenFeatures().iterator();
-		while (iF.hasNext()) {
-			GenFeature attr = iF.next();
-			String jArgName = ExprBuilder.escapeJavaKeyword(attr.getName());
-			String jParamDecl = PrimitiveSF.javaTypeForPrimitiveFeature(attr) + " " + jArgName;
-			// make a formal parameter
-			jFormalParamsList += jParamDecl + (iF.hasNext() ? ", " : "");
-
-		}
-		String methodName = ExprBuilder.escapeJavaKeyword(eR.getName());
-		String jSignature = "public " + getReturnType() + " " + methodName + "( " + jFormalParamsList + " ); ";
-		return jSignature;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/ManySF.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/ManySF.java
deleted file mode 100644
index 9bf3713..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/ManySF.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.templates;
-
-import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
-import org.eclipse.emf.ecore.EClassifier;
-
-public class ManySF extends Modder {
-
-	ManySF(GenFeature gSF) {
-		super(gSF);
-	}
-
-	@Override
-	public String toString() {
-		String res = newLine + removeLastSemicolon(signatureDecl()) + " { ";
-		res += newLine + "this.myExpr.get" + gSF.getAccessorName() + "().clear();";
-		res += newLine + "this.myExpr.get" + gSF.getAccessorName() + "().addAll( java.util.Arrays.asList(items) );";
-		res += newLine + " return this; }";
-		return res;
-	}
-
-	@Override
-	public String signatureDecl() {
-		String jItemArgType;
-		if (PrimitiveSF.hasPrimitiveType(eSF)) {
-			jItemArgType = PrimitiveSF.javaTypeForPrimitiveFeature(gSF);
-		} else {
-			jItemArgType = BeingBuilt.getJavaFQN(gSF.getTypeGenClassifier());
-		}
-		String methodName = ExprBuilder.escapeJavaKeyword(eSF.getName());
-		String jSignature = "public " + getReturnType() + " " + methodName + "( " + jItemArgType + "... items); ";
-		return jSignature;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/Modder.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/Modder.java
deleted file mode 100644
index 16bd601..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/Modder.java
+++ /dev/null
@@ -1,196 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.templates;
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.emf.codegen.ecore.genmodel.GenAnnotation;
-import org.eclipse.emf.codegen.ecore.genmodel.GenBase;
-import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
-import org.eclipse.emf.ecore.EAnnotation;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EModelElement;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.gymnast.generators.embeddeddsl.MyEcoreUtil;
-import org.eclipse.gymnast.generators.embeddeddsl.templates.BeingBuilt.Batch;
-
-public abstract class Modder {
-
-	protected BeingBuilt beingBuilt;
-
-	protected final GenFeature gSF;
-	protected final EClass eC;
-	protected final EStructuralFeature eSF;
-
-	Batch myBatch;
-
-	public static final String newLine = System.getProperty("line.separator");
-
-	public static final String GYMNAST_ANNOTATION_SOURCE = "Gymnast";
-
-	public Modder(GenFeature gSF) {
-		this.gSF = gSF;
-		this.eSF = gSF.getEcoreFeature();
-		this.eC = eSF.getEContainingClass();
-	}
-
-	public static Modder chooseModderFor(GenFeature gSF) {
-		assert gSF.isChangeable() && !gSF.isDerived();
-
-		EStructuralFeature eSF = gSF.getEcoreFeature();
-
-		if (eSF.isMany()) {
-			return new ManySF(gSF);
-		} else if (BooleanModder.canBeConsideredBoolean(eSF)) {
-			return new BooleanModder(gSF);
-		} else if (gSF.getTypeGenEnum() != null) {
-			// used to check eSF.getEType() instanceof EEnum
-			return new EnumModder(gSF);
-		} else if (PrimitiveSF.hasPrimitiveType(eSF)) {
-			return new PrimitiveSF(gSF);
-		} else if (gSF.isReferenceType()) {
-			return chooseRefModderFor(gSF);
-		}
-		
-		assert false;
-		return null;
-	}
-
-	private static Modder chooseRefModderFor(GenFeature gSF) {
-		if (isAmenableToRefLifting(gSF)) {
-			return new LiftedRef(gSF);
-		} else {
-			return new NonLiftedRef(gSF);
-		}
-	}
-
-	public static boolean isAmenableToRefLifting(GenFeature gSF) {
-		EReference eR = (EReference) gSF.getEcoreFeature();
-		if (eR.getEType() instanceof EDataType) {
-			return false;
-		}
-		/*
-		 * the restriction below still allows for referring to an owned child
-		 * from a dedicated variable. One way is passing as actual argument the
-		 * result of an in-place assignment ( a =
-		 * FluentInterface.construct(arg1, ...))
-		 */
-		if (eR.isContainer()) {
-			return false;
-		}
-		if (!(eR.getEType() instanceof EClass)) {
-			return false;
-		}
-		EClass refedType = (EClass) eR.getEType();
-		for (EStructuralFeature eSF : refedType.getEAllStructuralFeatures()) {
-			if (!PrimitiveSF.hasPrimitiveType(eSF)) {
-				return false;
-			}
-			if (eSF.isMany()) {
-				return false;
-			}
-		}
-		/*
-		 * should have no subtypes, only then can its constructor args be
-		 * lifted.
-		 */
-		if (!MyEcoreUtil.getSubTypesOf(refedType).isEmpty()) {
-			return false;
-		}
-		return true;
-	}
-
-	public abstract String toString();
-
-	/**
-	 * gymnast annotations at the GenFeature take precedence over those in the
-	 * refed EStructuralFeature. To obtain annotations at the EStructuralFeature
-	 * invoke Modder.getGymnastAnnotations( EStructuralFeature)
-	 */
-	public static Map<String, String> getGymnastAnnotations(GenBase gB) {
-		EModelElement eME = gB.getEcoreModelElement();
-		Map<String, String> res = getGymnastAnnotations(eME);
-		GenAnnotation gA = gB.getGenAnnotation(GYMNAST_ANNOTATION_SOURCE);
-		if (gA != null) {
-			for (Map.Entry<String, String> entry : gA.getDetails()) {
-				res.put(entry.getKey(), entry.getValue());
-			}
-		}
-		return res;
-	}
-
-	public static Map<String, String> getGymnastAnnotations(EModelElement eME) {
-		Map<String, String> res = new HashMap<String, String>();
-		EAnnotation eA = eME.getEAnnotation(GYMNAST_ANNOTATION_SOURCE);
-		if (eA != null) {
-			for (Map.Entry<String, String> entry : eA.getDetails()) {
-				res.put(entry.getKey(), entry.getValue());
-			}
-		}
-		return res;
-	}
-
-	protected static boolean annotationHasKeyValue(GenBase gB, String key, boolean value) {
-		Map<String, String> anns = getGymnastAnnotations(gB);
-		boolean res = innerAnnotationHasKeyValue(anns, key, value);
-		return res;
-
-	}
-
-	protected static boolean annotationHasKeyValue(EModelElement eME, String key, boolean value) {
-		Map<String, String> anns = getGymnastAnnotations(eME);
-		boolean res = innerAnnotationHasKeyValue(anns, key, value);
-		return res;
-	}
-
-	private static boolean innerAnnotationHasKeyValue(Map<String, String> anns, String key, boolean value) {
-		boolean res = false;
-		if (anns != null) {
-			String val = anns.get(key);
-			if (val != null) {
-				val = val.toLowerCase();
-				if (value) {
-					res = val.equals("yes") || val.equals("true");
-					return res;
-				} else {
-					res = val.equals("no") || val.equals("false");
-					return res;
-				}
-			}
-		}
-		return false;
-	}
-
-	protected String standardSetterWithArg(String returnInterfaceName, String jSetterArgType) {
-		String jSetStmt = "this.myExpr.set" + gSF.getAccessorName() + "(arg);";
-		String res = standardSignatureDeclSetterWithArg(returnInterfaceName, jSetterArgType) + " { " + newLine + jSetStmt + newLine
-				+ " return this; } ";
-		return res;
-	}
-
-	protected String standardSignatureDeclSetterWithArg(String returnInterfaceName, String jSetterArgType) {
-		String modderName = ExprBuilder.escapeJavaKeyword(eSF.getName());
-		String jModderArgDecl = jSetterArgType + " arg";
-		String jSignature = String.format("public %1s %2s  ( %3s ) ", returnInterfaceName, modderName, jModderArgDecl);
-		return jSignature;
-	}
-
-	public abstract String signatureDecl();
-	
-	protected String getReturnType() {
-		boolean cond1 = eSF.isUnsettable();
-		boolean cond2 = eSF.getLowerBound() == 0 && !eSF.isMany();
-		String jReturnType = (cond1 || cond2 ? myBatch.interfaceName : myBatch.returnInterfaceName);
-		return  jReturnType;
-	}
-
-	protected String removeLastSemicolon(String signatureDecl) {
-		int lio = signatureDecl.lastIndexOf(';');
-		String res = signatureDecl.substring(0, lio);
-		return res;
-	}
-
-
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/NonLiftedRef.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/NonLiftedRef.java
deleted file mode 100644
index 147c6e4..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/NonLiftedRef.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.templates;
-
-import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * in order not to interrupt the fluent interface, the arg is passed to a setter
- */
-public class NonLiftedRef extends Modder {
-
-	NonLiftedRef(GenFeature gSF) {
-		super(gSF);
-		this.eR = (EReference) gSF.getEcoreFeature();
-	}
-
-	EReference eR;
-
-	@Override
-	public String toString() {
-		String jSetterArgType = BeingBuilt.getJavaFQN(gSF.getTypeGenClassifier());
-		String res = standardSetterWithArg(getReturnType(), jSetterArgType);
-		return res;
-	}
-
-	@Override
-	public String signatureDecl() {
-		String jSetterArgType = BeingBuilt.getJavaFQN(gSF.getTypeGenClassifier());
-		return standardSignatureDeclSetterWithArg(getReturnType(), jSetterArgType) + ";";
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/PrimitiveSF.java b/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/PrimitiveSF.java
deleted file mode 100644
index 7fa8e89..0000000
--- a/plugins/org.eclipse.gymnast.generators.embeddeddsl/src/org/eclipse/gymnast/generators/embeddeddsl/templates/PrimitiveSF.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package org.eclipse.gymnast.generators.embeddeddsl.templates;
-
-import org.eclipse.emf.codegen.ecore.genmodel.GenFeature;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.EcorePackage;
-
-public class PrimitiveSF extends Modder {
-
-	private final String _jSetterArgType;
-
-	PrimitiveSF(GenFeature gSF) {
-		super(gSF);
-		_jSetterArgType = javaTypeForPrimitiveFeature(gSF);
-	}
-
-	public static boolean hasPrimitiveType(EStructuralFeature eSF) {
-		boolean hasStrType = hasStringType(eSF);
-		boolean hasIntType = hasIntType(eSF);
-		boolean hasLongType = hasLongType(eSF);
-		boolean hasFloatType = hasFloatType(eSF);
-		boolean hasDoubleType = hasDoubleType(eSF);
-		boolean hasCharType = hasCharType(eSF);
-		return hasStrType || hasIntType || hasLongType || hasCharType || hasFloatType || hasDoubleType;
-	}
-
-	private static boolean hasStringType(EStructuralFeature eSF){
-		boolean hasStrType = eSF.getEType() == EcorePackage.eINSTANCE.getEString();
-		if (hasStrType) {
-			return true;
-		}
-		if (eSF.getEType() instanceof EDataType) {
-			EDataType eDT = (EDataType) eSF.getEType();
-			String itn = eDT.getInstanceTypeName();
-			if (itn != null ) {
-				if (itn.equals("java.lang.String") ) {
-					// FIXME loss of precision without warning
-					hasStrType = true;
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-	
-	private static boolean hasDoubleType(EStructuralFeature eSF) {
-		boolean hasDoubleType = eSF.getEType() == EcorePackage.eINSTANCE.getEDouble();
-		hasDoubleType |= eSF.getEType() == EcorePackage.eINSTANCE.getEDoubleObject();
-		if (hasDoubleType) {
-			return true;
-		}
-		if (eSF.getEType() instanceof EDataType) {
-			EDataType eDT = (EDataType) eSF.getEType();
-			String itn = eDT.getInstanceTypeName();
-			if (itn != null ) {
-				if (itn.equals("java.math.BigDecimal")) {
-					// FIXME loss of precision without warning
-					hasDoubleType = true;
-					return true;
-				}
-			}
-		}
-		return hasDoubleType;
-	}
-
-	private static boolean hasFloatType(EStructuralFeature eSF) {
-		boolean hasFloatType = eSF.getEType() == EcorePackage.eINSTANCE.getEFloat();
-		hasFloatType |= eSF.getEType() == EcorePackage.eINSTANCE.getEFloatObject();
-		return hasFloatType;
-	}
-
-	private static boolean hasCharType(EStructuralFeature eSF) {
-		boolean hasCharType = eSF.getEType() == EcorePackage.eINSTANCE.getEChar();
-		hasCharType |= eSF.getEType() == EcorePackage.eINSTANCE.getECharacterObject();
-		return hasCharType;
-	}
-
-	private static boolean hasIntType(EStructuralFeature eSF) {
-		boolean hasIntType = eSF.getEType() == EcorePackage.eINSTANCE.getEInt();
-		hasIntType |= eSF.getEType() == EcorePackage.eINSTANCE.getEIntegerObject();
-		return hasIntType;
-	}
-
-	private static boolean hasLongType(EStructuralFeature eSF) {
-		boolean hasLongType = eSF.getEType() == EcorePackage.eINSTANCE.getELong();
-		hasLongType |= eSF.getEType() == EcorePackage.eINSTANCE.getELongObject();
-		if (eSF.getEType() instanceof EDataType) {
-			EDataType eDT = (EDataType) eSF.getEType();
-			String itn = eDT.getInstanceTypeName();
-			if (itn != null ) {
-				if (itn.equals("java.math.BigInteger") ) {
-					// FIXME loss of precision without warning
-					hasLongType = true;
-					return true;
-				}
-			}
-		}
-		return hasLongType;
-	}
-
-	@Override
-	public String toString() {
-		String res = standardSetterWithArg(getReturnType(), _jSetterArgType);
-		return res;
-	}
-
-	public static String javaTypeForPrimitiveFeature(GenFeature gf) {
-		String res;
-		if (gf.getEcoreFeature().isMany()) {
-			res = gf.getEcoreFeature().getEGenericType().getEClassifier().getInstanceClass().getCanonicalName();
-		} else {
-			res = gf.getRawType();
-		}
-		return res;
-	}
-
-	@Override
-	public String signatureDecl() {
-		return standardSignatureDeclSetterWithArg(getReturnType(), _jSetterArgType) + "; ";
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/.classpath b/plugins/org.eclipse.gymnast.generators.parser.antlr/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/.cvsignore b/plugins/org.eclipse.gymnast.generators.parser.antlr/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/.jetproperties b/plugins/org.eclipse.gymnast.generators.parser.antlr/.jetproperties
deleted file mode 100644
index 5585019..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/.jetproperties
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jet-settings>
-	<template-container>templates</template-container>	<source-container>src</source-container>
-</jet-settings>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/.project b/plugins/org.eclipse.gymnast.generators.parser.antlr/.project
deleted file mode 100644
index 9c277ef..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generators.parser.antlr</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.emf.codegen.JETBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.emf.codegen.jet.IJETNature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/META-INF/MANIFEST.MF b/plugins/org.eclipse.gymnast.generators.parser.antlr/META-INF/MANIFEST.MF
deleted file mode 100644
index 47b7c99..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,18 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Antlr Parser Generator Plug-in (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.generators.parser.antlr;singleton:=true
-Bundle-Version: 0.3.0.qualifier
-Bundle-Activator: org.eclipse.gymnast.generators.parser.antlr.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.jdt.core,
- org.antlr,
- org.eclipse.gymnast.generator.core,
- org.eclipse.gymnast.runtime.core
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.gymnast.generators.parser.antlr,
- org.eclipse.gymnast.generators.parser.antlr.templates
-Bundle-ClassPath: .
-Bundle-Vendor: Eclipse.org
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/build.properties b/plugins/org.eclipse.gymnast.generators.parser.antlr/build.properties
deleted file mode 100644
index d1feb51..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               src/,\
-               templates/
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/plugin.xml b/plugins/org.eclipse.gymnast.generators.parser.antlr/plugin.xml
deleted file mode 100644
index 53a1e61..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         point="org.eclipse.gymnast.generator.core.parserGenerators">
-      <parserGenerator
-            class="org.eclipse.gymnast.generators.parser.antlr.AntlrParserGenerator"
-            id="antlr"/>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/Activator.java b/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/Activator.java
deleted file mode 100644
index eb0952c..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/Activator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.parser.antlr;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin { 
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.gymnast.generators.parser.antlr";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/AntlrDriver.java b/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/AntlrDriver.java
deleted file mode 100644
index 02be0c4..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/AntlrDriver.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.parser.antlr;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.gymnast.runtime.core.util.IReporter;
-
-import antlr.FileLineFormatter;
-import antlr.Tool;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class AntlrDriver extends Tool {
-	
-	private IReporter _reporter;
-	
-	public void invokeAntlr(IFile file, IReporter reporter) {
-		_reporter = reporter;
-		
-		try {
-			if (file == null) throw new Exception("no file!");
-			
-			reporter.report("Running Antlr on file: " + file.getName());
-			
-			IPath _location = file.getLocation();				
-			IPath _folder = _location.removeLastSegments(1);
-						
-			String[] args = {"-o", 
-				_folder.toOSString(),
-				_location.toOSString()};
-
-			doEverything(args);
-			
-			file.getParent().refreshLocal(IResource.DEPTH_ONE, null);				
-			
-		} catch (Exception ex) {
-			reporter.reportError(ex);
-		}
-	}
-
-	// Don't kill the whole shell just because Antlr can't parse a file!
-	public void fatalError(String message) {
-		_reporter.reportError("FATAL ERROR: " + message);
-		throw new RuntimeException(message);
-	}
-	
-	public void error(String s, String file, int line, int column) {
-		String lineInfo = FileLineFormatter.getFormatter().getFormatString(file, line, column);
-		_reporter.reportError(lineInfo);
-		_reporter.reportError("  " + s);
-	}
-	
-	public void error(String s) {
-		_reporter.reportError(s);
-	}
-	
-	public void reportException(Exception e, String message) {
-		_reporter.reportError(message);
-		_reporter.reportError(e);
-	}
-	
-	public void reportProgress(String message) {
-		_reporter.report(message);
-	}
-	
-	public void toolError(String s) {
-		_reporter.reportError("TOOL ERROR: " + s);
-	}
-	
-	public void warning(String s, String file, int line, int column) {
-		String lineInfo = FileLineFormatter.getFormatter().getFormatString(file, line, column);
-		_reporter.reportWarning(lineInfo);
-		_reporter.reportWarning("  " + s);
-	}
-	
-	public void warning(String s) {
-		_reporter.reportWarning(s);
-	}
-	
-	public void warning(String[] s, String file, int line, int column) {
-		if (s == null) return;
-		String lineInfo = FileLineFormatter.getFormatter().getFormatString(file, line, column);
-		_reporter.reportWarning(lineInfo);
-		for (int i = 0; i < s.length; i++) {
-			_reporter.reportWarning("  " + s[i]);
-		}
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/AntlrGrammarWriter.java b/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/AntlrGrammarWriter.java
deleted file mode 100644
index fe4940c..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/AntlrGrammarWriter.java
+++ /dev/null
@@ -1,413 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004, 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.parser.antlr;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import org.eclipse.gymnast.generator.core.ast.AltRule;
-import org.eclipse.gymnast.generator.core.ast.Alts;
-import org.eclipse.gymnast.generator.core.ast.GymnastASTNodeVisitor;
-import org.eclipse.gymnast.generator.core.ast.HeaderSection;
-import org.eclipse.gymnast.generator.core.ast.ListRule;
-import org.eclipse.gymnast.generator.core.ast.OptSubSeq;
-import org.eclipse.gymnast.generator.core.ast.Option;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.ast.SeqRule;
-import org.eclipse.gymnast.generator.core.ast.SimpleExpr;
-import org.eclipse.gymnast.generator.core.ast.TokenRule;
-import org.eclipse.gymnast.generator.core.generator.ASTUtil;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generator.core.generator.GeneratorUtil;
-import org.eclipse.gymnast.generator.core.generator.GrammarInfo;
-import org.eclipse.gymnast.generator.core.generator.RuleRefCollector;
-
-
-/**
- * @author cjdaly@us.ibm.com
- *
- */
-public class AntlrGrammarWriter extends GymnastASTNodeVisitor {
-	
-	private GeneratorContext _context;
-	private GeneratorUtil _util;
-	private GrammarInfo _grammarInfo;
-	
-	private StringBuffer _buffer;
-	
-	public AntlrGrammarWriter(GeneratorContext context) {
-		_context = context;
-		_util = context.getUtil();
-		_grammarInfo = _context.getGrammarInfo();
-	}
-	
-	public StringBuffer writeGrammar() {
-		_buffer = new StringBuffer();
-		this.visit(_context.getCompUnit());
-		return _buffer;
-	}
-	
-	public boolean beginVisit(HeaderSection headerSection) {
-		writeln();
-		writeln("header");
-		writeln("{");
-		writeln("package " + _context.getParserPackageName() + ";");
-		writeln("import " + _context.getASTPackageName() + ".*;");
-		writeln("import " + _context.getLDT_ParserPackageName() + ".*;");
-		writeln("import " + _context.getLDT_ASTNodePackageName() + ".*;");
-		writeln("}");
-		writeln();
-		writeln("class " + headerSection.getName().getText() + "Parser extends Parser;");
-		writeln();
-		if (headerSection.getOptionsSection() != null) {
-			writeln("options {");
-			new GymnastASTNodeVisitor() {
-				public boolean beginVisit(Option option) {
-					String optionName = option.getName().getText();
-					if (isValidAntlrOption(optionName)) {
-						write("  " + optionName);
-						write("=" + option.getValue().getText());
-						writeln(";");
-						writeln();
-					}
-					return false;
-				}
-				
-				private boolean isValidAntlrOption(String optionName) {
-					// TODO: compile exhaustive list
-					if ("k".equals(optionName)) return true;
-					
-					return false;
-				}
-			}.visit(headerSection.getOptionsSection().getOptionList());
-			writeln("}");
-		}
-		
-		
-		writeln("{"); // begin inline Java
-		writeln("    private ParseError createParseError(RecognitionException ex) {");
-		writeln("        return " + headerSection.getName().getText() + "ParserDriver.createParseError(ex);");
-		writeln("    }");
-		writeln();
-		
-		writeln("    private TokenInfo createTokenInfo(Token tok) {");
-		writeln("        if (tok == null) return null;");
-		writeln("        else return new TokenInfo(tok.getText(), tok.getColumn(), tok.getType());");
-		writeln("    }");
-		writeln();
-		
-		writeErrorHandlers();
-		
-		writeln("}"); // end inline Java
-		writeln();
-		return true;
-	}
-	
-	public boolean beginVisit(AltRule rule) {
-		String ruleName = ASTUtil.getName(rule);
-		String typeName = _util.toUppercaseName(ruleName);
-		String returnParamName = getReturnParamName(rule);
-		
-		writeDecl(rule, ruleName, typeName, returnParamName, false);
-		writeln(":");
-		writeJavaDecls(rule);
-
-		return true;
-	}
-	public boolean beginVisit(Alts alts) {
-		AltRule rule = (AltRule)alts.getParent().getParent();
-		String returnParamName = getReturnParamName(rule);
-		
-		if (rule.getBody().getPreSeq() != null) writeln();
-		
-		write("  ( ");
-		for (int i = 0; i < alts.getChildCount(); i+=2) {
-			SimpleExpr se = (SimpleExpr)alts.getChild(i);
-			if (i > 0) write("  | ");
-			write(returnParamName);
-			write("=");
-			String refRuleName = se.getValue().getText();
-			write(refRuleName);
-
-			RuleRefCollector refs = _grammarInfo.getRuleRefCollector(rule);
-			
-			Rule altRule = _grammarInfo.getRule(refRuleName);
-			RuleRefCollector altRefs = _grammarInfo.getRuleRefCollector(altRule);
-			if (altRefs.getInheritedLabelCount() > 0) {
-				write("[");
-				String[] labels = altRefs.getLabels();
-				for (int j = 0; j < altRefs.getInheritedLabelCount(); j++) {
-					String label = labels[j];
-					if (j > 0) write(", ");
-					if (refs.hasLabel(label)) write(label);
-					else write("null");
-				}
-				write("]");
-			}
-			
-			writeln();
-		}
-		writeln("  )");
-		return false;
-	}
-	public void endVisit(AltRule rule) {
-		writeln(";");
-		writeln();
-	}
-
-	public boolean beginVisit(ListRule rule) {
-		String ruleName = ASTUtil.getName(rule);
-		String typeName = _util.toUppercaseName(ruleName);
-		String returnParamName = getReturnParamName(rule);
-		
-		writeDecl(rule, ruleName, typeName, returnParamName, true);
-		writeln(":");
-		
-		writeJavaDecls(rule);
-		
-		SimpleExpr listExpr = rule.getBody().getListExpr();
-		
-		if (rule.getBody().getLparen() == null) {
-			write("  ( ");
-			write(listExpr);
-			write(" { ");
-			write(returnParamName + ".addChild(" + getAddChildExpression(listExpr) + ");");
-			write(" } ");
-			write(")");
-			write(rule.getBody().getListMark().getText());
-			
-			if (ASTUtil.hasAttr(rule, "entry")) {
-				write(" EOF");
-			}
-			writeln();
-		}
-		else {
-			write("  ");
-			write(listExpr);
-			write(" { ");
-			write(returnParamName + ".addChild(" + getAddChildExpression(listExpr) + ");");
-			write(" } ");
-			writeln();
-			
-			SimpleExpr separator = rule.getBody().getSeparator();
-			SimpleExpr listExpr2 = rule.getBody().getListExpr2();
-			write("  ( ");
-			write(separator);
-			write(" ");
-			write(listExpr2);
-			write(" { ");
-			write(returnParamName + ".addChild(" + getAddChildExpression(separator) + "); ");
-			write(returnParamName + ".addChild(" + getAddChildExpression(listExpr2) + ");");
-			write(" } ");
-			write(")");
-			write(rule.getBody().getListMark().getText());
-			
-			if (ASTUtil.hasAttr(rule, "entry")) {
-				write(" EOF");
-			}
-			writeln();
-		}
-		
-		writeln(";");
-		writeln();
-		return false;
-	}
-	private String getAddChildExpression(SimpleExpr listExpr) {
-		String listExprRule = listExpr.getValue().getText();
-		if (_util.isTokenReference(listExprRule)) {
-			return "createTokenInfo(" + _util.getLabel(listExpr) + ")";
-		}
-		else {
-			return _util.getLabel(listExpr);
-		}
-	}
-	
-	public boolean beginVisit(SeqRule rule) {
-		String ruleName = ASTUtil.getName(rule);
-		String typeName = _util.toUppercaseName(ruleName);
-		String returnParamName = getReturnParamName(rule);
-		
-		writeDecl(rule, ruleName, typeName, returnParamName, false);
-		writeln(":");
-		writeJavaDecls(rule);
-		write("  ");
-		return true;
-	}
-	public void endVisit(SeqRule rule) {
-		String ruleName = ASTUtil.getName(rule);
-		String typeName = _util.toUppercaseName(ruleName);
-		String returnParamName = getReturnParamName(rule);
-		
-		if (ASTUtil.hasAttr(rule, "entry")) {
-			write("EOF");
-		}
-		
-		writeln();
-		write("{ " + returnParamName + " = new " + typeName + "(");
-		RuleRefCollector refs = _grammarInfo.getRuleRefCollector(rule);
-		String[] labels = refs.getLabels();
-		for (int i = 0; i < labels.length; i++) {
-			String label = labels[i];
-			String type = refs.getType(label);
-			
-			String ref;
-			if (_util.isTokenReference(type)) {
-				ref = "createTokenInfo(" + label + ")";
-			}
-			else {
-				ref = label;
-			}
-			
-			if (i == 0) write(ref);
-			else write(", " + ref);
-		}
-		writeln("); }");
-		writeln(";");
-		writeln();
-	}
-	
-	public boolean beginVisit(TokenRule rule) {
-		String ruleName = ASTUtil.getName(rule);
-		String typeName = _util.toUppercaseName(ruleName);
-		String returnParamName = getReturnParamName(rule);
-		
-		writeDecl(rule, ruleName, typeName, returnParamName, false);
-		
-		writeln("{ Token tok = LT(1); }");
-		write  (": ( ");
-		
-		Alts alts = rule.getBody();
-		
-		for (int i = 0; i < alts.getChildCount(); i+=2) {
-			SimpleExpr se = (SimpleExpr)alts.getChild(i);
-			if (i == 0) writeln(se.getValue().getText());
-			else writeln("  | " + se.getValue().getText());
-		}
-		
-		writeln("  )");
-		writeln("{ " + returnParamName + " = new " + typeName + "(createTokenInfo(tok)); }");
-		writeln(";");
-		writeln();
-		return false;
-	}
-	
-	public boolean beginVisit(OptSubSeq optSubSeq) {
-		write("( ");
-		return true;
-	}
-	public void endVisit(OptSubSeq optSubSeq) {
-		write(")? ");
-	}
-	public boolean beginVisit(SimpleExpr simpleExpr) {
-		write(simpleExpr);
-		write(" ");
-		return false;
-	}
-	
-	private void writeErrorHandlers() {
-		
-		try {
-			InputStream input = this.getClass().getResourceAsStream("ErrorHandlers.txt");
-			BufferedReader reader = new BufferedReader(new InputStreamReader(input));
-			
-			String line = reader.readLine();
-			while(line != null) {
-				writeln(line);
-				line = reader.readLine();
-			}
-		}
-		catch (IOException ex) {
-			_util.reportError(ex);
-		}
-	}
-	
-	private void writeDecl(Rule rule, String ruleName, String typeName, String returnParamName, boolean callCtor) {
-		
-		write(ruleName);
-		
-		RuleRefCollector refs = _grammarInfo.getRuleRefCollector(rule);
-		if (refs.getInheritedLabelCount() > 0) {
-			write(" [ ");
-			String[] labels = refs.getLabels();
-			for (int i = 0; i < refs.getInheritedLabelCount(); i++) {
-				String label = labels[i];
-				String type = _util.toUppercaseName(refs.getType(label));
-				if (_util.isTokenReference(type)) {
-					type = "TokenInfo";
-				}
-				
-				if (i > 0) write(", ");
-				write(type + " " + label);
-			}
-			write(" ] ");
-		}
-		
-		String ctor = null;
-		if (callCtor) ctor = "new " + typeName + "()";
-		else ctor = "null";
-		
-		writeln(" returns [ " + typeName + " " + returnParamName + " = " + ctor + " ]");
-	}
-	
-	private void writeJavaDecls(Rule rule) {
-		RuleRefCollector refs = _grammarInfo.getRuleRefCollector(rule);
-		boolean foundDecl = false;
-		String[] labels = refs.getLabels();
-		for (int i = 0; i < labels.length; i++) {
-			String label = labels[i];
-			String type = _util.toUppercaseName(refs.getType(label));
-			if (!_util.isTokenReference(type) && !refs.isInherited(label))
-			{
-				if (!foundDecl) {
-					write("{ ");
-					foundDecl = true;
-				}
-				write(type + " " + label + " = null; ");
-			}
-		}
-		if (foundDecl) writeln("}");
-	}
-	
-	private void write(SimpleExpr simpleExpr) {
-		String rule = simpleExpr.getValue().getText();
-		String label = _util.getLabel(simpleExpr);
-		
-		if (_util.isTokenReference(rule)) {
-			write(label + ":" + rule);
-		}
-		else {
-			write(label + "=" + rule);
-		}
-	}
-
-	private String getReturnParamName(Rule rule) {
-		return "retVal";
-	}
-	
-	//
-	//
-	//
-	
-	private void write(String s) {
-		_buffer.append(s);
-	}
-	private void writeln() {
-		write("\n");
-	}
-	private void writeln(String s) {
-		write(s);
-		writeln();
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/AntlrParserGenerator.java b/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/AntlrParserGenerator.java
deleted file mode 100644
index a2c5fd7..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/AntlrParserGenerator.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.parser.antlr;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generator.core.registry.ParserGenerator;
-import org.eclipse.gymnast.generators.parser.antlr.templates.ParserDriverTemplate;
-import org.eclipse.jdt.core.IPackageFragment;
-
-public class AntlrParserGenerator extends ParserGenerator {
-
-	public void generateParser(GeneratorContext context) throws Exception {
-		IFile grammarFile = writeGrammarFile(context);
-		
-		AntlrDriver antlrDriver = new AntlrDriver();
-		antlrDriver.invokeAntlr(grammarFile, context.getUtil().getReporter());
-		
-		IPackageFragment parserPackageFragment = context.getParserPackage();
-		writeParserDriver(context, parserPackageFragment);
-	}
-	
-	private IFile writeGrammarFile(GeneratorContext context) throws Exception {
-
-		String grammarFileName = context.getASTName() + ".g";
-		context.getUtil().report("Writing Antlr grammar: " + grammarFileName);
-		
-		AntlrGrammarWriter grammarWriter = new AntlrGrammarWriter(context);
-		StringBuffer sb = grammarWriter.writeGrammar();
-		
-		IPath astFolderPath = context.getASTFile().getProjectRelativePath().removeLastSegments(1);
-
-		IPath lexerFilePath = astFolderPath.append(context.getLexerFileName());
-		IFile lexerFile = context.getProject().getFile(lexerFilePath);
-		if (lexerFile.exists()) {
-			sb.append("\n");
-			BufferedReader reader = new BufferedReader(new InputStreamReader(lexerFile.getContents()));
-			String line = reader.readLine();
-			while(line != null) {
-				sb.append(line + "\n");
-				line = reader.readLine();
-			}
-		}
-		
-		IPackageFragment parserPackageFragment = context.getParserPackage();
-		IPath parserPackagePath = parserPackageFragment.getResource().getProjectRelativePath();
-		IPath grammarFilePath = parserPackagePath.append(grammarFileName);
-		IFile grammarFile = context.getProject().getFile(grammarFilePath);
-		
-		String grammarFileText = sb.toString();
-		InputStream in = new ByteArrayInputStream(grammarFileText.getBytes());
-		
-		if (grammarFile.exists()) {
-			grammarFile.setContents(in, true, false, null);
-		}
-		else {
-			grammarFile.create(in, true, null);
-		}
-		
-		return grammarFile;
-	}
-	
-	private void writeParserDriver(GeneratorContext context, IPackageFragment parserPackageFragment) throws Exception {
-		ParserDriverTemplate parserDriverTemplate = new ParserDriverTemplate();
-		parserDriverTemplate.init(context);
-		String fileText = parserDriverTemplate.generate();
-		
-		IFolder parserPackageFolder = (IFolder)parserPackageFragment.getResource();
-        IFile parserDriverFile = parserPackageFolder.getFile(context.getASTName() + "ParserDriver.java");
-        
-        InputStream in = new ByteArrayInputStream(fileText.getBytes());
-        
-        if (parserDriverFile.exists()) {
-        	parserDriverFile.setContents(in, true, false, null);
-		}
-		else {
-			parserDriverFile.create(in, true, null);
-		}
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/ErrorHandlers.txt b/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/ErrorHandlers.txt
deleted file mode 100644
index 609cfdf..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/ErrorHandlers.txt
+++ /dev/null
@@ -1,24 +0,0 @@
-
-	private ParseContext _parseContext;
-	public void setParseContext(ParseContext parseContext) {
-		_parseContext = parseContext;
-	}
-	
-    public void reportError(RecognitionException ex) {
-        if (_parseContext != null) {
-        	_parseContext.addParseMessage(createParseError(ex));
-        }
-    }
-
-    public void reportError(String s) {
-        if (_parseContext != null) {
-        	_parseContext.addParseMessage(new ParseError(s, -1));
-        }
-    }
-
-    public void reportWarning(String s) {
-    	if (_parseContext != null) {
-        	_parseContext.addParseMessage(new ParseWarning(s, -1));
-        }
-    }
-
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/templates/ParserDriverTemplate.java b/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/templates/ParserDriverTemplate.java
deleted file mode 100644
index 316856b..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/src/org/eclipse/gymnast/generators/parser/antlr/templates/ParserDriverTemplate.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.gymnast.generators.parser.antlr.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public class ParserDriverTemplate {
-
-  protected static String nl;
-  public static synchronized ParserDriverTemplate create(String lineSeparator)
-  {
-    nl = lineSeparator;
-    ParserDriverTemplate result = new ParserDriverTemplate();
-    nl = null;
-    return result;
-  }
-
-  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
-  protected final String TEXT_1 = "/**" + NL + " * ";
-  protected final String TEXT_2 = NL + " */" + NL + "" + NL + "package ";
-  protected final String TEXT_3 = ";" + NL + "" + NL + "import java.io.Reader;" + NL + "" + NL + "import antlr.MismatchedCharException;" + NL + "import antlr.MismatchedTokenException;" + NL + "import antlr.NoViableAltException;" + NL + "import antlr.NoViableAltForCharException;" + NL + "import antlr.RecognitionException;" + NL + "import antlr.TokenStreamRecognitionException;" + NL + "" + NL + "import ";
-  protected final String TEXT_4 = ".*;" + NL + "import ";
-  protected final String TEXT_5 = ".*;" + NL + "" + NL + "public class ";
-  protected final String TEXT_6 = "ParserDriver implements IParser {" + NL + "" + NL + "    public ParseContext parse(Reader input) {" + NL + "    \t";
-  protected final String TEXT_7 = "Lexer lexer = new ";
-  protected final String TEXT_8 = "Lexer(input);" + NL + "\t\tlexer.setColumn(0);" + NL + "\t\tlexer.setTabSize(1);" + NL + "\t\t" + NL + "\t\t";
-  protected final String TEXT_9 = "Parser parser = new ";
-  protected final String TEXT_10 = "Parser(lexer);" + NL + "\t\tParseContext parseContext = new ParseContext();" + NL + "\t\tparser.setParseContext(parseContext);" + NL + "\t\t" + NL + "\t\tparseCompUnit(parser, parseContext);" + NL + "\t" + NL + "\t\tif (parseContext.getMessageCount() == 0) {" + NL + "\t\t\tSystem.out.println(\"Parse OK!\");" + NL + "\t\t}" + NL + "\t\telse {" + NL + "\t\t\tParseMessage[] msgs = parseContext.getMessages();" + NL + "\t\t\tfor (int i = 0; i < msgs.length; i++) {" + NL + "\t\t\t\tSystem.err.println(msgs[i].getMessage());" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\treturn parseContext;" + NL + "    }" + NL + "" + NL + "\tprivate void parseCompUnit(";
-  protected final String TEXT_11 = "Parser parser, ParseContext parseContext) {" + NL + "\t    try {" + NL + "\t        ";
-  protected final String TEXT_12 = " compUnit = parser.";
-  protected final String TEXT_13 = "();" + NL + "\t        parseContext.setParseRoot(compUnit);" + NL + "\t    }" + NL + "\t    catch (RecognitionException rex) {" + NL + "\t        parseContext.addParseMessage(createParseError(rex));" + NL + "\t    }" + NL + "\t    catch (TokenStreamRecognitionException tex) {" + NL + "\t    \tRecognitionException rex = tex.recog;" + NL + "\t        parseContext.addParseMessage(createParseError(rex));" + NL + "\t    }" + NL + "\t    catch (Exception ex) {" + NL + "\t        parseContext.addParseMessage(new ParseError(ex.getMessage(), 1));" + NL + "\t    }" + NL + "\t}" + NL + "" + NL + "\tstatic ParseError createParseError(RecognitionException ex) {" + NL + "\t\tString message = ex.getMessage();" + NL + "\t\tint offset = ex.getColumn();" + NL + "\t\tint length = 0;" + NL + "" + NL + "\t\tif (ex instanceof MismatchedCharException) {" + NL + "\t\t\tlength = 1;" + NL + "\t\t} else if (ex instanceof MismatchedTokenException) {" + NL + "\t\t\tMismatchedTokenException ex2 = (MismatchedTokenException) ex;" + NL + "\t\t\tif ((ex2.token != null) && (ex2.token.getText() != null)) {" + NL + "\t\t\t\tlength = ex2.token.getText().length();" + NL + "\t\t\t}" + NL + "\t\t} else if (ex instanceof NoViableAltException) {" + NL + "\t\t\tNoViableAltException ex2 = (NoViableAltException) ex;" + NL + "\t\t\tif ((ex2.token != null) && (ex2.token.getText() != null)) {" + NL + "\t\t\t\tlength = ex2.token.getText().length();" + NL + "\t\t\t}" + NL + "\t\t} else if (ex instanceof NoViableAltForCharException) {" + NL + "\t\t\tlength = 1;" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\treturn new ParseError(message, offset, length);" + NL + "\t}" + NL + "" + NL + "}";
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate()
-  {
-    final StringBuffer stringBuffer = new StringBuffer();
-    stringBuffer.append(TEXT_1);
-    stringBuffer.append( _context.getGeneratedByText() );
-    stringBuffer.append(TEXT_2);
-    stringBuffer.append( _context.getParserPackageName() );
-    stringBuffer.append(TEXT_3);
-    stringBuffer.append( _context.getASTPackageName() );
-    stringBuffer.append(TEXT_4);
-    stringBuffer.append( _context.getLDT_ParserPackageName() );
-    stringBuffer.append(TEXT_5);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_6);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_7);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_8);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_9);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_10);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_11);
-    stringBuffer.append( _context.getEntryRuleClassName() );
-    stringBuffer.append(TEXT_12);
-    stringBuffer.append( _context.getEntryRuleName() );
-    stringBuffer.append(TEXT_13);
-    return stringBuffer.toString();
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/templates/parserDriver.javajet b/plugins/org.eclipse.gymnast.generators.parser.antlr/templates/parserDriver.javajet
deleted file mode 100644
index d129237..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/templates/parserDriver.javajet
+++ /dev/null
@@ -1,90 +0,0 @@
-<%@ jet package="org.eclipse.gymnast.generators.parser.antlr.templates"
-        imports="org.eclipse.gymnast.generator.core.generator.GeneratorContext"
-        class="ParserDriverTemplate"
-        skeleton="parserDriver.skeleton" %>
-/**
- * <%= _context.getGeneratedByText() %>
- */
-
-package <%= _context.getParserPackageName() %>;
-
-import java.io.Reader;
-
-import antlr.MismatchedCharException;
-import antlr.MismatchedTokenException;
-import antlr.NoViableAltException;
-import antlr.NoViableAltForCharException;
-import antlr.RecognitionException;
-import antlr.TokenStreamRecognitionException;
-
-import <%= _context.getASTPackageName() %>.*;
-import <%= _context.getLDT_ParserPackageName() %>.*;
-
-public class <%= _context.getASTName() %>ParserDriver implements IParser {
-
-    public ParseContext parse(Reader input) {
-    	<%= _context.getASTName() %>Lexer lexer = new <%= _context.getASTName() %>Lexer(input);
-		lexer.setColumn(0);
-		lexer.setTabSize(1);
-		
-		<%= _context.getASTName() %>Parser parser = new <%= _context.getASTName() %>Parser(lexer);
-		ParseContext parseContext = new ParseContext();
-		parser.setParseContext(parseContext);
-		
-		parseCompUnit(parser, parseContext);
-	
-		if (parseContext.getMessageCount() == 0) {
-			System.out.println("Parse OK!");
-		}
-		else {
-			ParseMessage[] msgs = parseContext.getMessages();
-			for (int i = 0; i < msgs.length; i++) {
-				System.err.println(msgs[i].getMessage());
-			}
-		}
-		
-		return parseContext;
-    }
-
-	private void parseCompUnit(<%= _context.getASTName() %>Parser parser, ParseContext parseContext) {
-	    try {
-	        <%= _context.getEntryRuleClassName() %> compUnit = parser.<%= _context.getEntryRuleName() %>();
-	        parseContext.setParseRoot(compUnit);
-	    }
-	    catch (RecognitionException rex) {
-	        parseContext.addParseMessage(createParseError(rex));
-	    }
-	    catch (TokenStreamRecognitionException tex) {
-	    	RecognitionException rex = tex.recog;
-	        parseContext.addParseMessage(createParseError(rex));
-	    }
-	    catch (Exception ex) {
-	        parseContext.addParseMessage(new ParseError(ex.getMessage(), 1));
-	    }
-	}
-
-	static ParseError createParseError(RecognitionException ex) {
-		String message = ex.getMessage();
-		int offset = ex.getColumn();
-		int length = 0;
-
-		if (ex instanceof MismatchedCharException) {
-			length = 1;
-		} else if (ex instanceof MismatchedTokenException) {
-			MismatchedTokenException ex2 = (MismatchedTokenException) ex;
-			if ((ex2.token != null) && (ex2.token.getText() != null)) {
-				length = ex2.token.getText().length();
-			}
-		} else if (ex instanceof NoViableAltException) {
-			NoViableAltException ex2 = (NoViableAltException) ex;
-			if ((ex2.token != null) && (ex2.token.getText() != null)) {
-				length = ex2.token.getText().length();
-			}
-		} else if (ex instanceof NoViableAltForCharException) {
-			length = 1;
-		}
-		
-		return new ParseError(message, offset, length);
-	}
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.parser.antlr/templates/parserDriver.skeleton b/plugins/org.eclipse.gymnast.generators.parser.antlr/templates/parserDriver.skeleton
deleted file mode 100644
index fa4b3f4..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.antlr/templates/parserDriver.skeleton
+++ /dev/null
@@ -1,12 +0,0 @@
-public class CLASS {
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate() {
-    return "";
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/.classpath b/plugins/org.eclipse.gymnast.generators.parser.javacc/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/.cvsignore b/plugins/org.eclipse.gymnast.generators.parser.javacc/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/.jetproperties b/plugins/org.eclipse.gymnast.generators.parser.javacc/.jetproperties
deleted file mode 100644
index 5585019..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/.jetproperties
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jet-settings>
-	<template-container>templates</template-container>	<source-container>src</source-container>
-</jet-settings>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/.project b/plugins/org.eclipse.gymnast.generators.parser.javacc/.project
deleted file mode 100644
index e7980b9..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generators.parser.javacc</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.emf.codegen.JETBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.emf.codegen.jet.IJETNature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/META-INF/MANIFEST.MF b/plugins/org.eclipse.gymnast.generators.parser.javacc/META-INF/MANIFEST.MF
deleted file mode 100644
index 632397c..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,17 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: JavaCC Parser Generator Plug-in (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.generators.parser.javacc;singleton:=true
-Bundle-Version: 0.3.0.qualifier
-Bundle-Activator: org.eclipse.gymnast.generators.parser.javacc.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.jdt.core,
- org.eclipse.gymnast.generator.core,
- org.eclipse.gymnast.runtime.core
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.gymnast.generators.parser.javacc,
- org.eclipse.gymnast.generators.parser.javacc.templates
-Bundle-ClassPath: .
-Bundle-Vendor: Eclipse.org
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/build.properties b/plugins/org.eclipse.gymnast.generators.parser.javacc/build.properties
deleted file mode 100644
index 2fd90e1..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               templates/
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/plugin.xml b/plugins/org.eclipse.gymnast.generators.parser.javacc/plugin.xml
deleted file mode 100644
index b850b10..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         point="org.eclipse.gymnast.generator.core.parserGenerators">
-      <parserGenerator
-            class="org.eclipse.gymnast.generators.parser.javacc.JavaCCParserGenerator"
-            id="javacc"/>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/Activator.java b/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/Activator.java
deleted file mode 100644
index 810bd4c..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/Activator.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.parser.javacc;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.gymnast.generators.parser.javacc";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/JavaCCGrammarWriter.java b/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/JavaCCGrammarWriter.java
deleted file mode 100644
index 695e237..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/JavaCCGrammarWriter.java
+++ /dev/null
@@ -1,353 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.parser.javacc;
-
-import org.eclipse.gymnast.generator.core.ast.AltRule;
-import org.eclipse.gymnast.generator.core.ast.Alts;
-import org.eclipse.gymnast.generator.core.ast.GymnastASTNodeVisitor;
-import org.eclipse.gymnast.generator.core.ast.ListRule;
-import org.eclipse.gymnast.generator.core.ast.OptSubSeq;
-import org.eclipse.gymnast.generator.core.ast.Rule;
-import org.eclipse.gymnast.generator.core.ast.SeqRule;
-import org.eclipse.gymnast.generator.core.ast.SimpleExpr;
-import org.eclipse.gymnast.generator.core.ast.TokenRule;
-import org.eclipse.gymnast.generator.core.generator.ASTUtil;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generator.core.generator.GeneratorUtil;
-import org.eclipse.gymnast.generator.core.generator.GrammarInfo;
-import org.eclipse.gymnast.generator.core.generator.RuleRefCollector;
-
-public class JavaCCGrammarWriter extends GymnastASTNodeVisitor {
-
-	private final GeneratorContext _context;
-	private final GeneratorUtil _util;
-	private final GrammarInfo _grammarInfo;
-	
-	private StringBuffer _buffer;
-	
-	public JavaCCGrammarWriter(GeneratorContext context) {
-		_context = context;
-		_util = context.getUtil();
-		_grammarInfo = context.getGrammarInfo();
-	}
-	
-	public StringBuffer writeGrammar() {
-		_buffer = new StringBuffer();
-		this.visit(_context.getCompUnit());
-		return _buffer;
-	}
-	
-	public boolean beginVisit(AltRule rule) {
-		String ruleName = ASTUtil.getName(rule);
-		String typeName = _util.toUppercaseName(ruleName);
-		String returnParamName = getReturnParamName(rule);
-		
-		writeDecl(rule, ruleName, typeName);
-		writeJavaDecls(rule, typeName, returnParamName, false);
-		writeln("{");
-
-		return true;
-	}
-	public boolean beginVisit(Alts alts) {
-		AltRule rule = (AltRule)alts.getParent().getParent();
-		String returnParamName = getReturnParamName(rule);
-		
-		if (rule.getBody().getPreSeq() != null) writeln();
-		
-		write("  ( ");
-		for (int i = 0; i < alts.getChildCount(); i+=2) {
-			SimpleExpr se = (SimpleExpr)alts.getChild(i);
-			if (i > 0) write("  | ");
-			write(returnParamName);
-			write("=");
-			String refRuleName = se.getValue().getText();
-			write(refRuleName);
-
-			RuleRefCollector refs = _grammarInfo.getRuleRefCollector(rule);
-			
-			Rule altRule = _grammarInfo.getRule(refRuleName);
-			RuleRefCollector altRefs = _grammarInfo.getRuleRefCollector(altRule);
-			write("(");
-			if (altRefs.getInheritedLabelCount() > 0) {
-				String[] labels = altRefs.getLabels();
-				for (int j = 0; j < altRefs.getInheritedLabelCount(); j++) {
-					String label = labels[j];
-					if (j > 0) write(", ");
-					if (refs.hasLabel(label)) write(label);
-					else write("null");
-				}
-			}
-			write(")");
-			write(" { return " + returnParamName + "; }");
-			
-			writeln();
-		}
-		writeln("  )");
-		writeln("}");
-		return false;
-	}
-	public void endVisit(AltRule rule) {
-		writeln();
-	}
-	
-	public boolean beginVisit(ListRule rule) {
-		String ruleName = ASTUtil.getName(rule);
-		String typeName = _util.toUppercaseName(ruleName);
-		String returnParamName = getReturnParamName(rule);
-		
-		writeDecl(rule, ruleName, typeName);
-		writeJavaDecls(rule, typeName, returnParamName, true);
-		
-		SimpleExpr listExpr = rule.getBody().getListExpr();
-		
-		if (rule.getBody().getLparen() == null) {
-			write("{ ( ");
-			write(listExpr);
-			write(" { ");
-			write(returnParamName + ".addChild(" + getAddChildExpression(listExpr) + ");");
-			write(" } ");
-			write(")");
-			write(rule.getBody().getListMark().getText());
-			
-			write(" { return " + returnParamName  + "; }");
-			
-			if (ASTUtil.hasAttr(rule, "entry")) {
-				write(" <EOF>");
-			}
-			writeln(" }");
-		}
-		else {
-			write("{ ( ");
-			write(listExpr);
-			write(" { ");
-			write(returnParamName + ".addChild(" + getAddChildExpression(listExpr) + ");");
-			write(" } ");
-			write(")");
-			writeln();
-			
-			SimpleExpr separator = rule.getBody().getSeparator();
-			SimpleExpr listExpr2 = rule.getBody().getListExpr2();
-			write("  ( ");
-			write(separator);
-			write(" ");
-			write(listExpr2);
-			write(" { ");
-			write(returnParamName + ".addChild(" + getAddChildExpression(separator) + "); ");
-			write(returnParamName + ".addChild(" + getAddChildExpression(listExpr2) + ");");
-			write(" } ");
-			write(")");
-			write(rule.getBody().getListMark().getText());
-			
-			write(" { return " + returnParamName  + "; }");
-			
-			if (ASTUtil.hasAttr(rule, "entry")) {
-				write(" <EOF>");
-			}
-			writeln(" }");
-		}
-		
-		writeln();
-		return false;
-	}
-	private String getAddChildExpression(SimpleExpr listExpr) {
-		String listExprRule = listExpr.getValue().getText();
-		if (_util.isTokenReference(listExprRule)) {
-			return "createTokenInfo(" + _util.getLabel(listExpr) + ")";
-		}
-		else {
-			return _util.getLabel(listExpr);
-		}
-	}
-	
-	public boolean beginVisit(SeqRule rule) {
-		String ruleName = ASTUtil.getName(rule);
-		String typeName = _util.toUppercaseName(ruleName);
-		String returnParamName = getReturnParamName(rule);
-		
-		writeDecl(rule, ruleName, typeName);
-		writeJavaDecls(rule, typeName, returnParamName, false);
-		writeln("{");
-		return true;
-	}
-	public void endVisit(SeqRule rule) {
-		String ruleName = ASTUtil.getName(rule);
-		String typeName = _util.toUppercaseName(ruleName);
-		String returnParamName = getReturnParamName(rule);
-		
-		if (ASTUtil.hasAttr(rule, "entry")) {
-			write("<EOF>");
-		}
-		
-		writeln();
-		write("  { " + returnParamName + " = new " + typeName + "(");
-		RuleRefCollector refs = _grammarInfo.getRuleRefCollector(rule);
-		String[] labels = refs.getLabels();
-		for (int i = 0; i < labels.length; i++) {
-			String label = labels[i];
-			String type = refs.getType(label);
-			
-			String ref;
-			if (_util.isTokenReference(type)) {
-				ref = "createTokenInfo(" + label + ")";
-			}
-			else {
-				ref = label;
-			}
-			
-			if (i == 0) write(ref);
-			else write(", " + ref);
-		}
-		writeln(");");
-		writeln("    return " + returnParamName + "; }");
-		writeln("}");
-		writeln();
-	}
-	
-	public boolean beginVisit(TokenRule tokenRule) {
-
-		String ruleName = ASTUtil.getName(tokenRule);
-		String typeName = _util.toUppercaseName(ruleName);
-		
-		writeDecl(tokenRule, ruleName, typeName);
-		
-		writeln("{ Token tok; }");
-		write  ("{ ");
-		
-		Alts alts = tokenRule.getBody();
-		
-		for (int i = 0; i < alts.getChildCount(); i+=2) {
-		    SimpleExpr se = (SimpleExpr)alts.getChild(i);
-		    String text = se.getValue().getText();
-		    if (i > 0) {
-		    	write("| ");
-		    }
-		    write("tok=");
-		    if (text.charAt(0) == '"') {
-		    	write(text);
-		    }
-		    else {
-		    	write("<" + text + ">");
-		    }
-		    write(" { return new " + typeName + " (createTokenInfo(tok)); }");
-		    writeln();
-		}
-		
-		writeln("}");
-		writeln();
-		return false;
-	}
-	
-	public boolean beginVisit(OptSubSeq optSubSeq) {
-		write("( ");
-		return true;
-	}
-	public void endVisit(OptSubSeq optSubSeq) {
-		write(")? ");
-	}
-	public boolean beginVisit(SimpleExpr simpleExpr) {
-		write(simpleExpr);
-		write(" ");
-		return false;
-	}
-	
-	private void writeDecl(Rule rule, String ruleName, String typeName) {
-		if (ASTUtil.hasAttr(rule, "entry")) {
-			write("public ");
-		}
-		
-		write(typeName);
-		write(" ");
-		write(ruleName);
-		write("(");
-		
-		RuleRefCollector refs = _grammarInfo.getRuleRefCollector(rule);
-		if (refs.getInheritedLabelCount() > 0) {
-			String[] labels = refs.getLabels();
-			for (int i = 0; i < refs.getInheritedLabelCount(); i++) {
-				String label = labels[i];
-				String type = _util.toUppercaseName(refs.getType(label));
-				if (_util.isTokenReference(type)) {
-					type = "TokenInfo";
-				}
-				
-				if (i > 0) write(", ");
-				write(type + " " + label);
-			}
-		}
-		writeln(") :");
-	}
-	
-	private void writeJavaDecls(Rule rule, String typeName, String returnParamName, boolean callCtor) {
-		write("{ ");
-		
-		String ctor = null;
-		if (callCtor) ctor = "new " + typeName + "()";
-		else ctor = "null";
-		write(typeName + " " + returnParamName + " = " + ctor + ";");
-		
-		RuleRefCollector refs = _grammarInfo.getRuleRefCollector(rule);
-		String[] labels = refs.getLabels();
-		for (int i = 0; i < labels.length; i++) {
-			String label = labels[i];
-			String type = _util.toUppercaseName(refs.getType(label));
-			
-			if (_util.isTokenReference(type)) {
-				writeln();
-				write("  Token " + label + " = null;");
-			}
-			else if (!refs.isInherited(label))
-			{
-				writeln();
-				write("  " + type + " " + label + " = null;");
-			}
-		}
-		
-		writeln(" }");
-	}
-	
-	private void write(SimpleExpr simpleExpr) {
-		String rule = simpleExpr.getValue().getText();
-		String label = _util.getLabel(simpleExpr);
-		
-		if (_util.isTokenReference(rule)) {
-			if(rule.charAt(0) == '"') {
-				write(label + "=" + rule + "");
-			}
-			else {
-				write(label + "=<" + rule + ">");
-			}
-		}
-		else {
-			write(label + "=" + rule + "()");
-		}
-	}
-	
-	private String getReturnParamName(Rule rule) {
-		return "retVal";
-	}
-	
-	//
-	//
-	//
-	
-	private void write(String s) {
-		_buffer.append(s);
-	}
-	private void writeln() {
-		write("\n");
-	}
-	private void writeln(String s) {
-		write(s);
-		writeln();
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/JavaCCParserGenerator.java b/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/JavaCCParserGenerator.java
deleted file mode 100644
index f4bf58a..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/JavaCCParserGenerator.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.parser.javacc;
-
-import java.io.BufferedReader;
-import java.io.DataInputStream;
-import java.io.InputStreamReader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generator.core.registry.ParserGenerator;
-import org.eclipse.gymnast.generators.parser.javacc.templates.ExtSimpleCharStreamTemplate;
-import org.eclipse.gymnast.generators.parser.javacc.templates.ExtTokenManagerTemplate;
-import org.eclipse.gymnast.generators.parser.javacc.templates.ExtTokenTemplate;
-import org.eclipse.gymnast.generators.parser.javacc.templates.JavaCCParserTemplate;
-import org.eclipse.gymnast.generators.parser.javacc.templates.ParserDriverTemplate;
-import org.eclipse.gymnast.runtime.core.util.IReporter;
-import org.eclipse.jdt.core.IPackageFragment;
-
-public class JavaCCParserGenerator extends ParserGenerator {
-
-	public void generateParser(GeneratorContext context) throws Exception {
-		IPackageFragment parserPackageFragment = context.getParserPackage();
-		IFile grammarFile = writeGrammarFile(context, parserPackageFragment);
-		invokeJavaCC(context, grammarFile);
-		writeParserDriver(context, parserPackageFragment);
-		writeExtToken(context, parserPackageFragment);
-		writeExtTokenManager(context, parserPackageFragment);
-		writeExtSimpleCharStream(context, parserPackageFragment);
-	}
-	
-	private IFile writeGrammarFile(GeneratorContext context, IPackageFragment parserPackageFragment) throws Exception {
-		String grammarFileName = context.getASTName() + ".jj";
-		context.getUtil().report("Writing JavaCC grammar: " + grammarFileName);
-		
-		JavaCCParserTemplate parserTemplate = new JavaCCParserTemplate();
-		parserTemplate.init(context);
-		StringBuffer grammarFileText = new StringBuffer(parserTemplate.generate());
-		
-		JavaCCGrammarWriter grammarWriter = new JavaCCGrammarWriter(context);
-		grammarFileText.append(grammarWriter.writeGrammar());
-		
-		appendLexerFile(context, grammarFileText);
-		
-		IPath parserPackagePath = parserPackageFragment.getResource().getProjectRelativePath();
-		IPath grammarFilePath = parserPackagePath.append(grammarFileName);
-		IFile grammarFile = context.getProject().getFile(grammarFilePath);
-		
-		writeFile(grammarFile, grammarFileText.toString());
-		
-		return grammarFile;
-	}
-	
-	private void appendLexerFile(GeneratorContext context, StringBuffer grammarFileText) throws Exception {
-		IPath astFolderPath = context.getASTFile().getProjectRelativePath().removeLastSegments(1);
-
-		String lexerFileName = context.getASTName() + "Lexer.jj";
-		
-		IPath lexerFilePath = astFolderPath.append(lexerFileName);
-		IFile lexerFile = context.getProject().getFile(lexerFilePath);
-		if (lexerFile.exists()) {
-			grammarFileText.append("\n");
-			BufferedReader reader = new BufferedReader(new InputStreamReader(lexerFile.getContents()));
-			String line = reader.readLine();
-			while(line != null) {
-				grammarFileText.append(line + "\n");
-				line = reader.readLine();
-			}
-		}
-	}
-	
-	private void invokeJavaCC(GeneratorContext context, IFile grammarFile) throws Exception {
-		
-		final IReporter reporter = context.getUtil().getReporter();
-		reporter.report("Running JavaCC on file: " + grammarFile.getName());
-		
-		String grammarFilePath = grammarFile.getLocation().toOSString();
-		
-		String outputFolderPath = grammarFile.getParent().getLocation().toOSString();
-		String outputDirectoryArg = "-OUTPUT_DIRECTORY=" + outputFolderPath;
-		
-		String optionStatic = "-STATIC=false";
-		String optionLookahead = "-LOOKAHEAD=3";
-		// String optionForceLookaheadCheck = "-FORCE_LA_CHECK=true";
-		
-		String[] args = new String[] {
-				optionLookahead,
-				// optionForceLookaheadCheck,
-				optionStatic,
-				outputDirectoryArg,
-				grammarFilePath
-				};
-		
-		// TODO waiting for javacc.jar ... int status = Main.mainProgram(args);
-		
-		Runtime r = Runtime.getRuntime();
-		String argsStr = optionLookahead + " " + optionStatic + " " + outputDirectoryArg + " " + grammarFilePath;
-		String cmdLine = "java org.javacc.parser.Main " + argsStr; 
-		System.out.println("GymnastGenerator about to run : " + cmdLine);
-		Process p = r.exec(cmdLine);
-		DataInputStream inStream = new DataInputStream(p.getInputStream());
-		String line = inStream.readLine();
-		System.out.println("GymnastGenerator JavaCC returned : " + line);
-		
-		// make sure the JavaCC generated files show in the workspace
-		grammarFile.getParent().refreshLocal(IResource.DEPTH_ONE, null);
-		
-		/* if (status != 0) {
-			reporter.reportError("JavaCC returned error code: " + status);
-		}
-		*/
-	}
-	
-	private void writeParserDriver(GeneratorContext context, IPackageFragment parserPackageFragment) throws Exception {
-		ParserDriverTemplate parserDriverTemplate = new ParserDriverTemplate();
-		parserDriverTemplate.init(context);
-		String fileText = parserDriverTemplate.generate();
-		
-		IFolder parserPackageFolder = (IFolder)parserPackageFragment.getResource();
-        IFile parserDriverFile = parserPackageFolder.getFile(context.getASTName() + "ParserDriver.java");
-        
-        writeFile(parserDriverFile, fileText);
-	}
-	
-	private void writeExtToken(GeneratorContext context, IPackageFragment parserPackageFragment) throws Exception {
-		ExtTokenTemplate extTokenTemplate = new ExtTokenTemplate();
-		extTokenTemplate.init(context);
-		String fileText = extTokenTemplate.generate();
-		
-		IFolder parserPackageFolder = (IFolder)parserPackageFragment.getResource();
-        IFile extTokenFile = parserPackageFolder.getFile("ExtToken.java");
-        
-        writeFile(extTokenFile, fileText);
-	}
-	
-	private void writeExtTokenManager(GeneratorContext context, IPackageFragment parserPackageFragment) throws Exception {
-		ExtTokenManagerTemplate extTokenManagerTemplate = new ExtTokenManagerTemplate();
-		extTokenManagerTemplate.init(context);
-		String fileText = extTokenManagerTemplate.generate();
-		
-		IFolder parserPackageFolder = (IFolder)parserPackageFragment.getResource();
-        IFile extTokenManagerFile = parserPackageFolder.getFile("Ext" + context.getASTName() + "ParserTokenManager.java");
-        
-        writeFile(extTokenManagerFile, fileText);
-	}
-	
-	private void writeExtSimpleCharStream(GeneratorContext context, IPackageFragment parserPackageFragment) throws Exception {
-		ExtSimpleCharStreamTemplate extSimpleCharStreamTemplate = new ExtSimpleCharStreamTemplate();
-		extSimpleCharStreamTemplate.init(context);
-		String fileText = extSimpleCharStreamTemplate.generate();
-		
-		IFolder parserPackageFolder = (IFolder)parserPackageFragment.getResource();
-        IFile extTokenManagerFile = parserPackageFolder.getFile("ExtSimpleCharStream.java");
-        
-        writeFile(extTokenManagerFile, fileText);
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ExtSimpleCharStreamTemplate.java b/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ExtSimpleCharStreamTemplate.java
deleted file mode 100644
index bd41163..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ExtSimpleCharStreamTemplate.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.gymnast.generators.parser.javacc.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public class ExtSimpleCharStreamTemplate {
-
-  protected static String nl;
-  public static synchronized ExtSimpleCharStreamTemplate create(String lineSeparator)
-  {
-    nl = lineSeparator;
-    ExtSimpleCharStreamTemplate result = new ExtSimpleCharStreamTemplate();
-    nl = null;
-    return result;
-  }
-
-  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
-  protected final String TEXT_1 = "/**" + NL + " * ";
-  protected final String TEXT_2 = NL + " */" + NL + "" + NL + "package ";
-  protected final String TEXT_3 = ";" + NL + "" + NL + "public class ExtSimpleCharStream extends SimpleCharStream {" + NL + "" + NL + "\t/**" + NL + "\t * The current character position in the input stream." + NL + "\t */" + NL + "\tpublic int inputOffset = -1;" + NL + "\t" + NL + "\t/**" + NL + "\t * The start position of the current token in the input stream." + NL + "\t */" + NL + "\tpublic int tokenBeginOffset;" + NL + "\t" + NL + "\t" + NL + "\tpublic ExtSimpleCharStream(java.io.Reader dstream) {" + NL + "\t\tsuper(dstream);" + NL + "\t}" + NL + "\t" + NL + "\tpublic char BeginToken() throws java.io.IOException {" + NL + "\t\ttokenBegin = -1;" + NL + "\t\ttokenBeginOffset = -1;" + NL + "\t\t" + NL + "\t\tchar c = readChar();" + NL + "\t\t" + NL + "\t\ttokenBegin = bufpos;" + NL + "\t\ttokenBeginOffset = inputOffset;" + NL + "" + NL + "\t\treturn c;" + NL + "\t}" + NL + "\t" + NL + "\tprotected void UpdateLineColumn(char c) {" + NL + "\t\tinputOffset++;" + NL + "\t\tsuper.UpdateLineColumn(c);" + NL + "\t}" + NL + "\t" + NL + "}";
-  protected final String TEXT_4 = NL;
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate()
-  {
-    final StringBuffer stringBuffer = new StringBuffer();
-    stringBuffer.append(TEXT_1);
-    stringBuffer.append( _context.getGeneratedByText() );
-    stringBuffer.append(TEXT_2);
-    stringBuffer.append( _context.getParserPackageName() );
-    stringBuffer.append(TEXT_3);
-    stringBuffer.append(TEXT_4);
-    return stringBuffer.toString();
-  }
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ExtTokenManagerTemplate.java b/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ExtTokenManagerTemplate.java
deleted file mode 100644
index 6f77436..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ExtTokenManagerTemplate.java
+++ /dev/null
@@ -1,48 +0,0 @@
-package org.eclipse.gymnast.generators.parser.javacc.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public class ExtTokenManagerTemplate {
-
-  protected static String nl;
-  public static synchronized ExtTokenManagerTemplate create(String lineSeparator)
-  {
-    nl = lineSeparator;
-    ExtTokenManagerTemplate result = new ExtTokenManagerTemplate();
-    nl = null;
-    return result;
-  }
-
-  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
-  protected final String TEXT_1 = "/**" + NL + " * ";
-  protected final String TEXT_2 = NL + " */" + NL + "" + NL + "package ";
-  protected final String TEXT_3 = ";" + NL + "" + NL + "public class Ext";
-  protected final String TEXT_4 = "ParserTokenManager extends ";
-  protected final String TEXT_5 = "ParserTokenManager {" + NL + "" + NL + "\tprivate final ExtSimpleCharStream _stream;" + NL + "\t" + NL + "\tpublic Ext";
-  protected final String TEXT_6 = "ParserTokenManager(ExtSimpleCharStream stream) {" + NL + "\t\tsuper(stream);" + NL + "\t\t_stream = stream;" + NL + "\t}" + NL + "" + NL + "\tprotected Token jjFillToken() {" + NL + "\t\tExtToken t = new ExtToken();" + NL + "\t\tt.kind = jjmatchedKind;" + NL + "\t\tString im = jjstrLiteralImages[jjmatchedKind];" + NL + "\t\tt.image = (im == null) ? input_stream.GetImage() : im;" + NL + "\t\tt.beginLine = input_stream.getBeginLine();" + NL + "\t\tt.beginColumn = input_stream.getBeginColumn();" + NL + "\t\tt.endLine = input_stream.getEndLine();" + NL + "\t\tt.endColumn = input_stream.getEndColumn();" + NL + "\t\tt.tokenOffset = _stream.tokenBeginOffset;" + NL + "\t\treturn t;" + NL + "\t}" + NL + "" + NL + "}";
-  protected final String TEXT_7 = NL;
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate()
-  {
-    final StringBuffer stringBuffer = new StringBuffer();
-    stringBuffer.append(TEXT_1);
-    stringBuffer.append( _context.getGeneratedByText() );
-    stringBuffer.append(TEXT_2);
-    stringBuffer.append( _context.getParserPackageName() );
-    stringBuffer.append(TEXT_3);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_4);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_5);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_6);
-    stringBuffer.append(TEXT_7);
-    return stringBuffer.toString();
-  }
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ExtTokenTemplate.java b/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ExtTokenTemplate.java
deleted file mode 100644
index eb9eafb..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ExtTokenTemplate.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package org.eclipse.gymnast.generators.parser.javacc.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public class ExtTokenTemplate {
-
-  protected static String nl;
-  public static synchronized ExtTokenTemplate create(String lineSeparator)
-  {
-    nl = lineSeparator;
-    ExtTokenTemplate result = new ExtTokenTemplate();
-    nl = null;
-    return result;
-  }
-
-  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
-  protected final String TEXT_1 = "/**" + NL + " * ";
-  protected final String TEXT_2 = NL + " */" + NL + "" + NL + "package ";
-  protected final String TEXT_3 = ";" + NL + "" + NL + "public class ExtToken extends Token {" + NL + "" + NL + "\t/**" + NL + "\t * The start position of the token in the input stream." + NL + "\t */" + NL + "\tpublic int tokenOffset;" + NL + "" + NL + "}";
-  protected final String TEXT_4 = NL;
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate()
-  {
-    final StringBuffer stringBuffer = new StringBuffer();
-    stringBuffer.append(TEXT_1);
-    stringBuffer.append( _context.getGeneratedByText() );
-    stringBuffer.append(TEXT_2);
-    stringBuffer.append( _context.getParserPackageName() );
-    stringBuffer.append(TEXT_3);
-    stringBuffer.append(TEXT_4);
-    return stringBuffer.toString();
-  }
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/JavaCCParserTemplate.java b/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/JavaCCParserTemplate.java
deleted file mode 100644
index 7c1966b..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/JavaCCParserTemplate.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package org.eclipse.gymnast.generators.parser.javacc.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public class JavaCCParserTemplate {
-
-  protected static String nl;
-  public static synchronized JavaCCParserTemplate create(String lineSeparator)
-  {
-    nl = lineSeparator;
-    JavaCCParserTemplate result = new JavaCCParserTemplate();
-    nl = null;
-    return result;
-  }
-
-  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
-  protected final String TEXT_1 = "/**" + NL + " * ";
-  protected final String TEXT_2 = NL + " */" + NL + "" + NL + "PARSER_BEGIN(";
-  protected final String TEXT_3 = "Parser)" + NL + "package ";
-  protected final String TEXT_4 = ";" + NL + "" + NL + "import ";
-  protected final String TEXT_5 = ".*;" + NL + "import ";
-  protected final String TEXT_6 = ".*;" + NL + "" + NL + "public class ";
-  protected final String TEXT_7 = "Parser {" + NL + "" + NL + "  public TokenInfo createTokenInfo(Token tok) {" + NL + "    if (!(tok instanceof ExtToken)) return null;" + NL + "    " + NL + "    ExtToken extToken = (ExtToken) tok;" + NL + "    return new TokenInfo(tok.image, extToken.tokenOffset, tok.kind);" + NL + "  }" + NL + "" + NL + "}" + NL + "PARSER_END(";
-  protected final String TEXT_8 = "Parser)" + NL;
-  protected final String TEXT_9 = NL;
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate()
-  {
-    final StringBuffer stringBuffer = new StringBuffer();
-    stringBuffer.append(TEXT_1);
-    stringBuffer.append( _context.getGeneratedByText() );
-    stringBuffer.append(TEXT_2);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_3);
-    stringBuffer.append( _context.getParserPackageName() );
-    stringBuffer.append(TEXT_4);
-    stringBuffer.append( _context.getASTPackageName() );
-    stringBuffer.append(TEXT_5);
-    stringBuffer.append( _context.getLDT_ASTNodePackageName() );
-    stringBuffer.append(TEXT_6);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_7);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_8);
-    stringBuffer.append(TEXT_9);
-    return stringBuffer.toString();
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ParserDriverTemplate.java b/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ParserDriverTemplate.java
deleted file mode 100644
index 145b1ce..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/src/org/eclipse/gymnast/generators/parser/javacc/templates/ParserDriverTemplate.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.gymnast.generators.parser.javacc.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public class ParserDriverTemplate {
-
-  protected static String nl;
-  public static synchronized ParserDriverTemplate create(String lineSeparator)
-  {
-    nl = lineSeparator;
-    ParserDriverTemplate result = new ParserDriverTemplate();
-    nl = null;
-    return result;
-  }
-
-  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
-  protected final String TEXT_1 = "/**" + NL + " * ";
-  protected final String TEXT_2 = NL + " */" + NL + "" + NL + "package ";
-  protected final String TEXT_3 = ";" + NL + "" + NL + "import java.io.Reader;" + NL + "import ";
-  protected final String TEXT_4 = ".*;" + NL + "import ";
-  protected final String TEXT_5 = ".*;" + NL + "" + NL + "public class ";
-  protected final String TEXT_6 = "ParserDriver implements IParser {" + NL + "" + NL + "    public ParseContext parse(Reader input) {" + NL + "    \t" + NL + "    \tExtSimpleCharStream stream = new ExtSimpleCharStream(input);" + NL + "    \tExt";
-  protected final String TEXT_7 = "ParserTokenManager tokenManager = new Ext";
-  protected final String TEXT_8 = "ParserTokenManager(stream);" + NL + "    \t";
-  protected final String TEXT_9 = "Parser parser = new ";
-  protected final String TEXT_10 = "Parser(tokenManager);" + NL + "    \tParseContext parseContext = new ParseContext();" + NL + "    \tparseCompUnit(parser, parseContext);" + NL + "    \t" + NL + "    \tif (parseContext.getMessageCount() == 0) {" + NL + "\t\t\tSystem.out.println(\"Parse OK!\");" + NL + "\t\t}" + NL + "\t\telse {" + NL + "\t\t\tParseMessage[] msgs = parseContext.getMessages();" + NL + "\t\t\tfor (int i = 0; i < msgs.length; i++) {" + NL + "\t\t\t\tSystem.err.println(msgs[i].getMessage());" + NL + "\t\t\t}" + NL + "\t\t}" + NL + "\t\t" + NL + "\t\treturn parseContext;" + NL + "    }" + NL + "    " + NL + "    private void parseCompUnit(";
-  protected final String TEXT_11 = "Parser parser, ParseContext parseContext) {" + NL + "    \ttry {" + NL + "\t\t\t";
-  protected final String TEXT_12 = " compUnit = parser.";
-  protected final String TEXT_13 = "();" + NL + "\t\t\tparseContext.setParseRoot(compUnit);" + NL + "\t\t} catch (ParseException ex) {" + NL + "\t\t\tParseError parseError;" + NL + "\t\t\tToken token = ex.currentToken;" + NL + "\t\t\tif (token instanceof ExtToken) {" + NL + "\t\t\t\tExtToken extToken = (ExtToken) token;" + NL + "\t\t\t\tint offset = extToken.tokenOffset;" + NL + "\t\t\t\tString tokenText = token.image;" + NL + "\t\t\t\tint length = (tokenText == null) ? 0 : tokenText.length();" + NL + "\t\t\t\tparseError = new ParseError(ex.getMessage(), offset, length);" + NL + "\t\t\t}" + NL + "\t\t\telse {" + NL + "\t\t\t\tparseError = new ParseError(ex.getMessage(), 1);" + NL + "\t\t\t}" + NL + "\t\t\tparseContext.addParseMessage(parseError);" + NL + "\t\t}" + NL + "\t\tcatch (TokenMgrError ex) {" + NL + "\t\t\tParseError parseError = new ParseError(ex.getMessage(), 1);" + NL + "\t\t\tparseContext.addParseMessage(parseError);" + NL + "\t\t}" + NL + "    }" + NL + "" + NL + "}";
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate()
-  {
-    final StringBuffer stringBuffer = new StringBuffer();
-    stringBuffer.append(TEXT_1);
-    stringBuffer.append( _context.getGeneratedByText() );
-    stringBuffer.append(TEXT_2);
-    stringBuffer.append( _context.getParserPackageName() );
-    stringBuffer.append(TEXT_3);
-    stringBuffer.append( _context.getASTPackageName() );
-    stringBuffer.append(TEXT_4);
-    stringBuffer.append( _context.getLDT_ParserPackageName() );
-    stringBuffer.append(TEXT_5);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_6);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_7);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_8);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_9);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_10);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_11);
-    stringBuffer.append( _context.getEntryRuleClassName() );
-    stringBuffer.append(TEXT_12);
-    stringBuffer.append( _context.getEntryRuleName() );
-    stringBuffer.append(TEXT_13);
-    return stringBuffer.toString();
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extSimpleCharStream.javajet b/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extSimpleCharStream.javajet
deleted file mode 100644
index 5de6af3..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extSimpleCharStream.javajet
+++ /dev/null
@@ -1,45 +0,0 @@
-<%@ jet package="org.eclipse.gymnast.generators.parser.javacc.templates"
-        imports="org.eclipse.gymnast.generator.core.generator.GeneratorContext"
-        class="ExtSimpleCharStreamTemplate"
-        skeleton="extSimpleCharStream.skeleton" %>
-/**
- * <%= _context.getGeneratedByText() %>
- */
-
-package <%= _context.getParserPackageName() %>;
-
-public class ExtSimpleCharStream extends SimpleCharStream {
-
-	/**
-	 * The current character position in the input stream.
-	 */
-	public int inputOffset = -1;
-	
-	/**
-	 * The start position of the current token in the input stream.
-	 */
-	public int tokenBeginOffset;
-	
-	
-	public ExtSimpleCharStream(java.io.Reader dstream) {
-		super(dstream);
-	}
-	
-	public char BeginToken() throws java.io.IOException {
-		tokenBegin = -1;
-		tokenBeginOffset = -1;
-		
-		char c = readChar();
-		
-		tokenBegin = bufpos;
-		tokenBeginOffset = inputOffset;
-
-		return c;
-	}
-	
-	protected void UpdateLineColumn(char c) {
-		inputOffset++;
-		super.UpdateLineColumn(c);
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extSimpleCharStream.skeleton b/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extSimpleCharStream.skeleton
deleted file mode 100644
index e74f460..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extSimpleCharStream.skeleton
+++ /dev/null
@@ -1,12 +0,0 @@
-public class CLASS {
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate() {
-    return "";
-  }
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extToken.javajet b/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extToken.javajet
deleted file mode 100644
index 74df3e6..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extToken.javajet
+++ /dev/null
@@ -1,18 +0,0 @@
-<%@ jet package="org.eclipse.gymnast.generators.parser.javacc.templates"
-        imports="org.eclipse.gymnast.generator.core.generator.GeneratorContext"
-        class="ExtTokenTemplate"
-        skeleton="extToken.skeleton" %>
-/**
- * <%= _context.getGeneratedByText() %>
- */
-
-package <%= _context.getParserPackageName() %>;
-
-public class ExtToken extends Token {
-
-	/**
-	 * The start position of the token in the input stream.
-	 */
-	public int tokenOffset;
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extToken.skeleton b/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extToken.skeleton
deleted file mode 100644
index e74f460..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extToken.skeleton
+++ /dev/null
@@ -1,12 +0,0 @@
-public class CLASS {
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate() {
-    return "";
-  }
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extTokenManager.javajet b/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extTokenManager.javajet
deleted file mode 100644
index 35a8bc0..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extTokenManager.javajet
+++ /dev/null
@@ -1,33 +0,0 @@
-<%@ jet package="org.eclipse.gymnast.generators.parser.javacc.templates"
-        imports="org.eclipse.gymnast.generator.core.generator.GeneratorContext"
-        class="ExtTokenManagerTemplate"
-        skeleton="extTokenManager.skeleton" %>
-/**
- * <%= _context.getGeneratedByText() %>
- */
-
-package <%= _context.getParserPackageName() %>;
-
-public class Ext<%= _context.getASTName() %>ParserTokenManager extends <%= _context.getASTName() %>ParserTokenManager {
-
-	private final ExtSimpleCharStream _stream;
-	
-	public Ext<%= _context.getASTName() %>ParserTokenManager(ExtSimpleCharStream stream) {
-		super(stream);
-		_stream = stream;
-	}
-
-	protected Token jjFillToken() {
-		ExtToken t = new ExtToken();
-		t.kind = jjmatchedKind;
-		String im = jjstrLiteralImages[jjmatchedKind];
-		t.image = (im == null) ? input_stream.GetImage() : im;
-		t.beginLine = input_stream.getBeginLine();
-		t.beginColumn = input_stream.getBeginColumn();
-		t.endLine = input_stream.getEndLine();
-		t.endColumn = input_stream.getEndColumn();
-		t.tokenOffset = _stream.tokenBeginOffset;
-		return t;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extTokenManager.skeleton b/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extTokenManager.skeleton
deleted file mode 100644
index e74f460..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/extTokenManager.skeleton
+++ /dev/null
@@ -1,12 +0,0 @@
-public class CLASS {
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate() {
-    return "";
-  }
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parser.javaccjet b/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parser.javaccjet
deleted file mode 100644
index 66ead6e..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parser.javaccjet
+++ /dev/null
@@ -1,26 +0,0 @@
-<%@ jet package="org.eclipse.gymnast.generators.parser.javacc.templates"
-        imports="org.eclipse.gymnast.generator.core.generator.GeneratorContext"
-        class="JavaCCParserTemplate"
-        skeleton="parser.skeleton" %>
-/**
- * <%= _context.getGeneratedByText() %>
- */
-
-PARSER_BEGIN(<%= _context.getASTName() %>Parser)
-package <%= _context.getParserPackageName() %>;
-
-import <%= _context.getASTPackageName() %>.*;
-import <%= _context.getLDT_ASTNodePackageName() %>.*;
-
-public class <%= _context.getASTName() %>Parser {
-
-  public TokenInfo createTokenInfo(Token tok) {
-    if (!(tok instanceof ExtToken)) return null;
-    
-    ExtToken extToken = (ExtToken) tok;
-    return new TokenInfo(tok.image, extToken.tokenOffset, tok.kind);
-  }
-
-}
-PARSER_END(<%= _context.getASTName() %>Parser)
-
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parser.skeleton b/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parser.skeleton
deleted file mode 100644
index fa4b3f4..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parser.skeleton
+++ /dev/null
@@ -1,12 +0,0 @@
-public class CLASS {
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate() {
-    return "";
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parserDriver.javajet b/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parserDriver.javajet
deleted file mode 100644
index 1a7d3b9..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parserDriver.javajet
+++ /dev/null
@@ -1,63 +0,0 @@
-<%@ jet package="org.eclipse.gymnast.generators.parser.javacc.templates"
-        imports="org.eclipse.gymnast.generator.core.generator.GeneratorContext"
-        class="ParserDriverTemplate"
-        skeleton="parserDriver.skeleton" %>
-/**
- * <%= _context.getGeneratedByText() %>
- */
-
-package <%= _context.getParserPackageName() %>;
-
-import java.io.Reader;
-import <%= _context.getASTPackageName() %>.*;
-import <%= _context.getLDT_ParserPackageName() %>.*;
-
-public class <%= _context.getASTName() %>ParserDriver implements IParser {
-
-    public ParseContext parse(Reader input) {
-    	
-    	ExtSimpleCharStream stream = new ExtSimpleCharStream(input);
-    	Ext<%= _context.getASTName() %>ParserTokenManager tokenManager = new Ext<%= _context.getASTName() %>ParserTokenManager(stream);
-    	<%= _context.getASTName() %>Parser parser = new <%= _context.getASTName() %>Parser(tokenManager);
-    	ParseContext parseContext = new ParseContext();
-    	parseCompUnit(parser, parseContext);
-    	
-    	if (parseContext.getMessageCount() == 0) {
-			System.out.println("Parse OK!");
-		}
-		else {
-			ParseMessage[] msgs = parseContext.getMessages();
-			for (int i = 0; i < msgs.length; i++) {
-				System.err.println(msgs[i].getMessage());
-			}
-		}
-		
-		return parseContext;
-    }
-    
-    private void parseCompUnit(<%= _context.getASTName() %>Parser parser, ParseContext parseContext) {
-    	try {
-			<%= _context.getEntryRuleClassName() %> compUnit = parser.<%= _context.getEntryRuleName() %>();
-			parseContext.setParseRoot(compUnit);
-		} catch (ParseException ex) {
-			ParseError parseError;
-			Token token = ex.currentToken;
-			if (token instanceof ExtToken) {
-				ExtToken extToken = (ExtToken) token;
-				int offset = extToken.tokenOffset;
-				String tokenText = token.image;
-				int length = (tokenText == null) ? 0 : tokenText.length();
-				parseError = new ParseError(ex.getMessage(), offset, length);
-			}
-			else {
-				parseError = new ParseError(ex.getMessage(), 1);
-			}
-			parseContext.addParseMessage(parseError);
-		}
-		catch (TokenMgrError ex) {
-			ParseError parseError = new ParseError(ex.getMessage(), 1);
-			parseContext.addParseMessage(parseError);
-		}
-    }
-
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parserDriver.skeleton b/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parserDriver.skeleton
deleted file mode 100644
index fa4b3f4..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.javacc/templates/parserDriver.skeleton
+++ /dev/null
@@ -1,12 +0,0 @@
-public class CLASS {
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate() {
-    return "";
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/.classpath b/plugins/org.eclipse.gymnast.generators.parser.lpg/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/.cvsignore b/plugins/org.eclipse.gymnast.generators.parser.lpg/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/.jetproperties b/plugins/org.eclipse.gymnast.generators.parser.lpg/.jetproperties
deleted file mode 100644
index 5585019..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/.jetproperties
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<jet-settings>
-	<template-container>templates</template-container>	<source-container>src</source-container>
-</jet-settings>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/.project b/plugins/org.eclipse.gymnast.generators.parser.lpg/.project
deleted file mode 100644
index e957600..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.generators.parser.lpg</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.emf.codegen.JETBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.emf.codegen.jet.IJETNature</nature>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/META-INF/MANIFEST.MF b/plugins/org.eclipse.gymnast.generators.parser.lpg/META-INF/MANIFEST.MF
deleted file mode 100644
index 6b2e15b..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: LPG Parser Generator Plug-in (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.generators.parser.lpg;singleton:=true
-Bundle-Version: 0.3.0.qualifier
-Bundle-Activator: org.eclipse.gymnast.generators.parser.lpg.Activator
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.core.resources,
- org.eclipse.jdt.core,
- org.eclipse.gymnast.generator.core,
- org.eclipse.gymnast.runtime.core
-Eclipse-LazyStart: true
-Bundle-ClassPath: .
-Export-Package: org.eclipse.gymnast.generators.parser.lpg
-Bundle-Vendor: Eclipse.org
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/build.properties b/plugins/org.eclipse.gymnast.generators.parser.lpg/build.properties
deleted file mode 100644
index 2fd90e1..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               templates/
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/plugin.xml b/plugins/org.eclipse.gymnast.generators.parser.lpg/plugin.xml
deleted file mode 100644
index e110b52..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-   <extension
-         point="org.eclipse.gymnast.generator.core.parserGenerators">
-      <parserGenerator
-            class="org.eclipse.gymnast.generators.parser.lpg.LPGParserGenerator"
-            id="lpg"/>
-   </extension>
-
-</plugin>
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/Activator.java b/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/Activator.java
deleted file mode 100644
index 4fdc7aa..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/Activator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.gymnast.generators.parser.lpg;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.gymnast.generators.parser.lpg";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/LPGParserGenerator.java b/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/LPGParserGenerator.java
deleted file mode 100644
index 759fdc9..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/LPGParserGenerator.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.parser.lpg;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-import org.eclipse.gymnast.generator.core.registry.ParserGenerator;
-import org.eclipse.gymnast.generators.parser.lpg.resources.LPGFiles;
-import org.eclipse.gymnast.generators.parser.lpg.templates.KWLexerTemplate;
-import org.eclipse.gymnast.generators.parser.lpg.templates.LexerTemplate;
-import org.eclipse.gymnast.generators.parser.lpg.templates.ParserTemplate;
-import org.eclipse.jdt.core.IPackageFragment;
-
-public class LPGParserGenerator extends ParserGenerator {
-
-	private static final String LPG_EXE = "C:\\eclipse\\emfatic\\lpg\\sourceforge\\lpgdistribution\\lpgexe\\lpg.exe";
-	
-	public void generateParser(GeneratorContext context) throws Exception {
-		IPackageFragment parserPackageFragment = context.getParserPackage();
-		
-		//
-		// KeywordLexer
-		//
-		copyLPGFile(context, "KeywordTemplateB.g");
-		copyLPGFile(context, "KWLexerMap.g");
-		IFile kwLexerFile = writeKWLexerFile(context);
-		invokeLPG(context, kwLexerFile);
-		
-		//
-		// Lexer
-		//
-		copyLPGFile(context, "LexerTemplateB.g");
-		IFile lexerFile = writeLexerFile(context);
-		invokeLPG(context, lexerFile);
-		
-		//
-		// Parser
-		//
-		copyLPGFile(context, "dtParserTemplateB.g");
-		IFile parserFile = writeParserFile(context);
-		invokeLPG(context, parserFile);
-		
-		parserPackageFragment.getResource().refreshLocal(IResource.DEPTH_ONE, null);
-	}
-	
-	private IFile writeKWLexerFile(GeneratorContext context) throws Exception {
-		String fileName = context.getASTName() + "KWLexer.g";
-		context.getUtil().report("Writing LPG KWLexer: " + fileName);
-		
-		KWLexerTemplate template = new KWLexerTemplate();
-		template.init(context);
-		String fileText = template.generate();
-		
-		IPath parserPackagePath = getProjectRelativePath(context);
-		IPath filePath = parserPackagePath.append(fileName);
-		IFile file = context.getProject().getFile(filePath);
-		writeFile(file, fileText);
-		return file;
-	}
-	
-	private IFile writeLexerFile(GeneratorContext context) throws Exception {
-		String fileName = context.getASTName() + "Lexer.g";
-		context.getUtil().report("Writing LPG Lexer: " + fileName);
-		
-		// start with the generated part
-		LexerTemplate template = new LexerTemplate();
-		template.init(context);
-		StringBuffer fileText = new StringBuffer();
-		fileText.append(template.generate());
-		
-		// append the user supplied part
-		IPath astFolderPath = context.getASTFile().getProjectRelativePath().removeLastSegments(1);
-		String userLexerFileName = context.getASTName() + "Lexer.lpg";
-		IPath userLexerFilePath = astFolderPath.append(userLexerFileName);
-		IFile userLexerFile = context.getProject().getFile(userLexerFilePath);
-		if (userLexerFile.exists()) {
-			fileText.append("\n");
-			BufferedReader reader = new BufferedReader(new InputStreamReader(userLexerFile.getContents()));
-			String line = reader.readLine();
-			while(line != null) {
-				fileText.append(line + "\n");
-				line = reader.readLine();
-			}
-		}
-		
-		IPath parserPackagePath = getProjectRelativePath(context);
-		IPath filePath = parserPackagePath.append(fileName);
-		IFile file = context.getProject().getFile(filePath);
-		writeFile(file, fileText.toString());
-		return file;
-	}
-	
-	private IFile writeParserFile(GeneratorContext context) throws Exception {
-		String fileName = context.getASTName() + "Parser.g";
-		context.getUtil().report("Writing LPG Parser: " + fileName);
-		
-		ParserTemplate template = new ParserTemplate();
-		template.init(context);
-		String fileText = template.generate();
-		
-		IPath parserPackagePath = getProjectRelativePath(context);
-		IPath filePath = parserPackagePath.append(fileName);
-		IFile file = context.getProject().getFile(filePath);
-		writeFile(file, fileText);
-		return file;
-	}
-	
-	private IFile copyLPGFile(GeneratorContext context, String fileName) throws Exception {
-		context.getUtil().report("Copying LPG file: " + fileName);
-		
-		IPath parserPackagePath = getProjectRelativePath(context);
-		IPath filePath = parserPackagePath.append(fileName);
-		IFile file = context.getProject().getFile(filePath);
-		
-		InputStream input = LPGFiles.getInputStream(fileName);
-		writeFile(file, input);
-		return file;
-	}
-	
-	private IPath getProjectRelativePath(GeneratorContext context) {
-		return context.getParserPackage().getResource().getProjectRelativePath();
-	}
-	
-	private void invokeLPG(GeneratorContext context, IFile lpgFile) throws Exception {
-		if (lpgFile == null) return;
-		
-		context.getUtil().report("Invoking LPG on file: " + lpgFile.getName());
-		
-		IPackageFragment parserPackageFragment = context.getParserPackage();
-		File parserPackageDir = parserPackageFragment.getResource().getLocation().toFile();
-		
-		String command = LPG_EXE + " " + lpgFile.getName();
-		
-		Process process = Runtime.getRuntime().exec(command, null, parserPackageDir);
-		ProcessOutputReader inputReader = new ProcessOutputReader(process.getInputStream());
-		ProcessOutputReader errorReader = new ProcessOutputReader(process.getErrorStream());
-		process.waitFor();
-		
-		String sdtOut = inputReader.getData();
-		if (sdtOut.trim().length() > 0) {
-			context.getUtil().report(sdtOut);
-		}
-		String sdtErr = errorReader.getData();
-		if (sdtErr.trim().length() > 0) {
-			context.getUtil().reportError(sdtErr);
-		}
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/ProcessOutputReader.java b/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/ProcessOutputReader.java
deleted file mode 100644
index 29794a4..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/ProcessOutputReader.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.parser.lpg;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-public class ProcessOutputReader {
-
-	private final InputStream _inputStream;
-	private final StringBuffer _buffer;
-	private final ReaderThread _readerThread;
-	
-	public ProcessOutputReader(InputStream inputStream) {
-		_inputStream = inputStream;
-		_buffer = new StringBuffer();
-		_readerThread = new ReaderThread();
-		_readerThread.start();
-	}
-	
-	public boolean isFinished() {
-		return !_readerThread.isAlive();
-	}
-	
-	public String getData() {
-		return _buffer.toString();
-	}
-	
-	private class ReaderThread extends Thread {
-		
-		public void run() {
-			BufferedReader reader = new BufferedReader(new InputStreamReader(_inputStream));
-			try {
-//				String l = reader.readLine();
-//				while (l != null) {
-//					System.out.println(l);
-//					l = reader.readLine();
-//				}
-				int c = reader.read();
-				while (c != -1) {
-					_buffer.append((char)c);
-					c = reader.read();
-				}
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/KWLexerMap.g b/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/KWLexerMap.g
deleted file mode 100644
index c812210..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/KWLexerMap.g
+++ /dev/null
@@ -1,77 +0,0 @@
-$Terminals
-    _
-    A    B    C    D    E    F    G    H    I    J    K    L    M
-    N    O    P    Q    R    S    T    U    V    W    X    Y    Z
-    a    b    c    d    e    f    g    h    i    j    k    l    m
-    n    o    p    q    r    s    t    u    v    w    x    y    z
-$End
-
-$Headers
-    /.
-        final static int tokenKind[] = new int[128];
-        static
-        {
-            tokenKind['_'] = Char__;
-            
-            tokenKind['a'] = Char_a;
-            tokenKind['b'] = Char_b;
-            tokenKind['c'] = Char_c;
-            tokenKind['d'] = Char_d;
-            tokenKind['e'] = Char_e;
-            tokenKind['f'] = Char_f;
-            tokenKind['g'] = Char_g;
-            tokenKind['h'] = Char_h;
-            tokenKind['i'] = Char_i;
-            tokenKind['j'] = Char_j;
-            tokenKind['k'] = Char_k;
-            tokenKind['l'] = Char_l;
-            tokenKind['m'] = Char_m;
-            tokenKind['n'] = Char_n;
-            tokenKind['o'] = Char_o;
-            tokenKind['p'] = Char_p;
-            tokenKind['q'] = Char_q;
-            tokenKind['r'] = Char_r;
-            tokenKind['s'] = Char_s;
-            tokenKind['t'] = Char_t;
-            tokenKind['u'] = Char_u;
-            tokenKind['v'] = Char_v;
-            tokenKind['w'] = Char_w;
-            tokenKind['x'] = Char_x;
-            tokenKind['y'] = Char_y;
-            tokenKind['z'] = Char_z;
-
-            tokenKind['A'] = Char_A;
-            tokenKind['B'] = Char_B;
-            tokenKind['C'] = Char_C;
-            tokenKind['D'] = Char_D;
-            tokenKind['E'] = Char_E;
-            tokenKind['F'] = Char_F;
-            tokenKind['G'] = Char_G;
-            tokenKind['H'] = Char_H;
-            tokenKind['I'] = Char_I;
-            tokenKind['J'] = Char_J;
-            tokenKind['K'] = Char_K;
-            tokenKind['L'] = Char_L;
-            tokenKind['M'] = Char_M;
-            tokenKind['N'] = Char_N;
-            tokenKind['O'] = Char_O;
-            tokenKind['P'] = Char_P;
-            tokenKind['Q'] = Char_Q;
-            tokenKind['R'] = Char_R;
-            tokenKind['S'] = Char_S;
-            tokenKind['T'] = Char_T;
-            tokenKind['U'] = Char_U;
-            tokenKind['V'] = Char_V;
-            tokenKind['W'] = Char_W;
-            tokenKind['X'] = Char_X;
-            tokenKind['Y'] = Char_Y;
-            tokenKind['Z'] = Char_Z;
-        };
-    
-        final int getKind(char c)
-        {
-            return (c < 128 ? tokenKind[c] : 0);
-        }
-    ./
-$End
-
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/KeywordTemplateB.g b/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/KeywordTemplateB.g
deleted file mode 100644
index 77d202a..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/KeywordTemplateB.g
+++ /dev/null
@@ -1,118 +0,0 @@
---
--- An LPG Lexer Template Using lpg.jar
---
--- An instance of this template must have a $Export section and the export_terminals option
--- There must be only one non-terminal, the start symbol, for the keywords
--- The action for each keyword should be a call to $setResult(terminal_symbol)
---
--- Macro that must be defined in an instance of this template:
---
---     $eof_char
---
--- Macros that may be redefined in an instance of this template
---
---     $import_classes
---     $action_class
---
--- B E G I N N I N G   O F   T E M P L A T E   KeywordTemplateB
---
-%Options Programming_Language=java,margin=4
-%Options table
-%options action=("*.java", "/.", "./")
-%options ParseTable=lpg.lpgjavaruntime.ParseTable
-
-$Notice /.$copyright./
-
-$Define
-
-    $copyright /../
-    $import_classes /../
-    $action_class /.$action_type./
-    $ast_class /.$ast_type./
-
-    --
-    -- Macros that may be needed in an instance of this template
-    --
-    $setResult /.keywordKind[$rule_number] = ./
-
-    --
-    -- Macros useful for specifying actions
-    --
-    $Header
-    /.
-            //
-            // Rule $rule_number:  $rule_text
-            //./
-
-    $BeginAction /.$Header./
-
-    $EndAction /../
-$End
-
-$Headers
-    /.
-    $copyright
-    $import_classes
-
-    public class $action_class extends $prs_type implements $exp_type
-    {
-        private char[] inputChars;
-        private final int keywordKind[] = new int[$num_rules + 1];
-
-        public int[] getKeywordKinds() { return keywordKind; }
-
-        public int lexer(int curtok, int lasttok)
-        {
-            int current_kind = getKind(inputChars[curtok]),
-                act;
-
-            for (act = tAction(START_STATE, current_kind);
-                 act > NUM_RULES && act < ACCEPT_ACTION;
-                 act = tAction(act, current_kind))
-            {
-                curtok++;
-                current_kind = (curtok > lasttok
-                                       ? $eof_char
-                                       : getKind(inputChars[curtok]));
-            }
-
-            if (act > ERROR_ACTION)
-            {
-                curtok++;
-                act -= ERROR_ACTION;
-            }
-
-            return keywordKind[act == ERROR_ACTION  || curtok <= lasttok ? 0 : act];
-        }
-
-        public void setInputChars(char[] inputChars) { this.inputChars = inputChars; }
-
-    ./
-$End
-
-$Rules
-    /.
-
-        public $action_class(char[] inputChars, int identifierKind)
-        {
-            this.inputChars = inputChars;
-            keywordKind[0] = identifierKind;
-    ./
-$End
-
-$Trailers
-    /.
-
-            for (int i = 0; i < keywordKind.length; i++)
-            {
-                if (keywordKind[i] == 0)
-                    keywordKind[i] = identifierKind;
-            }
-        }
-    }
-    ./
-$End
-
---
--- E N D   O F   T E M P L A T E
---
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/LPGFiles.java b/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/LPGFiles.java
deleted file mode 100644
index 26c49c3..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/LPGFiles.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 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
- *******************************************************************************/
-
-package org.eclipse.gymnast.generators.parser.lpg.resources;
-
-import java.io.InputStream;
-
-public class LPGFiles {
-
-	public static InputStream getInputStream(String fileName) {
-		return LPGFiles.class.getResourceAsStream(fileName);
-	}
-	
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/LexerTemplateB.g b/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/LexerTemplateB.g
deleted file mode 100644
index 268acb2..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/LexerTemplateB.g
+++ /dev/null
@@ -1,188 +0,0 @@
---
--- An LPG Lexer Template Using lpg.jar
---
--- An instance of this template must have a $Export section and the export_terminals option
---
--- Macro that must be defined in an instance of this template:
---
---     $eof_token
---
--- Macros that may be redefined in an instance of this template
---
---     $import_classes
---     $action_class
---     $additional_interfaces
---     $super_stream_class -- subclass com.ibm.lpg.LpgLexStream for getKind
---     $prs_stream_class -- use /.PrsStream./ if not subclassing
---     $prs_stream       -- use /.prsStream./
---
--- B E G I N N I N G   O F   T E M P L A T E   LexerTemplateB
---
-%Options programming_language=java,margin=4
-%Options table
-%options action=("*.java", "/.", "./")
-%options ParseTable=lpg.lpgjavaruntime.ParseTable
-
-$Notice /.$copyright./
-
-$Define
-
-    $copyright /../
-
-    --
-    -- Macros that may be needed in an instance of this template
-    --
-    $import_classes /../
-    $action_class /.$action_type./
-    $additional_interfaces /../
-    $super_stream_class /.LpgLexStream./
-    $prs_stream_class /.PrsStream./
-    $prs_stream /.prsStream./
-    
-    $setSym1 /.lexParser.setSym1./
-    $setResult /.lexParser.setSym1./
-    $getSym /.lexParser.getSym./
-    $getToken /.lexParser.getToken./
-    $getLeftSpan /.lexParser.getFirstToken./
-    $getRightSpan /.lexParser.getLastToken./
-
-    --
-    -- Macros useful for specifying actions
-    --
-    $Header
-    /.
-                //
-                // Rule $rule_number:  $rule_text
-                //./
-
-    $DefaultAction
-    /. $Header
-                case $rule_number: { ./
-
-    $BeginAction
-    /.$DefaultAction./
-
-    $EndAction
-    /.          break;
-                }./
-
-    $BeginJava
-    /.$BeginAction
-                $symbol_declarations./
-
-    $EndJava /.$EndAction./
-
-    $NoAction
-    /. $Header
-                case $rule_number:
-                    break; ./
-
-    $BeginActions
-    /.
-        public void ruleAction( int ruleNumber)
-        {
-            switch(ruleNumber)
-            {./
-
-    $SplitActions
-    /.
-	            default:
-	                ruleAction$rule_number(ruleNumber);
-	                break;
-	        }
-	        return;
-	    }
-	
-	    public void ruleAction$rule_number(int ruleNumber)
-	    {
-	        switch (ruleNumber)
-	        {./
-
-    $EndActions
-    /.
-                default:
-                    break;
-            }
-            return;
-        }./
-$End
-
-$Headers
-    /.
-    $copyright
-    $import_classes
-    import lpg.lpgjavaruntime.*;
-
-    public class $action_class extends $super_stream_class implements $exp_type, $sym_type, RuleAction$additional_interfaces
-    {
-        private static ParseTable prs = new $prs_type();
-        private $prs_stream_class $prs_stream;
-        private LexParser lexParser = new LexParser(this, prs, this);
-
-        public $prs_stream_class getPrsStream() { return $prs_stream; }
-        public int getToken(int i)      { return lexParser.getToken(i); }
-        public int getFirstToken(int i) { return lexParser.getFirstToken(i); }
-        public int getLastToken(int i)  { return lexParser.getLastToken(i); }
-
-        public int getLeftSpan() { return lexParser.getFirstToken(); }
-        public int getRightSpan() { return lexParser.getLastToken(); }
-
-        public $action_class(String filename, int tab) throws java.io.IOException 
-        {
-            super(filename, tab);
-        }
-
-        public $action_class(char[] input_chars, String filename, int tab)
-        {
-            super(input_chars, filename, tab);
-        }
-
-        public $action_class(char[] input_chars, String filename)
-        {
-            this(input_chars, filename, 1);
-        }
-
-        public $action_class() {}
-
-        public String[] orderedExportedSymbols() { return $exp_type.orderedTerminalSymbols; }
-        public LexStream getLexStream() { return (LexStream) this; }
-
-        public void lexer($prs_stream_class prsStream)
-        {
-            lexer(null, prsStream);
-        }
-
-        public void lexer(Monitor monitor, $prs_stream_class prsStream)
-        {
-            if (getInputChars() == null)
-                throw new NullPointerException("LexStream was not initialized");
-
-            this.$prs_stream = prsStream;
-
-            prsStream.makeToken(0, 0, 0); // Token list must start with a bad token
-                
-            lexParser.parseCharacters(monitor);  // Lex the input characters
-                
-            int i = getStreamIndex();
-            prsStream.makeToken(i, i, $eof_token); // and end with the end of file token
-            prsStream.setStreamLength(prsStream.getSize());
-                
-            return;
-        }
-    ./
-$End
-
-$Rules
-    /.$BeginActions./
-$End
-
-$Trailers
-    /.
-        $EndActions
-    }
-    ./
-$End
-
---
--- E N D   O F   T E M P L A T E
---
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/dtParserTemplateB.g b/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/dtParserTemplateB.g
deleted file mode 100644
index 492e98b..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/resources/dtParserTemplateB.g
+++ /dev/null
@@ -1,242 +0,0 @@
---
--- An LPG Parser Template Using lpg.jar
---
---
--- B E G I N N I N G   O F   T E M P L A T E   dtParserTemplateB
---
--- In a parser using this template, the following macros may be redefined:
---
---     $import_classes
---     $action_class
---     $additional_interfaces
---     $ast_class
---
-%Options programming_language=java,margin=4
-%Options table,error_maps,scopes
-%options action=("*.java", "/.", "./")
-%options ParseTable=lpg.lpgjavaruntime.ParseTable
-
-$Notice /.$copyright./
-
-$Define
-
-    $copyright /../
-
-    $Header
-    /.
-                //
-                // Rule $rule_number:  $rule_text
-                //./
-
-    $BeginAction
-    /. $Header
-                case $rule_number: {./
-
-    $EndAction
-    /.          break;
-                }./
-
-    $BeginJava
-    /.$BeginAction
-                    $symbol_declarations./
-
-    $EndJava /.$EndAction./
-
-    $NoAction
-    /. $Header
-                case $rule_number:
-                    break;./
-
-    $NullAction
-    /. $Header
-                case $rule_number:
-                    $setResult(null);
-                    break;./
-
-    $BeginActions
-    /.
-        public void ruleAction(int ruleNumber)
-        {
-            switch (ruleNumber)
-            {./
-
-    $SplitActions
-    /.
-	            default:
-	                ruleAction$rule_number(ruleNumber);
-	                break;
-	        }
-	        return;
-	    }
-	
-	    public void ruleAction$rule_number(int ruleNumber)
-	    {
-	        switch (ruleNumber)
-	        {./
-
-    $EndActions
-    /.
-                default:
-                    break;
-            }
-            return;
-        }./
-
-    $import_classes /../
-    $action_class /.$action_type./
-    $additional_interfaces /../
-    $ast_class /.$ast_type./
-    $setSym1 /.getParser().setSym1./
-    $setResult /.getParser().setSym1./
-    $getSym /.getParser().getSym./
-    $getToken /.getParser().getToken./
-    $getIToken /.getIToken./
-    $getLeftSpan /.getParser().getFirstToken./
-    $getRightSpan /.getParser().getLastToken./
-    $prs_stream /.prsStream./
-$End
-
-$Headers
-    /.
-    $copyright
-    $import_classes
-    import lpg.lpgjavaruntime.*;
-
-    public class $action_class extends PrsStream implements RuleAction$additional_interfaces
-    {
-        private static ParseTable prs = new $prs_type();
-        private DeterministicParser dtParser;
-
-        public DeterministicParser getParser() { return dtParser; }
-        private void setResult(Object object) { dtParser.setSym1(object); }
-        public Object getRhsSym(int i) { return dtParser.getSym(i); }
-
-        public int getRhsTokenIndex(int i) { return dtParser.getToken(i); }
-        public IToken getRhsIToken(int i) { return super.getIToken(getRhsTokenIndex(i)); }
-        
-        public int getRhsFirstTokenIndex(int i) { return dtParser.getFirstToken(i); }
-        public IToken getRhsFirstIToken(int i) { return super.getIToken(getRhsFirstTokenIndex(i)); }
-
-        public int getRhsLastTokenIndex(int i) { return dtParser.getLastToken(i); }
-        public IToken getRhsLastIToken(int i) { return super.getIToken(getRhsLastTokenIndex(i)); }
-
-        public int getLeftSpan() { return dtParser.getFirstToken(); }
-        public IToken getLeftIToken()  { return super.getIToken(getLeftSpan()); }
-
-        public int getRightSpan() { return dtParser.getLastToken(); }
-        public IToken getRightIToken() { return super.getIToken(getRightSpan()); }
-
-        public int getRhsErrorTokenIndex(int i)
-        {
-            int index = dtParser.getToken(i);
-            IToken err = super.getIToken(index);
-            return (err instanceof ErrorToken ? index : 0);
-        }
-        public ErrorToken getRhsErrorIToken(int i)
-        {
-            int index = dtParser.getToken(i);
-            IToken err = super.getIToken(index);
-            return (ErrorToken) (err instanceof ErrorToken ? err : null);
-        }
-
-        public $action_class(LexStream lexStream)
-        {
-            super(lexStream);
-
-            try
-            {
-                super.remapTerminalSymbols(orderedTerminalSymbols(), $prs_type.EOFT_SYMBOL);
-            }
-            catch(NullExportedSymbolsException e) {
-            }
-            catch(NullTerminalSymbolsException e) {
-            }
-            catch(UnimplementedTerminalsException e)
-            {
-                java.util.ArrayList unimplemented_symbols = e.getSymbols();
-                System.out.println("The Lexer will not scan the following token(s):");
-                for (int i = 0; i < unimplemented_symbols.size(); i++)
-                {
-                    Integer id = (Integer) unimplemented_symbols.get(i);
-                    System.out.println("    " + $sym_type.orderedTerminalSymbols[id.intValue()]);               
-                }
-                System.out.println();                        
-            }
-            catch(UndefinedEofSymbolException e)
-            {
-                System.out.println("The Lexer does not implement the Eof symbol " +
-                                   $sym_type.orderedTerminalSymbols[$prs_type.EOFT_SYMBOL]);
-                System.exit(12);
-            } 
-        }
- 
-        public String[] orderedTerminalSymbols() { return $sym_type.orderedTerminalSymbols; }
-        public String getTokenKindName(int kind) { return $sym_type.orderedTerminalSymbols[kind]; }            
-        public int getEOFTokenKind() { return $prs_type.EOFT_SYMBOL; }
-        public PrsStream getParseStream() { return (PrsStream) this; }
-
-        public $ast_class parser()
-        {
-            return parser(null, 0);
-        }
-            
-        public $ast_class parser(Monitor monitor)
-        {
-            return parser(monitor, 0);
-        }
-            
-        public $ast_class parser(int error_repair_count)
-        {
-            return parser(null, error_repair_count);
-        }
-            
-        public $ast_class parser(Monitor monitor, int error_repair_count)
-        {
-            try
-            {
-                dtParser = new DeterministicParser(monitor, (TokenStream)this, prs, (RuleAction)this);
-            }
-            catch (NotDeterministicParseTableException e)
-            {
-                System.out.println("****Error: Regenerate $prs_type.java with -NOBACKTRACK option");
-                System.exit(1);
-            }
-            catch (BadParseSymFileException e)
-            {
-                System.out.println("****Error: Bad Parser Symbol File -- $sym_type.java. Regenerate $prs_type.java");
-                System.exit(1);
-            }
-
-            try
-            {
-                return ($ast_class) dtParser.parse();
-            }
-            catch (BadParseException e)
-            {
-                reset(e.error_token); // point to error token
-
-                DiagnoseParser diagnoseParser = new DiagnoseParser(this, prs);
-                diagnoseParser.diagnose(e.error_token);
-            }
-
-            return null;
-        }
-
-    ./
-
-$End
-
-$Rules
-    /.$BeginActions./
-$End
-
-$Trailers
-    /.
-        $EndActions
-    }
-    ./
-$End
-
---
--- E N D   O F   T E M P L A T E
---
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/templates/KWLexerTemplate.java b/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/templates/KWLexerTemplate.java
deleted file mode 100644
index fb25517..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/templates/KWLexerTemplate.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.gymnast.generators.parser.lpg.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public class KWLexerTemplate {
-
-  protected static String nl;
-  public static synchronized KWLexerTemplate create(String lineSeparator)
-  {
-    nl = lineSeparator;
-    KWLexerTemplate result = new KWLexerTemplate();
-    nl = null;
-    return result;
-  }
-
-  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
-  protected final String TEXT_1 = "--" + NL + "-- ";
-  protected final String TEXT_2 = NL + "--" + NL + "%options slr" + NL + "%options fp=";
-  protected final String TEXT_3 = "KWLexer" + NL + "%options prefix=Char_" + NL + "%options noserialize" + NL + "%options package=";
-  protected final String TEXT_4 = NL + "%options template=KeyWordTemplateB.g" + NL + "%options export_terminals=(\"";
-  protected final String TEXT_5 = "Parsersym.java\", \"TK_\")" + NL + "" + NL + "$Define" + NL + "    --" + NL + "    -- Definition of macros used in the KeyWordTemplateB.g template" + NL + "    --" + NL + "    -- $import_classes /.import java.util.*;./" + NL + "    -- $action_class /.$file_prefix./" + NL + "    $eof_char /.Char_EOF./" + NL + "" + NL + "$End" + NL + "" + NL + "$Include" + NL + "    KWLexerMap.g" + NL + "$End" + NL + "" + NL + "$Export";
-  protected final String TEXT_6 = NL + "  KW_";
-  protected final String TEXT_7 = NL + "$End" + NL + "" + NL + "$Eof" + NL + "    EOF" + NL + "$End" + NL + "" + NL + "$Start" + NL + "    KeyWord" + NL + "$End" + NL + "" + NL + "$Rules" + NL + "KeyWord ::=" + NL;
-  protected final String TEXT_8 = NL;
-  protected final String TEXT_9 = NL + "/.$BeginAction" + NL + "    $setResult($_KW_";
-  protected final String TEXT_10 = ");" + NL + "  $EndAction" + NL + "./" + NL;
-  protected final String TEXT_11 = NL + "$End";
-  protected final String TEXT_12 = NL;
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-  
-  private String space(String keyword) {
-    StringBuffer sb = new StringBuffer();
-    for (int i = 0; i < keyword.length(); i++) {
-      if (i > 0) sb.append(' ');
-      sb.append(keyword.charAt(i));
-    }
-    return sb.toString();
-  }
-
-  public String generate()
-  {
-    final StringBuffer stringBuffer = new StringBuffer();
-    stringBuffer.append(TEXT_1);
-    stringBuffer.append( _context.getGeneratedByText() );
-    stringBuffer.append(TEXT_2);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_3);
-    stringBuffer.append( _context.getParserPackageName() );
-    stringBuffer.append(TEXT_4);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_5);
-    
-String[] literals = _context.getGrammarInfo().getLiterals();
-for (int i = 0; i < literals.length; i++) {
-
-    stringBuffer.append(TEXT_6);
-    stringBuffer.append( literals[i] );
-    
-}
-
-    stringBuffer.append(TEXT_7);
-    
-for (int i = 0; i < literals.length; i++) {
-
-    stringBuffer.append(TEXT_8);
-    stringBuffer.append(i>0?"| ":"  ");
-    stringBuffer.append( space(literals[i]) );
-    stringBuffer.append(TEXT_9);
-    stringBuffer.append( literals[i] );
-    stringBuffer.append(TEXT_10);
-    
-}
-
-    stringBuffer.append(TEXT_11);
-    stringBuffer.append(TEXT_12);
-    return stringBuffer.toString();
-  }
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/templates/LexerTemplate.java b/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/templates/LexerTemplate.java
deleted file mode 100644
index 2a4b6eb..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/templates/LexerTemplate.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.eclipse.gymnast.generators.parser.lpg.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public class LexerTemplate {
-
-  protected static String nl;
-  public static synchronized LexerTemplate create(String lineSeparator)
-  {
-    nl = lineSeparator;
-    LexerTemplate result = new LexerTemplate();
-    nl = null;
-    return result;
-  }
-
-  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
-  protected final String TEXT_1 = "--" + NL + "-- ";
-  protected final String TEXT_2 = NL + "--" + NL + "%options fp=";
-  protected final String TEXT_3 = "Lexer" + NL + "%options prefix=Char_" + NL + "%options single-productions" + NL + "%options noserialize" + NL + "%options package=";
-  protected final String TEXT_4 = NL + "%options template=LexerTemplateB.g" + NL + "%options filter=";
-  protected final String TEXT_5 = "KWLexer.g" + NL + "%options export_terminals=(\"";
-  protected final String TEXT_6 = "Parsersym.java\", \"TK_\")" + NL + "" + NL + "$Define" + NL + "    --" + NL + "    -- Definition of macros used in the lexer template" + NL + "    --" + NL + "    $package_declaration /.package $package;./" + NL + "    $import_classes /.import java.util.*;./" + NL + "    $action_class /.$file_prefix./" + NL + "    $prs_stream_class /.PrsStream./" + NL + "    $eof_token /.$_EOF_SYMBOL./" + NL + "" + NL + "    --" + NL + "    -- Definition of macro used in the included file LexerBasicMapB.g" + NL + "    --" + NL + "    $kw_lexer_class /.$";
-  protected final String TEXT_7 = "KWLexer./" + NL + "" + NL + "$End" + NL + "" + NL + "$Headers" + NL + "    --" + NL + "    -- Additional methods for the action class not provided in the template" + NL + "    --" + NL + "    /." + NL + "        //" + NL + "        // The Lexer contains an array of characters as the input stream to be parsed." + NL + "        // There are methods to retrieve and classify characters." + NL + "        // The lexparser \"token\" is implemented simply as the index of the next character in the array." + NL + "        // The Lexer extends the abstract class LpgLexStream with an implementation of the abstract" + NL + "        // method getKind.  The template defines the Lexer class and the lexer() method." + NL + "        // A driver creates the action class, \"Lexer\", passing an Option object to the constructor." + NL + "        // The Option object gives access to the input character arrary, the file name and other options." + NL + "        //" + NL + "        Option option;" + NL + "        $kw_lexer_class kwLexer;" + NL + "        boolean printTokens;" + NL + "        private final static int ECLIPSE_TAB_VALUE = 4;" + NL + "" + NL + "        public $action_class(Option option) throws java.io.IOException" + NL + "        {" + NL + "            this(option.getFileName(), ECLIPSE_TAB_VALUE);" + NL + "            this.option = option;" + NL + "            this.printTokens = option.printTokens();" + NL + "            this.kwLexer = new $kw_lexer_class(getInputChars(), $_IDENTIFIER);" + NL + "        }" + NL + "" + NL + "        final void makeToken(int kind)" + NL + "        {" + NL + "            int startOffset = $getToken(1)," + NL + "                endOffset = $getRightSpan();" + NL + "            $prs_stream.makeToken(startOffset, endOffset, kind);" + NL + "            if (printTokens) printValue(startOffset, endOffset);" + NL + "        }" + NL + "" + NL + "        final void skipToken()" + NL + "        {" + NL + "            if (printTokens) printValue($getToken(1), $getRightSpan());" + NL + "        }" + NL + "        " + NL + "        final void checkForKeyWord()" + NL + "        {" + NL + "            int startOffset = $getToken(1)," + NL + "                endOffset = $getRightSpan()," + NL + "            kwKind = kwLexer.lexer(startOffset, endOffset);" + NL + "            $prs_stream.makeToken(startOffset, endOffset, kwKind);" + NL + "            if(printTokens) printValue(startOffset, endOffset);" + NL + "        }" + NL + "        " + NL + "        final void printValue(int startOffset, int endOffset)" + NL + "        {" + NL + "            String s = new String(getInputChars(), startOffset, endOffset - startOffset + 1);" + NL + "            System.out.print(s);" + NL + "        }" + NL + "" + NL + "        public final static int tokenKind[] =" + NL + "        {" + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_HT," + NL + "            Char_LF," + NL + "            Char_CtlCharNotWS," + NL + "            Char_FF," + NL + "            Char_CR," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_CtlCharNotWS," + NL + "            Char_Space," + NL + "            Char_Exclamation," + NL + "            Char_DoubleQuote," + NL + "            Char_Sharp," + NL + "            Char_DollarSign," + NL + "            Char_Percent," + NL + "            Char_Ampersand," + NL + "            Char_SingleQuote," + NL + "            Char_LeftParen," + NL + "            Char_RightParen," + NL + "            Char_Star," + NL + "            Char_Plus," + NL + "            Char_Comma," + NL + "            Char_Minus," + NL + "            Char_Dot," + NL + "            Char_Slash," + NL + "            Char_0," + NL + "            Char_1," + NL + "            Char_2," + NL + "            Char_3," + NL + "            Char_4," + NL + "            Char_5," + NL + "            Char_6," + NL + "            Char_7," + NL + "            Char_8," + NL + "            Char_9," + NL + "            Char_Colon," + NL + "            Char_SemiColon," + NL + "            Char_LessThan," + NL + "            Char_Equal," + NL + "            Char_GreaterThan," + NL + "            Char_QuestionMark," + NL + "            Char_AtSign," + NL + "            Char_A," + NL + "            Char_B," + NL + "            Char_C," + NL + "            Char_D," + NL + "            Char_E," + NL + "            Char_F," + NL + "            Char_G," + NL + "            Char_H," + NL + "            Char_I," + NL + "            Char_J," + NL + "            Char_K," + NL + "            Char_L," + NL + "            Char_M," + NL + "            Char_N," + NL + "            Char_O," + NL + "            Char_P," + NL + "            Char_Q," + NL + "            Char_R," + NL + "            Char_S," + NL + "            Char_T," + NL + "            Char_U," + NL + "            Char_V," + NL + "            Char_W," + NL + "            Char_X," + NL + "            Char_Y," + NL + "            Char_Z," + NL + "            Char_LeftBracket," + NL + "            Char_BackSlash," + NL + "            Char_RightBracket," + NL + "            Char_Caret," + NL + "            Char__," + NL + "            Char_BackQuote," + NL + "            Char_a," + NL + "            Char_b," + NL + "            Char_c," + NL + "            Char_d," + NL + "            Char_e," + NL + "            Char_f," + NL + "            Char_g," + NL + "            Char_h," + NL + "            Char_i," + NL + "            Char_j," + NL + "            Char_k," + NL + "            Char_l," + NL + "            Char_m," + NL + "            Char_n," + NL + "            Char_o," + NL + "            Char_p," + NL + "            Char_q," + NL + "            Char_r," + NL + "            Char_s," + NL + "            Char_t," + NL + "            Char_u," + NL + "            Char_v," + NL + "            Char_w," + NL + "            Char_x," + NL + "            Char_y," + NL + "            Char_z," + NL + "            Char_LeftBrace," + NL + "            Char_VerticalBar," + NL + "            Char_RightBrace," + NL + "            Char_Tilde," + NL + "            Char_AfterASCII, // for all chars in range 128..65534" + NL + "            Char_EOF         // for '\\uffff' or 65535 " + NL + "        };" + NL + "                " + NL + "        public final int getKind(int i)  // Classify character at ith location" + NL + "        {" + NL + "            char c = (i >= getStreamLength() ? '\\uffff' : getCharValue(i));" + NL + "            return (c < 128 // ASCII Character" + NL + "                      ? tokenKind[c]" + NL + "                      : c == '\\uffff'" + NL + "                           ? Char_EOF" + NL + "                           : Char_AfterASCII);" + NL + "        }" + NL + "    ./" + NL + "$End" + NL;
-  protected final String TEXT_8 = NL;
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate()
-  {
-    final StringBuffer stringBuffer = new StringBuffer();
-    stringBuffer.append(TEXT_1);
-    stringBuffer.append( _context.getGeneratedByText() );
-    stringBuffer.append(TEXT_2);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_3);
-    stringBuffer.append( _context.getParserPackageName() );
-    stringBuffer.append(TEXT_4);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_5);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_6);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_7);
-    stringBuffer.append(TEXT_8);
-    return stringBuffer.toString();
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/templates/ParserTemplate.java b/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/templates/ParserTemplate.java
deleted file mode 100644
index 9155355..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/src/org/eclipse/gymnast/generators/parser/lpg/templates/ParserTemplate.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.eclipse.gymnast.generators.parser.lpg.templates;
-
-import org.eclipse.gymnast.generator.core.generator.GeneratorContext;
-
-public class ParserTemplate {
-
-  protected static String nl;
-  public static synchronized ParserTemplate create(String lineSeparator)
-  {
-    nl = lineSeparator;
-    ParserTemplate result = new ParserTemplate();
-    nl = null;
-    return result;
-  }
-
-  public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl;
-  protected final String TEXT_1 = "--" + NL + "-- ";
-  protected final String TEXT_2 = NL + "--" + NL + "" + NL + "%options escape=$" + NL + "%options var=nt" + NL + "%options la=2 " + NL + "%options fp=";
-  protected final String TEXT_3 = "Parser" + NL + "%options prefix=TK_" + NL + "%options table=java" + NL + "%options em" + NL + "%options scopes" + NL + "%options noserialize" + NL + "%options template=dtParserTemplateB.g" + NL + "%options package=";
-  protected final String TEXT_4 = NL + "%options import_terminals=";
-  protected final String TEXT_5 = "Lexer.g" + NL + "" + NL + "$Define" + NL + "    --" + NL + "    -- Definition of macros used in the parser template" + NL + "    --" + NL + "    $package_declaration /.package $package;./" + NL + "    $import_classes " + NL + "    /.import java.util.ArrayList;" + NL + "    import legAst.*;" + NL + "    ./" + NL + "    $action_class /.$file_prefix./" + NL + "    $prs_stream_class /.PrsStream./" + NL + "    $ast_class /.Ast./" + NL + "$End" + NL + "" + NL + "$Terminals" + NL + "    SEMICOLON         ::= ;" + NL + "    ASSIGN            ::= =" + NL + "    LEFT_BRACKET      ::= [" + NL + "    RIGHT_BRACKET     ::= ]" + NL + "    PLUS              ::= +" + NL + "    MINUS             ::= -" + NL + "    DIVIDE            ::= /" + NL + "    STAR              ::= *" + NL + "    LEFT_PARENTHESIS  ::= (" + NL + "    RIGHT_PARENTHESIS ::= )" + NL + "$End" + NL + "" + NL + "$Identifier" + NL + "    IDENTIFIER" + NL + "$End" + NL + "" + NL + "$Keywords" + NL + "    IF THEN ELSE END WHILE DO BREAK" + NL + "$End" + NL + "" + NL + "$Eof" + NL + "   EOF_SYMBOL" + NL + "$End" + NL + "" + NL + "$Error" + NL + "    ERROR_SYMBOL" + NL + "$End" + NL + "" + NL + "$Eol" + NL + "   SEMICOLON" + NL + "$End" + NL + "" + NL + "$Start" + NL + "    start" + NL + "$End" + NL + "" + NL + "$Names" + NL + "    array_declaration ::= 'array declaration'" + NL + "    term ::= subexpression" + NL + "    factor ::= subexpression" + NL + "$End" + NL + "" + NL + "$RULES" + NL + "    start ::= initialize block" + NL + "        /.$BeginJava" + NL + "                    $setResult(block);" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    initialize ::= $empty" + NL + "        /.$BeginJava" + NL + "                    System.out.println(\"****Begin Parser: \");" + NL + "                    System.out.flush();" + NL + "                    $setResult(null);" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    block ::= $empty" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstBlock($getLeftSpan(), $getRightSpan()));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    block ::= block statement" + NL + "        /.$BeginJava" + NL + "                    block.addStatement(statement);" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    statement ::= variable = expression ;" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstAssignmentStatement($getLeftSpan(), $getRightSpan(), variable, expression));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    statement ::= IF expression THEN block$trueBlock ELSE block$falseBlock END IF ;" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstIfStatement($getLeftSpan(), $getRightSpan(), expression, trueBlock, falseBlock));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    statement ::= WHILE expression DO block END WHILE ;" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstWhileStatement($getLeftSpan(), $getRightSpan(), expression, block));" + NL + "          $EndJava" + NL + "        ./" + NL + "    statement ::= BREAK ;" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstBreakStatement($getLeftSpan(), $getRightSpan()));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    statement ::= array_declaration ;" + NL + "        /.$NoAction./" + NL + "" + NL + "    array_declaration ::= identifier [$LEFT_BRACKET ]" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstArrayDeclarationStatement($getLeftSpan()," + NL + "                                                                $getRightSpan()," + NL + "                                                                identifier," + NL + "                                                                new AstDimension($getLeftSpan($LEFT_BRACKET), $getRightSpan())));" + NL + "" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    array_declaration ::= array_declaration [$LEFT_BRACKET ]" + NL + "        /.$BeginJava" + NL + "                    array_declaration.addDimension(new AstDimension($getLeftSpan($LEFT_BRACKET), $getRightSpan()));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    expression -> term" + NL + "" + NL + "    expression ::= expression +$PLUS term" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstPlusExpression($getLeftSpan(), $getRightSpan(), expression, PLUS, term));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    expression ::= expression -$MINUS term" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstMinusExpression($getLeftSpan(), $getRightSpan(), expression, MINUS, term));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    term -> factor" + NL + "" + NL + "    term ::= term /$DIVIDE factor" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstDivideExpression($getLeftSpan(), $getRightSpan(), term, DIVIDE, factor));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    term ::= term *$STAR factor" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstMultiplyExpression($getLeftSpan(), $getRightSpan(), term, STAR, factor));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    factor -> variable" + NL + "" + NL + "    factor ::= CONSTANT$CONSTANT" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstConstantExpression($getLeftSpan(), $getRightSpan(), CONSTANT));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    factor ::= ( expression )" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstParenthesizedExpression($getLeftSpan(), $getRightSpan(), expression));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    variable ::= identifier" + NL + "        /.$BeginJava" + NL + "                    $setResult(new AstVariableExpression($getLeftSpan(), $getRightSpan(), identifier));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "    variable ::= variable [$LEFT_BRACKET expression ]" + NL + "        /.$BeginJava" + NL + "                    variable.addSubscript(new AstSubscript($getLeftSpan($LEFT_BRACKET), $getRightSpan(), expression));" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "     identifier ::= IDENTIFIER$id" + NL + "        /.$BeginJava" + NL + "                    $setResult(id);" + NL + "          $EndJava" + NL + "        ./" + NL + "" + NL + "$End" + NL + "" + NL + "$Types" + NL + "    Object ::= initialize" + NL + "    IToken ::= identifier" + NL + "    AstStmt ::= statement" + NL + "    AstBlock ::= start | block" + NL + "    AstVariableExpression ::= variable" + NL + "    AstArrayDeclarationStatement ::= array_declaration" + NL + "    AstExpr ::= expression" + NL + "              | term" + NL + "              | factor" + NL + "$End";
-  protected final String TEXT_6 = NL;
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate()
-  {
-    final StringBuffer stringBuffer = new StringBuffer();
-    stringBuffer.append(TEXT_1);
-    stringBuffer.append( _context.getGeneratedByText() );
-    stringBuffer.append(TEXT_2);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_3);
-    stringBuffer.append( _context.getParserPackageName() );
-    stringBuffer.append(TEXT_4);
-    stringBuffer.append( _context.getASTName() );
-    stringBuffer.append(TEXT_5);
-    stringBuffer.append(TEXT_6);
-    return stringBuffer.toString();
-  }
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/KWLexer.lpgjet b/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/KWLexer.lpgjet
deleted file mode 100644
index 3eadfe5..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/KWLexer.lpgjet
+++ /dev/null
@@ -1,64 +0,0 @@
-<%@ jet package="org.eclipse.gymnast.generators.parser.lpg.templates"
-        imports="org.eclipse.gymnast.generator.core.generator.GeneratorContext"
-        class="KWLexerTemplate"
-        skeleton="KWLexer.skeleton" %>
---
--- <%= _context.getGeneratedByText() %>
---
-%options slr
-%options fp=<%= _context.getASTName() %>KWLexer
-%options prefix=Char_
-%options noserialize
-%options package=<%= _context.getParserPackageName() %>
-%options template=KeyWordTemplateB.g
-%options export_terminals=("<%= _context.getASTName() %>Parsersym.java", "TK_")
-
-$Define
-    --
-    -- Definition of macros used in the KeyWordTemplateB.g template
-    --
-    -- $import_classes /.import java.util.*;./
-    -- $action_class /.$file_prefix./
-    $eof_char /.Char_EOF./
-
-$End
-
-$Include
-    KWLexerMap.g
-$End
-
-$Export
-<%
-String[] literals = _context.getGrammarInfo().getLiterals();
-for (int i = 0; i < literals.length; i++) {
-%>
-  KW_<%= literals[i] %>
-<%
-}
-%>
-$End
-
-$Eof
-    EOF
-$End
-
-$Start
-    KeyWord
-$End
-
-$Rules
-KeyWord ::=
-
-<%
-for (int i = 0; i < literals.length; i++) {
-%>
-<%=i>0?"| ":"  "%><%= space(literals[i]) %>
-/.$BeginAction
-    $setResult($_KW_<%= literals[i] %>);
-  $EndAction
-./
-
-<%
-}
-%>
-$End
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/KWLexer.skeleton b/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/KWLexer.skeleton
deleted file mode 100644
index 67e4bf5..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/KWLexer.skeleton
+++ /dev/null
@@ -1,21 +0,0 @@
-public class CLASS {
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-  
-  private String space(String keyword) {
-    StringBuffer sb = new StringBuffer();
-    for (int i = 0; i < keyword.length(); i++) {
-      if (i > 0) sb.append(' ');
-      sb.append(keyword.charAt(i));
-    }
-    return sb.toString();
-  }
-
-  public String generate() {
-    return "";
-  }
-}
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Lexer.lpgjet b/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Lexer.lpgjet
deleted file mode 100644
index 0d40ece..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Lexer.lpgjet
+++ /dev/null
@@ -1,233 +0,0 @@
-<%@ jet package="org.eclipse.gymnast.generators.parser.lpg.templates"
-        imports="org.eclipse.gymnast.generator.core.generator.GeneratorContext"
-        class="LexerTemplate"
-        skeleton="Lexer.skeleton" %>
---
--- <%= _context.getGeneratedByText() %>
---
-%options fp=<%= _context.getASTName() %>Lexer
-%options prefix=Char_
-%options single-productions
-%options noserialize
-%options package=<%= _context.getParserPackageName() %>
-%options template=LexerTemplateB.g
-%options filter=<%= _context.getASTName() %>KWLexer.g
-%options export_terminals=("<%= _context.getASTName() %>Parsersym.java", "TK_")
-
-$Define
-    --
-    -- Definition of macros used in the lexer template
-    --
-    $package_declaration /.package $package;./
-    $import_classes /.import java.util.*;./
-    $action_class /.$file_prefix./
-    $prs_stream_class /.PrsStream./
-    $eof_token /.$_EOF_SYMBOL./
-
-    --
-    -- Definition of macro used in the included file LexerBasicMapB.g
-    --
-    $kw_lexer_class /.$<%= _context.getASTName() %>KWLexer./
-
-$End
-
-$Headers
-    --
-    -- Additional methods for the action class not provided in the template
-    --
-    /.
-        //
-        // The Lexer contains an array of characters as the input stream to be parsed.
-        // There are methods to retrieve and classify characters.
-        // The lexparser "token" is implemented simply as the index of the next character in the array.
-        // The Lexer extends the abstract class LpgLexStream with an implementation of the abstract
-        // method getKind.  The template defines the Lexer class and the lexer() method.
-        // A driver creates the action class, "Lexer", passing an Option object to the constructor.
-        // The Option object gives access to the input character arrary, the file name and other options.
-        //
-        Option option;
-        $kw_lexer_class kwLexer;
-        boolean printTokens;
-        private final static int ECLIPSE_TAB_VALUE = 4;
-
-        public $action_class(Option option) throws java.io.IOException
-        {
-            this(option.getFileName(), ECLIPSE_TAB_VALUE);
-            this.option = option;
-            this.printTokens = option.printTokens();
-            this.kwLexer = new $kw_lexer_class(getInputChars(), $_IDENTIFIER);
-        }
-
-        final void makeToken(int kind)
-        {
-            int startOffset = $getToken(1),
-                endOffset = $getRightSpan();
-            $prs_stream.makeToken(startOffset, endOffset, kind);
-            if (printTokens) printValue(startOffset, endOffset);
-        }
-
-        final void skipToken()
-        {
-            if (printTokens) printValue($getToken(1), $getRightSpan());
-        }
-        
-        final void checkForKeyWord()
-        {
-            int startOffset = $getToken(1),
-                endOffset = $getRightSpan(),
-            kwKind = kwLexer.lexer(startOffset, endOffset);
-            $prs_stream.makeToken(startOffset, endOffset, kwKind);
-            if(printTokens) printValue(startOffset, endOffset);
-        }
-        
-        final void printValue(int startOffset, int endOffset)
-        {
-            String s = new String(getInputChars(), startOffset, endOffset - startOffset + 1);
-            System.out.print(s);
-        }
-
-        public final static int tokenKind[] =
-        {
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_HT,
-            Char_LF,
-            Char_CtlCharNotWS,
-            Char_FF,
-            Char_CR,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_CtlCharNotWS,
-            Char_Space,
-            Char_Exclamation,
-            Char_DoubleQuote,
-            Char_Sharp,
-            Char_DollarSign,
-            Char_Percent,
-            Char_Ampersand,
-            Char_SingleQuote,
-            Char_LeftParen,
-            Char_RightParen,
-            Char_Star,
-            Char_Plus,
-            Char_Comma,
-            Char_Minus,
-            Char_Dot,
-            Char_Slash,
-            Char_0,
-            Char_1,
-            Char_2,
-            Char_3,
-            Char_4,
-            Char_5,
-            Char_6,
-            Char_7,
-            Char_8,
-            Char_9,
-            Char_Colon,
-            Char_SemiColon,
-            Char_LessThan,
-            Char_Equal,
-            Char_GreaterThan,
-            Char_QuestionMark,
-            Char_AtSign,
-            Char_A,
-            Char_B,
-            Char_C,
-            Char_D,
-            Char_E,
-            Char_F,
-            Char_G,
-            Char_H,
-            Char_I,
-            Char_J,
-            Char_K,
-            Char_L,
-            Char_M,
-            Char_N,
-            Char_O,
-            Char_P,
-            Char_Q,
-            Char_R,
-            Char_S,
-            Char_T,
-            Char_U,
-            Char_V,
-            Char_W,
-            Char_X,
-            Char_Y,
-            Char_Z,
-            Char_LeftBracket,
-            Char_BackSlash,
-            Char_RightBracket,
-            Char_Caret,
-            Char__,
-            Char_BackQuote,
-            Char_a,
-            Char_b,
-            Char_c,
-            Char_d,
-            Char_e,
-            Char_f,
-            Char_g,
-            Char_h,
-            Char_i,
-            Char_j,
-            Char_k,
-            Char_l,
-            Char_m,
-            Char_n,
-            Char_o,
-            Char_p,
-            Char_q,
-            Char_r,
-            Char_s,
-            Char_t,
-            Char_u,
-            Char_v,
-            Char_w,
-            Char_x,
-            Char_y,
-            Char_z,
-            Char_LeftBrace,
-            Char_VerticalBar,
-            Char_RightBrace,
-            Char_Tilde,
-            Char_AfterASCII, // for all chars in range 128..65534
-            Char_EOF         // for '\uffff' or 65535 
-        };
-                
-        public final int getKind(int i)  // Classify character at ith location
-        {
-            char c = (i >= getStreamLength() ? '\uffff' : getCharValue(i));
-            return (c < 128 // ASCII Character
-                      ? tokenKind[c]
-                      : c == '\uffff'
-                           ? Char_EOF
-                           : Char_AfterASCII);
-        }
-    ./
-$End
-
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Lexer.skeleton b/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Lexer.skeleton
deleted file mode 100644
index fa4b3f4..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Lexer.skeleton
+++ /dev/null
@@ -1,12 +0,0 @@
-public class CLASS {
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate() {
-    return "";
-  }
-}
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Parser.lpgjet b/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Parser.lpgjet
deleted file mode 100644
index 59ae3ab..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Parser.lpgjet
+++ /dev/null
@@ -1,220 +0,0 @@
-<%@ jet package="org.eclipse.gymnast.generators.parser.lpg.templates"
-        imports="org.eclipse.gymnast.generator.core.generator.GeneratorContext"
-        class="ParserTemplate"
-        skeleton="Parser.skeleton" %>
---
--- <%= _context.getGeneratedByText() %>
---
-
-%options escape=$
-%options var=nt
-%options la=2 
-%options fp=<%= _context.getASTName() %>Parser
-%options prefix=TK_
-%options table=java
-%options em
-%options scopes
-%options noserialize
-%options template=dtParserTemplateB.g
-%options package=<%= _context.getParserPackageName() %>
-%options import_terminals=<%= _context.getASTName() %>Lexer.g
-
-$Define
-    --
-    -- Definition of macros used in the parser template
-    --
-    $package_declaration /.package $package;./
-    $import_classes 
-    /.import java.util.ArrayList;
-    import legAst.*;
-    ./
-    $action_class /.$file_prefix./
-    $prs_stream_class /.PrsStream./
-    $ast_class /.Ast./
-$End
-
-$Terminals
-    SEMICOLON         ::= ;
-    ASSIGN            ::= =
-    LEFT_BRACKET      ::= [
-    RIGHT_BRACKET     ::= ]
-    PLUS              ::= +
-    MINUS             ::= -
-    DIVIDE            ::= /
-    STAR              ::= *
-    LEFT_PARENTHESIS  ::= (
-    RIGHT_PARENTHESIS ::= )
-$End
-
-$Identifier
-    IDENTIFIER
-$End
-
-$Keywords
-    IF THEN ELSE END WHILE DO BREAK
-$End
-
-$Eof
-   EOF_SYMBOL
-$End
-
-$Error
-    ERROR_SYMBOL
-$End
-
-$Eol
-   SEMICOLON
-$End
-
-$Start
-    start
-$End
-
-$Names
-    array_declaration ::= 'array declaration'
-    term ::= subexpression
-    factor ::= subexpression
-$End
-
-$RULES
-    start ::= initialize block
-        /.$BeginJava
-                    $setResult(block);
-          $EndJava
-        ./
-
-    initialize ::= $empty
-        /.$BeginJava
-                    System.out.println("****Begin Parser: ");
-                    System.out.flush();
-                    $setResult(null);
-          $EndJava
-        ./
-
-    block ::= $empty
-        /.$BeginJava
-                    $setResult(new AstBlock($getLeftSpan(), $getRightSpan()));
-          $EndJava
-        ./
-
-    block ::= block statement
-        /.$BeginJava
-                    block.addStatement(statement);
-          $EndJava
-        ./
-
-    statement ::= variable = expression ;
-        /.$BeginJava
-                    $setResult(new AstAssignmentStatement($getLeftSpan(), $getRightSpan(), variable, expression));
-          $EndJava
-        ./
-
-    statement ::= IF expression THEN block$trueBlock ELSE block$falseBlock END IF ;
-        /.$BeginJava
-                    $setResult(new AstIfStatement($getLeftSpan(), $getRightSpan(), expression, trueBlock, falseBlock));
-          $EndJava
-        ./
-
-    statement ::= WHILE expression DO block END WHILE ;
-        /.$BeginJava
-                    $setResult(new AstWhileStatement($getLeftSpan(), $getRightSpan(), expression, block));
-          $EndJava
-        ./
-    statement ::= BREAK ;
-        /.$BeginJava
-                    $setResult(new AstBreakStatement($getLeftSpan(), $getRightSpan()));
-          $EndJava
-        ./
-
-    statement ::= array_declaration ;
-        /.$NoAction./
-
-    array_declaration ::= identifier [$LEFT_BRACKET ]
-        /.$BeginJava
-                    $setResult(new AstArrayDeclarationStatement($getLeftSpan(),
-                                                                $getRightSpan(),
-                                                                identifier,
-                                                                new AstDimension($getLeftSpan($LEFT_BRACKET), $getRightSpan())));
-
-          $EndJava
-        ./
-
-    array_declaration ::= array_declaration [$LEFT_BRACKET ]
-        /.$BeginJava
-                    array_declaration.addDimension(new AstDimension($getLeftSpan($LEFT_BRACKET), $getRightSpan()));
-          $EndJava
-        ./
-
-    expression -> term
-
-    expression ::= expression +$PLUS term
-        /.$BeginJava
-                    $setResult(new AstPlusExpression($getLeftSpan(), $getRightSpan(), expression, PLUS, term));
-          $EndJava
-        ./
-
-    expression ::= expression -$MINUS term
-        /.$BeginJava
-                    $setResult(new AstMinusExpression($getLeftSpan(), $getRightSpan(), expression, MINUS, term));
-          $EndJava
-        ./
-
-    term -> factor
-
-    term ::= term /$DIVIDE factor
-        /.$BeginJava
-                    $setResult(new AstDivideExpression($getLeftSpan(), $getRightSpan(), term, DIVIDE, factor));
-          $EndJava
-        ./
-
-    term ::= term *$STAR factor
-        /.$BeginJava
-                    $setResult(new AstMultiplyExpression($getLeftSpan(), $getRightSpan(), term, STAR, factor));
-          $EndJava
-        ./
-
-    factor -> variable
-
-    factor ::= CONSTANT$CONSTANT
-        /.$BeginJava
-                    $setResult(new AstConstantExpression($getLeftSpan(), $getRightSpan(), CONSTANT));
-          $EndJava
-        ./
-
-    factor ::= ( expression )
-        /.$BeginJava
-                    $setResult(new AstParenthesizedExpression($getLeftSpan(), $getRightSpan(), expression));
-          $EndJava
-        ./
-
-    variable ::= identifier
-        /.$BeginJava
-                    $setResult(new AstVariableExpression($getLeftSpan(), $getRightSpan(), identifier));
-          $EndJava
-        ./
-
-    variable ::= variable [$LEFT_BRACKET expression ]
-        /.$BeginJava
-                    variable.addSubscript(new AstSubscript($getLeftSpan($LEFT_BRACKET), $getRightSpan(), expression));
-          $EndJava
-        ./
-
-     identifier ::= IDENTIFIER$id
-        /.$BeginJava
-                    $setResult(id);
-          $EndJava
-        ./
-
-$End
-
-$Types
-    Object ::= initialize
-    IToken ::= identifier
-    AstStmt ::= statement
-    AstBlock ::= start | block
-    AstVariableExpression ::= variable
-    AstArrayDeclarationStatement ::= array_declaration
-    AstExpr ::= expression
-              | term
-              | factor
-$End
diff --git a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Parser.skeleton b/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Parser.skeleton
deleted file mode 100644
index e74f460..0000000
--- a/plugins/org.eclipse.gymnast.generators.parser.lpg/templates/Parser.skeleton
+++ /dev/null
@@ -1,12 +0,0 @@
-public class CLASS {
-
-  private GeneratorContext _context;
-
-  public void init(GeneratorContext context) {
-    _context = context;
-  }
-
-  public String generate() {
-    return "";
-  }
-}
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/.classpath b/plugins/org.eclipse.gymnast.prettyprinting/.classpath
deleted file mode 100644
index 751c8f2..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/.project b/plugins/org.eclipse.gymnast.prettyprinting/.project
deleted file mode 100644
index 3b1c465..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.gymnast.prettyprinting</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.ManifestBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.SchemaBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/META-INF/MANIFEST.MF b/plugins/org.eclipse.gymnast.prettyprinting/META-INF/MANIFEST.MF
deleted file mode 100644
index 987efc4..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,10 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Gymnast Pretty-Printing Plug-in (Incubation)
-Bundle-SymbolicName: org.eclipse.gymnast.prettyprinting
-Bundle-Version: 0.9.0
-Bundle-Activator: org.gymnast.prettyprinting.activator.Activator
-Bundle-Vendor: Miguel Garcia, http://www.sts.tu-harburg.de/~mi.garcia/
-Require-Bundle: org.eclipse.core.runtime
-Eclipse-LazyStart: true
-Export-Package: org.eclipse.gymnast.prettyprinting
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/build.properties b/plugins/org.eclipse.gymnast.prettyprinting/build.properties
deleted file mode 100644
index 34d2e4d..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/sample text flow commands.txt b/plugins/org.eclipse.gymnast.prettyprinting/sample text flow commands.txt
deleted file mode 100644
index 3f90a3c..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/sample text flow commands.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-pack[_x_]h[_w_pad]             --- if _x_ is missing then it must be the last spec on the attrList
-
-pack[_y_]v[_h_pad][_i_Indent]  --- if _x_ is missing then it must be the last spec on the attrList
-
-blank[_n_] (depending on whether current context is v or h, n is interpreted as h=n or w=n)
-
-  for lists cannot use text-flow specs other than these: either: 
-allInOneRow or perRow_x_ 
-  optionally (assuming there is a separator): 
-beforeSep_x_ afterSep_x_ 
-  (WFR: always, height of the item should be 1, otherwise the pretty-printed doc won't be parseable)
-
-
-
-
-
-	public Box prettyPrint() {
-		/*
-		 * sequence annotation : AT source=stringLiteralOrQualifiedID LPAREN
-		 * keyEqualsValueList RPAREN
-		 */
-		List<Object> prettyPrintStack = new ArrayList<Object>();
-
-
-		prettyPrintStack.add("@");
-		prettyPrintStack.add(getSource());
-		prettyPrintStack.add("(");
-		prettyPrintStack.add(getKv1());
-		prettyPrintStack.add(")");
-
-		ArrayList<PPCommand> prettyPrintCmds = new ArrayList<PPCommand>();
-
-
-		prettyPrintCmds.add(SL.packH(3, 0));
-		prettyPrintCmds.add(SL.allInOneRow(true));
-		prettyPrintCmds.add(SL.packH(3, 0));
-
-
-
-		Box res = SL.process(prettyPrintCmds, prettyPrintStack);
-
-
-		return res;
-	}
-
-
-
-org.eclipse.gymnast.prettyprinting.scripting.SL
\ No newline at end of file
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/Box.java b/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/Box.java
deleted file mode 100644
index b309fa7..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/Box.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package org.eclipse.gymnast.prettyprinting;
-
-import java.util.List;
-
-public interface Box extends PrettyPrintable {
-
-	String[] getRows();
-
-	int getWidth();
-
-	int getHeight();
-
-	/**
-	 * Updates and returns this object by appending as many rows as needed to
-	 * reach the newHeight (leaves the object untouched in case the requested
-	 * height would require shrinking this object).
-	 */
-	void growToHeight(int newHeight);
-
-	/**
-	 * Updates this object by appending to each row as many blanks as needed to
-	 * reach the newWidth (leaves the object untouched in case the requested
-	 * width would require narrowing this object).
-	 */
-	void growToWidth(int newWidth);
-
-	String getRow(int i);
-
-	/**
-	 * Updates this object by appending (without any intervening blank space) as
-	 * new rows those from the argument.
-	 */
-	public <PP extends PrettyPrintable> Box affixBelow(List<PP> newRightMost);
-
-	/**
-	 * Updates this object by appending (without any intervening blank space) as
-	 * new rows those from the argument.
-	 */
-	public <PP extends PrettyPrintable> Box affixBelow(PP... newBottomMost);
-
-	/**
-	 * Updates and returns this object by appending to each row (without any
-	 * intervening blank space) its counterpart from the argument.
-	 */
-	public <PP extends PrettyPrintable> Box affixRight(List<PP> newRightMost);
-
-	/**
-	 * Updates and returns this object by appending to each row (without any
-	 * intervening blank space) its counterpart from the argument.
-	 */
-	public <PP extends PrettyPrintable> Box affixRight(PP... newRightMost);
-
-	/**
-	 * Updates and returns this object by appending to each row (without any
-	 * intervening blank space) its counterpart from the argument.
-	 */
-	Box affixRight(String... newRightMost);
-
-	/**
-	 * Updates this object by appending (without any intervening blank space) as
-	 * new rows those from the argument.
-	 */
-	Box affixBelow(String... newBottomMost);
-
-	public int firstNonEmptyLine();
-
-	public int lastNonEmptyLine();
-}
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/BoxLanguage.java b/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/BoxLanguage.java
deleted file mode 100644
index 3a339ba..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/BoxLanguage.java
+++ /dev/null
@@ -1,370 +0,0 @@
-package org.eclipse.gymnast.prettyprinting;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-public class BoxLanguage {
-
-	public static Box b(String s) {
-		if (s == null) {
-			return new StringBox("");
-		}
-		return new StringBox(s);
-	}
-
-	public static Box emptyBox() {
-		return new StringBox("");
-	}
-
-	public static Box blank(int width, int height) {
-		Box res = new StringBox("");
-		res.growToWidth(width);
-		res.growToHeight(height);
-		return res;
-	}
-
-	private static Box h(Box... bs) {
-		return h(1, bs);
-	}
-
-	private static Box v(Box... bs) {
-		return v(0, 0, bs);
-	}
-
-	private static List<Box> flatten(List... pps) {
-		List<Box> args = new ArrayList<Box>();
-		for (List list : pps) {
-			if (list != null) {
-				for (Object o : list) {
-					if (o instanceof Box) {
-						args.add((Box) o);
-					} else if (o instanceof PrettyPrintable) {
-						PrettyPrintable pp = (PrettyPrintable) o;
-						args.add(pp.prettyPrint());
-					} else if (o instanceof List) {
-						List lst = (List) o;
-						args.addAll(flatten(lst));
-					} else if (o != null) {
-						args.add(BoxLanguage.b(o.toString()));
-					}
-				}
-			}
-		}
-		return args;
-	}
-
-	/*
-	 * public static <PP extends PrettyPrintable> Box h(PP pa, List<PP>... pps) {
-	 * List<PrettyPrintable> args = new ArrayList<PrettyPrintable>(); if (pa !=
-	 * null) { args.add(pa); } args.addAll(flatten(pps)); return h(args); }
-	 */
-
-	static Box[] toBoxArray(List... pps) {
-		List<Box> f = flatten(pps);
-		Box[] args = new Box[f.size()];
-		for (int i = 0; i < args.length; i++) {
-			args[i] = f.get(i);
-		}
-		return args;
-	}
-
-	private static Box v(int vs, Box... bs) {
-		return v(vs, 0, bs);
-	}
-
-	public static <OO extends Object> Box v(int vs, int is, OO... pps) {
-		return v(vs, is, toBoxArray(pps));
-	}
-
-	private static <PP extends PrettyPrintable> Box[] toBoxArray(Object[] pps) {
-		List<Box> res = new ArrayList<Box>();
-		for (int i = 0; i < pps.length; i++) {
-			if (pps[i] != null) {
-				if (pps[i] instanceof Box) {
-					res.add((Box) pps[i]);
-				} else if (pps[i] instanceof PrettyPrintable) {
-					PrettyPrintable pp = (PrettyPrintable) pps[i];
-					res.add(pp.prettyPrint());
-				} else if (pps[i] instanceof List) {
-					List lst = (List) pps[i];
-					res.addAll(flatten(lst));
-				} else if (pps[i] != null) {
-					String s = pps[i].toString();
-					res.add(BoxLanguage.b(s));
-				}
-			}
-		}
-		Box[] boxes = new Box[res.size()];
-		boxes = res.toArray(boxes);
-		return boxes;
-	}
-
-	public static <PP extends PrettyPrintable> Box h(int hs, Object... pps) {
-		return h(hs, toBoxArray(pps));
-	}
-
-	public static Box h(int hs, List... pps) {
-		return h(hs, toBoxArray(pps));
-	}
-
-	private static Box h(int hs, Box... bs) {
-		if (bs == null) {
-			return null;
-		}
-		if (bs.length == 0) {
-			return null;
-		}
-		Box res = bs[0];
-		for (int i = 1; i < bs.length; i++) {
-			res = h2(hs, res, bs[i]);
-		}
-		return res;
-	}
-
-	private static <B extends Box> Box[] skipNulls(B... bs) {
-		List<Box> res = new ArrayList<Box>();
-		for (int i = 0; i < bs.length; i++) {
-			if (bs[i] != null) {
-				res.add(bs[i]);
-			}
-		}
-		Box[] boxes = new Box[res.size()];
-		boxes = res.toArray(boxes);
-		return boxes;
-	}
-
-	private static <B extends Box> Box v(int vs, int is, B... bs) {
-		if (bs == null) {
-			return null;
-		}
-		Box[] bsNonNull = skipNulls(bs);
-		if (bsNonNull.length == 0) {
-			return new StringBox("");
-		}
-		if (bsNonNull.length == 1) {
-			return bs[0];
-		}
-		int newW = Math.max(bsNonNull[0].getWidth(), bsNonNull[bsNonNull.length - 1].getWidth());
-		for (int i = 1; i < bsNonNull.length - 1; i++) {
-			newW = Math.max(newW, is + bsNonNull[i].getWidth());
-		}
-		for (int i = 0; i < bsNonNull.length; i++) {
-			bsNonNull[i].growToWidth(newW);
-		}
-		Box res = bsNonNull[0];
-		for (int i = 1; i < bsNonNull.length - 1; i++) {
-			Box indentation = blank(is, bsNonNull[i].getHeight());
-			Box indented = h2(0, indentation, bsNonNull[i]);
-			res = v2(vs, res, indented);
-		}
-		res = v2(vs, res, bsNonNull[bsNonNull.length - 1]);
-		return res;
-	}
-
-	private static <B extends Box> Box v2(int vs, B a, B b) {
-		if (a == null) {
-			return b;
-		}
-		if (b == null) {
-			return a;
-		}
-		int maxW = Math.max(a.getWidth(), b.getWidth());
-		a.growToWidth(maxW);
-		b.growToWidth(maxW);
-		StringBox res = new StringBox(a.getRow(0));
-		for (int i = 1; i < a.getHeight(); i++) {
-			res.addRow(a.getRow(i));
-		}
-		String filler = StringBox.blankString(maxW);
-		for (int i = 0; i < vs; i++) {
-			res.addRow(filler);
-		}
-		for (int i = 0; i < b.getHeight(); i++) {
-			res.addRow(b.getRow(i));
-		}
-		return res;
-	}
-
-	private static Box h2(int hs, Box a, Box b) {
-		if (a == null) {
-			return b;
-		}
-		if (b == null) {
-			return a;
-		}
-		if (a.getHeight() > 1) {
-			if (a.lastNonEmptyLine() > b.firstNonEmptyLine()) {
-				Box res = v2(0, a, b);
-				return res; 
-			}
-		}
-		int maxH = Math.max(a.getHeight(), b.getHeight());
-		a.growToHeight(maxH);
-		b.growToHeight(maxH);
-		String filler = StringBox.blankString(hs);
-		StringBox res = new StringBox(a.getRow(0) + filler + b.getRow(0));
-		for (int i = 1; i < maxH; i++) {
-			res.addRow(a.getRow(i) + filler + b.getRow(i));
-		}
-		return res;
-	}
-
-	private static List<Box> b(List<String> names) {
-		List<Box> res = new ArrayList<Box>();
-		for (String s : names) {
-			if (s != null) {
-				res.add(b(s));
-			}
-		}
-		return res;
-	}
-
-	/**
-	 * Qualified names are parsed by Grammar2Ecore into two separate (usually
-	 * string) lists: one for 'names' and another (whose length is just one
-	 * element shorter) for (non-constant) 'separators'). At pretty-print time,
-	 * it's necessary to pick one element of each list in sequence to build a
-	 * Box. That's what this method does.
-	 */
-	private static <PP extends PrettyPrintable> Box interleaveHPrettyPrintables(List<PP> names, List<PP> separators,
-			int beforeSep, int afterSep) {
-		if (names == null) {
-			return null;
-		}
-		if (names.isEmpty()) {
-			return null;
-		}
-		List<Box> namesBoxes = flatten(names);
-		List<Box> separatorBoxes = flatten(separators);
-		Box boxBeforeSep = new StringBox("");
-		boxBeforeSep.growToWidth(beforeSep);
-		Box boxAfterSep = new StringBox("");
-		boxAfterSep.growToWidth(afterSep);
-		assert (!namesBoxes.isEmpty() ? (separatorBoxes.size() == namesBoxes.size() - 1) : true);
-		Box res = new StringBox("");
-		java.util.Iterator<Box> iternamesBoxes = namesBoxes.iterator();
-		java.util.Iterator<Box> iternameSeparators = separatorBoxes.iterator();
-		while (iternamesBoxes.hasNext()) {
-			res.affixRight(iternamesBoxes.next());
-			if (iternameSeparators.hasNext()) {
-				res.affixRight(boxBeforeSep);
-				res.affixRight(iternameSeparators.next());
-				if (iternamesBoxes.hasNext()) {
-					res.affixRight(boxAfterSep);
-				}
-			}
-		}
-		return res;
-	}
-
-	private static <PP extends PrettyPrintable> Box interleaveVPrettyPrintables(List<PP> names, List<PP> separators,
-			int beforeSep, int afterSep) {
-		if (names == null) {
-			return null;
-		}
-		if (names.isEmpty()) {
-			return null;
-		}
-		List<Box> namesBoxes = flatten(names);
-		List<Box> separatorBoxes = flatten(separators);
-		Box boxBeforeSep = new StringBox("");
-		boxBeforeSep.growToHeight(beforeSep);
-		Box boxAfterSep = new StringBox("");
-		boxAfterSep.growToHeight(afterSep);
-		assert (!namesBoxes.isEmpty() ? (separatorBoxes.size() == namesBoxes.size() - 1) : true);
-		Box res = new StringBox("");
-		java.util.Iterator<Box> iternamesBoxes = namesBoxes.iterator();
-		java.util.Iterator<Box> iternameSeparators = separatorBoxes.iterator();
-		while (iternamesBoxes.hasNext()) {
-			res.affixBelow(iternamesBoxes.next());
-			if (iternameSeparators.hasNext()) {
-				res.affixBelow(boxBeforeSep);
-				res.affixBelow(iternameSeparators.next());
-				if (iternamesBoxes.hasNext()) {
-					res.affixBelow(boxAfterSep);
-				}
-			}
-		}
-		return res;
-	}
-
-	private static List<PrettyPrintable> objectToPP(List<? extends Object> lst) {
-		List<PrettyPrintable> res = new ArrayList<PrettyPrintable>();
-		for (Object o : lst) {
-			if (o instanceof PrettyPrintable) {
-				res.add((PrettyPrintable) o);
-			} else if (o != null) {
-				res.add(BoxLanguage.b(o.toString()));
-			}
-		}
-		return res;
-	}
-
-	public static Box interleaveH(List<? extends Object> names, List<? extends Object> separators, int beforeSep,
-			int afterSep) {
-		List<PrettyPrintable> ppNames = objectToPP(names);
-		List<PrettyPrintable> ppSeps = objectToPP(separators);
-		return interleaveHPrettyPrintables(ppNames, ppSeps, beforeSep, afterSep);
-	}
-
-	public static Box interleaveV(List<? extends Object> names, List<? extends Object> separators, int beforeSep,
-			int afterSep) {
-		List<PrettyPrintable> ppNames = objectToPP(names);
-		List<PrettyPrintable> ppSeps = objectToPP(separators);
-		return interleaveVPrettyPrintables(ppNames, ppSeps, beforeSep, afterSep);
-	}
-
-	/**
-	 * Qualified names are parsed by Grammar2Ecore into two separate (usually
-	 * string) lists: one for 'names' and another (whose length is just one
-	 * element shorter) for (non-constant) 'separators'). At pretty-print time,
-	 * it's necessary to pick one element of each list in sequence to build a
-	 * Box. That's what this method does.
-	 */
-	public static <PP extends PrettyPrintable> Box interleaveHSepConstant(Object separator, List names, int beforeSep,
-			int afterSep) {
-		if (names == null) {
-			return null;
-		}
-		if (names.isEmpty()) {
-			return null;
-		}
-		List<Box> namesBoxes = flatten(names);
-		List<Box> separatorsBoxes = new ArrayList<Box>();
-		Box sB = null;
-		if (separator instanceof Box) {
-			sB = (Box) separator;
-		} else if (separator instanceof PrettyPrintable) {
-			PrettyPrintable pp = (PrettyPrintable) separator;
-			sB = pp.prettyPrint();
-		} else if (separator != null) {
-			sB = BoxLanguage.b(separator.toString());
-		}
-		separatorsBoxes.addAll(Collections.nCopies(namesBoxes.size() - 1, sB));
-		return interleaveHPrettyPrintables(namesBoxes, separatorsBoxes, beforeSep, afterSep);
-	}
-
-	public static <PP extends PrettyPrintable> Box interleaveVSepConstant(Object separator, List names, int beforeSep,
-			int afterSep) {
-		if (names == null) {
-			return null;
-		}
-		if (names.isEmpty()) {
-			return null;
-		}
-		List<Box> namesBoxes = flatten(names);
-		List<Box> separatorsBoxes = new ArrayList<Box>();
-		Box sB = null;
-		if (separator instanceof Box) {
-			sB = (Box) separator;
-		} else if (separator instanceof PrettyPrintable) {
-			PrettyPrintable pp = (PrettyPrintable) separator;
-			sB = pp.prettyPrint();
-		} else if (separator != null) {
-			sB = BoxLanguage.b(separator.toString());
-		}
-		separatorsBoxes.addAll(Collections.nCopies(namesBoxes.size() - 1, sB));
-		return interleaveVPrettyPrintables(namesBoxes, separatorsBoxes, beforeSep, afterSep);
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/BoxStack.java b/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/BoxStack.java
deleted file mode 100644
index 3f43d03..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/BoxStack.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package org.eclipse.gymnast.prettyprinting;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.ListIterator;
-
-/**
- * It's intentional for this object to keep an alias to the stack List, so as to
- * allow a prettyPrint method to push into it for processing with commands
- * invoked on this object.
- * 
- */
-public class BoxStack {
-
-	public List<Object> stack = new ArrayList<Object>();
-
-	public Box h(int hs, int howMany) {
-		List<Object> args = removeNTop(howMany);
-		Box res = BoxLanguage.h(hs, args);
-		stack.add(res);
-		return res;
-	}
-
-	private List<Object> removeNTop(int howMany) {
-		List<Object> removed = new ArrayList<Object>();
-		int fromIndex = stack.size() - howMany;
-		int toIndex = stack.size();
-		removed.addAll(stack.subList(fromIndex, toIndex));
-		for (int i = 0; i < howMany; i++) {
-			stack.remove(stack.size() - 1);
-		}
-		return removed;
-	}
-
-	public Box interleaveH(int beforeSep, int afterSep) {
-
-		List<Object> names = removeNTop(1);
-		List<Object> separators = removeNTop(1);
-		Box res = BoxLanguage.interleaveH(names, separators, beforeSep, afterSep);
-		stack.add(res);
-		return res;
-	}
-
-	public Box interleaveHSepConstant(int beforeSep, int afterSep) {
-		List<Object> names = removeNTop(1);
-		List<Object> separator = removeNTop(1);
-		Box res = BoxLanguage.interleaveHSepConstant(separator, names, beforeSep, afterSep);
-		stack.add(res);
-		return res;
-	}
-
-	public Box interleaveV(int beforeSep, int afterSep) {
-
-		List<Object> names = removeNTop(1);
-		List<Object> separators = removeNTop(1);
-		Box res = BoxLanguage.interleaveV(names, separators, beforeSep, afterSep);
-		stack.add(res);
-		return res;
-	}
-
-	public Box interleaveVSepConstant(int beforeSep, int afterSep) {
-		List<Object> names = removeNTop(1);
-		List<Object> separator = removeNTop(1);
-		Box res = BoxLanguage.interleaveVSepConstant(separator, names, beforeSep, afterSep);
-		stack.add(res);
-		return res;
-	}
-
-	public Box peekTop() {
-		Object t = stack.get(stack.size() - 1);
-		if (t instanceof Box) {
-			return (Box) t;
-		} else if (t instanceof PrettyPrintable) {
-			PrettyPrintable pp = (PrettyPrintable) t;
-			return pp.prettyPrint();
-		} else if (t != null) {
-			String s = t.toString();
-			return BoxLanguage.b(s);
-		}
-		return BoxLanguage.emptyBox();
-	}
-
-	public Box v(int vs, int is, int howMany) {
-		List<Object> args = removeNTop(howMany);
-		Box res = BoxLanguage.v(vs, is, args);
-		stack.add(res);
-		return res;
-	}
-
-	public void add(Object newTop) {
-		stack.add(newTop);
-	}
-
-	public Box packHorizUpToWidth(int minWidth, int hs, int howMany) {
-		assert minWidth > 0;
-		List<Object> args = removeNTop(howMany);
-		Box[] bs = BoxLanguage.toBoxArray(args);
-		List<Box> boxes = Arrays.asList(bs);
-		Box runningRes = BoxLanguage.emptyBox();
-		int i = 0;
-		while (i < boxes.size()) {
-			List<Box> horizBatch = new ArrayList<Box>();
-			int widthSoFar = 0;
-			Box current = boxes.get(i);
-			horizBatch.add(current);
-			widthSoFar += current.getWidth();
-			i++;
-			while ((widthSoFar < minWidth) && (current.getHeight() <= 1) && (i < boxes.size())) {
-				current = boxes.get(i);
-				horizBatch.add(current);
-				widthSoFar += current.getWidth();
-				i++;
-			}
-			Box boxForBatch = BoxLanguage.h(hs, horizBatch); 
-			runningRes.affixBelow(boxForBatch);
-		}
-		stack.add(runningRes);
-		return runningRes;
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/PrettyPrintable.java b/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/PrettyPrintable.java
deleted file mode 100644
index 4bd242e..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/PrettyPrintable.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package org.eclipse.gymnast.prettyprinting;
-
-public interface PrettyPrintable {
-
-	Box prettyPrint();
-
-
-}
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/StringBox.java b/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/StringBox.java
deleted file mode 100644
index a4d76b6..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/src/org/eclipse/gymnast/prettyprinting/StringBox.java
+++ /dev/null
@@ -1,239 +0,0 @@
-package org.eclipse.gymnast.prettyprinting;
-
-import java.util.Arrays;
-import java.util.List;
-
-public class StringBox implements Box {
-
-	private String[] rows;
-	private int width;
-
-	StringBox(String s) {
-		if (s == null || s.equals("")) {
-			rows = new String[] {};
-			width = 0;
-			return;
-		}
-		rows = new String[] { s };
-		width = s.length();
-	}
-
-	public String[] getRows() {
-		return rows;
-	}
-
-	public int getWidth() {
-		return width;
-	}
-
-	public int getHeight() {
-		return rows.length;
-	}
-
-	/**
-	 * Updates this object by affixing at the bottom the argument, this object's
-	 * width becomes the largest between the previous width and that of the
-	 * argument.
-	 */
-	public void addRow(String s) {
-		if (s == null ) {
-			return;
-		}
-		if (s.length() > width) {
-			growToWidth(s.length());
-		}
-		String[] c2 = new String[rows.length + 1];
-		System.arraycopy(rows, 0, c2, 0, rows.length);
-		c2[c2.length - 1] = s;
-		rows = c2;
-		width = s.length();
-	}
-
-	public void growToHeight(int newHeight) {
-		if (newHeight < this.getHeight()) {
-			return;
-		}
-		for (int i = this.getHeight(); i < newHeight; i++) {
-			addRow(blankString(width));
-		}
-	}
-
-	public void growToWidth(int newWidth) {
-		if (newWidth <= this.getWidth()) {
-			return;
-		}
-		if (rows.length == 0) {
-			return;
-			// rows = new String[] { "" };
-		}
-		for (int i = 0; i < rows.length; i++) {
-			rows[i] += blankString(newWidth - width);
-		}
-		width = newWidth;
-	}
-
-	public static String blankString(int length) {
-		char[] blanks = new char[length];
-		Arrays.fill(blanks, ' ');
-		return String.valueOf(blanks);
-	}
-
-	public String getRow(int i) {
-		if (rows.length == 0) {
-			return "";
-		} else {
-			return rows[i];
-		}
-	}
-
-	@Override
-	public String toString() {
-		StringBuffer res = new StringBuffer();
-		for (String r : rows) {
-			res.append(r);
-			res.append(newLine);
-		}
-		return res.toString();
-	}
-
-	private static final String newLine = System.getProperty("line.separator");
-
-	public Box prettyPrint() {
-		return this;
-	}
-
-	public <PP extends PrettyPrintable> Box affixBelow(PP... newBottomMost) {
-		if (newBottomMost == null) {
-			return this;
-		}
-		for (PP pp : newBottomMost) {
-			affixBelowOne(pp);
-		}
-		return this;
-	}
-
-	private <PP extends PrettyPrintable> Box affixBelowOne(PP newBottomMost) {
-		if (newBottomMost == null) {
-			return this;
-		}
-		Box nbmBox = null;
-		if (newBottomMost instanceof Box) {
-			nbmBox = (Box) newBottomMost;
-		} else {
-			nbmBox = newBottomMost.prettyPrint();
-		}
-		if (nbmBox.getHeight() == 0) {
-			return this; 
-		}
-		int newW = Math.max(this.getWidth(), nbmBox.getWidth());
-		this.growToWidth(newW);
-		nbmBox.growToWidth(newW);
-		for (int i = 0; i < nbmBox.getHeight(); i++) {
-			this.addRow(nbmBox.getRow(i));
-		}
-		return this;
-	}
-
-	public <PP extends PrettyPrintable> Box affixRight(List<PP> newRightMost) {
-		if (newRightMost == null) {
-			return this;
-		}
-		for (PP pp : newRightMost) {
-			if (pp != null) {
-				this.affixRightOnePP(pp);
-			}
-		}
-		return this;
-	}
-
-	public <PP extends PrettyPrintable> Box affixRight(PP... newRightMost) {
-		if (newRightMost == null) {
-			return this;
-		}
-		for (PP pp : newRightMost) {
-			if (pp != null) {
-				this.affixRightOnePP(pp);
-			}
-		}
-		return this;
-	}
-
-	private <PP extends PrettyPrintable> Box affixRightOnePP(PP newRightMost) {
-		if (newRightMost == null) {
-			return this;
-		}
-		Box nrmBox = null;
-		if (newRightMost instanceof Box) {
-			nrmBox = (Box) newRightMost;
-		} else {
-			nrmBox = newRightMost.prettyPrint();
-		}
-		if (nrmBox.getWidth() == 0) {
-			return this; 
-		}
-		if (this.getHeight() > 1) {
-			if (this.lastNonEmptyLine() > nrmBox.firstNonEmptyLine()) {
-				affixBelowOne(nrmBox);
-				return this;
-			}
-		}
-		int newH = Math.max(this.getHeight(), nrmBox.getHeight());
-		this.growToHeight(newH);
-		nrmBox.growToHeight(newH);
-		for (int i = 0; i < this.getHeight(); i++) {
-			rows[i] += nrmBox.getRow(i);
-		}
-		width += nrmBox.getWidth();
-		return this;
-	}
-
-	public <PP extends PrettyPrintable> Box affixBelow(List<PP> newRightMost) {
-		if (newRightMost == null) {
-			return null;
-		}
-		for (PP pp : newRightMost) {
-			this.affixBelowOne(pp);
-		}
-		return this;
-	}
-
-	public Box affixBelow(String... newBottomMost) {
-		Box res = this;
-		for (String s : newBottomMost) {
-			if (s != null) {
-				res.affixBelow(BoxLanguage.b(s));
-			}
-		}
-		return res;
-	}
-
-	public Box affixRight(String... newRightMost) {
-		Box res = this;
-		for (String s : newRightMost) {
-			if (s != null) {
-				res.affixRight(BoxLanguage.b(s));
-			}
-		}
-		return res;
-	}
-
-	public int firstNonEmptyLine() {
-		int res = 0;
-		for (int i = 0; i < rows.length; i++) {
-			if (!rows[i].trim().equals("")) {
-				return i;
-			}
-		}
-		return -1;
-	}
-
-	public int lastNonEmptyLine() {
-		int res = 0;
-		for (int i = rows.length - 1; i >= 0; i--) {
-			if (!rows[i].trim().equals("")) {
-				return i;
-			}
-		}
-		return 0;
-	}
-}
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/src/org/gymnast/prettyprinting/activator/Activator.java b/plugins/org.eclipse.gymnast.prettyprinting/src/org/gymnast/prettyprinting/activator/Activator.java
deleted file mode 100644
index ecdf919..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/src/org/gymnast/prettyprinting/activator/Activator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.gymnast.prettyprinting.activator;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends Plugin {
-
-	// The plug-in ID
-	public static final String PLUGIN_ID = "org.eclipse.gymnast.prettyprinting";
-
-	// The shared instance
-	private static Activator plugin;
-	
-	/**
-	 * The constructor
-	 */
-	public Activator() {
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		plugin = this;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		plugin = null;
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance
-	 *
-	 * @return the shared instance
-	 */
-	public static Activator getDefault() {
-		return plugin;
-	}
-
-}
diff --git a/plugins/org.eclipse.gymnast.prettyprinting/text flow commands.txt b/plugins/org.eclipse.gymnast.prettyprinting/text flow commands.txt
deleted file mode 100644
index 3547dbe..0000000
--- a/plugins/org.eclipse.gymnast.prettyprinting/text flow commands.txt
+++ /dev/null
@@ -1,39 +0,0 @@
--------------------------------------------------------
-
-b(str)
-
-blank(w,h)
-
-h(...) | h(hs, ...)
-
-v(...) | v(vs, ...) | v(vs, is, ...)
-
-interleave(lsA, lsB) | interleaveWithSepConst(const, ls)
-
--------------------------------------------------------
-
-pack[_x_]h[_w_pad]             --- if _x_ is missing then it must be the last spec on the attrList
-
-pack[_y_]v[_h_pad][_i_Indent]  --- if _x_ is missing then it must be the last spec on the attrList
-
-blank[_n_] (depending on whether current context is v or h, n is interpreted as h=n or w=n)
-
-  for lists cannot use text-flow specs other than these: either: 
-allInOneRow or perRow_x_ 
-  optionally (assuming there is a separator): 
-beforeSep_x_ afterSep_x_ 
-  (WFR: always, height of the item should be 1, otherwise the pretty-printed doc won't be parseable)
-
-
-
-if the seqrule has only one item, then packHoriz or packVert makes no difference 
-same goes for altRules
-
-For lists: beforeSep[n]  afterSep[n] *may* be specified, but runH or runV should be enough (if both missing, assume runH)
-
-The pad spec for a run (H or V) of length 1 has no effect, as that pad is *between* boxes in the run. 
-
-No pad spec, assume 0. The user can always add blanks (between runs) with blank[_wOrh_]
-
-If boxes are still available and the length of the last run in an [] list have been exhausted, keep using the same direction (H or V) with pad 0. 
-