Browse Source

Set new c code generator as standard.
Removed unsupported features from feature set.
Marked old generator as deprecated.

markus.muehlbrandt@gmail.com 13 years ago
parent
commit
ed3ddae7c0

+ 7 - 7
plugins/org.yakindu.sct.generator.c/library/FeatureTypeLibrary.xmi

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="ASCII"?>
-<sgen:FeatureTypeLibrary xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sgen="http://www.yakindu.org/sct/statechart/SGen" xsi:schemaLocation="http://www.yakindu.org/sct/statechart/SGen ../../org.yakindu.sct.model.sgen/model/emf/sgen.ecore" name="C Generator">
-  <types name="CCodeFeature" optional="true">
-    <parameters name="InterfaceEventListener" parameterType="BOOLEAN"/>
-    <parameters name="Singleton" parameterType="BOOLEAN"/>
-    <parameters name="DebugType" optional="true"/>
-  </types>
-</sgen:FeatureTypeLibrary>
+<sgen:FeatureTypeLibrary
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:sgen="http://www.yakindu.org/sct/statechart/SGen"
+    xsi:schemaLocation="http://www.yakindu.org/sct/statechart/SGen ../../org.yakindu.sct.model.sgen/model/emf/sgen.ecore"
+    name="C Generator"/>

+ 21 - 0
plugins/org.yakindu.sct.generator.c/library/FeatureTypeLibraryDep.xmi

@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="ASCII"?>
+<sgen:FeatureTypeLibrary
+    xmi:version="2.0"
+    xmlns:xmi="http://www.omg.org/XMI"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:sgen="http://www.yakindu.org/sct/statechart/SGen"
+    xsi:schemaLocation="http://www.yakindu.org/sct/statechart/SGen ../../org.yakindu.sct.model.sgen/model/emf/sgen.ecore"
+    name="C Generator (deprecated)">
+  <types name="CCodeFeature"
+      optional="true">
+    <parameters
+        name="InterfaceEventListener"
+        parameterType="BOOLEAN"/>
+    <parameters
+        name="Singleton"
+        parameterType="BOOLEAN"/>
+    <parameters
+        name="DebugType"
+        optional="true"/>
+  </types>
+</sgen:FeatureTypeLibrary>

+ 12 - 12
plugins/org.yakindu.sct.generator.c/plugin.xml

@@ -5,32 +5,32 @@
    <extension
          point="org.yakindu.sct.generator.core.generator">
       <SCTGenerator
-            class="org.yakindu.sct.generator.c.CCodeGenerator"
+            class="org.yakindu.sct.generator.c.CCodeGeneratorDep"
             contentType="statechart"
             elementRefType="org.yakindu.sct.model.sgraph.Statechart"
-            description="YAKINDU C Code Generator"
-            id="yakindu::c"
-            name="YAKINDU C Code Generator">
+            description="YAKINDU C Code Generator (deprecated)"
+            id="yakindu::cdep"
+            name="YAKINDU C Code Generator (deprecated)">
       </SCTGenerator>
       <SCTGenerator
-            class="org.yakindu.sct.generator.c.CCodeGenerator2"
+            class="org.yakindu.sct.generator.c.CCodeGenerator"
             contentType="statechart"
             elementRefType="org.yakindu.sct.model.sgraph.Statechart"
-            description="SCT C Code Generator"
-            id="yakindu::c_new"
-            name="SCT C Code Generator">
+            description="YAKINDU SCT C Code Generator"
+            id="yakindu::c"
+            name="YAKINDU C Code Generator">
       </SCTGenerator>
    </extension>
    <extension
          point="org.yakindu.sct.generator.core.featuretypes">
       <FeatureLibrary
             defaultProvider="org.yakindu.sct.generator.c.features.CDefaultFeatureValueProvider"
-            generatorId="yakindu::c"
-            uri="platform:/plugin/org.yakindu.sct.generator.c/library/FeatureTypeLibrary.xmi">
+            generatorId="yakindu::cdep"
+            uri="platform:/plugin/org.yakindu.sct.generator.c/library/FeatureTypeLibraryDep.xmi">
       </FeatureLibrary>
       <FeatureLibrary
             defaultProvider="org.yakindu.sct.generator.c.features.CDefaultFeatureValueProvider"
-            generatorId="yakindu::c_new"
+            generatorId="yakindu::c"
             uri="platform:/plugin/org.yakindu.sct.generator.c/library/FeatureTypeLibrary.xmi">
       </FeatureLibrary>
    </extension>
@@ -42,7 +42,7 @@
       </ExtensionGeneratorMapping>
       <ExtensionGeneratorMapping
             fileExtension="sct"
-            generatorId="yakindu::c_new">
+            generatorId="yakindu::cdep">
       </ExtensionGeneratorMapping>
    </extension>
 </plugin>

+ 16 - 35
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/CCodeGenerator.java

@@ -1,35 +1,16 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU 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:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.generator.c;
-
-import org.eclipse.core.resources.IProject;
-import org.yakindu.sct.generator.core.impl.AbstractXpandBasedCodeGenerator;
-import org.yakindu.sct.model.sgen.GeneratorEntry;
-
-/**
- * 
- * @author andreas muelder - Initial contribution and API
- * 
- */
-public class CCodeGenerator extends AbstractXpandBasedCodeGenerator {
-
-	@Override
-	public String getTemplatePath() {
-		return "org::yakindu::sct::generator::c::templates::Main::main";
-	}
-
-	@Override
-	protected void createProject(IProject project, GeneratorEntry entry) {
-		super.createProject(project, entry);
-		// TODO: Set up right project description with C related stuff here...
-	}
-
-}
+package org.yakindu.sct.generator.c;
+
+import org.yakindu.sct.generator.core.impl.GenericJavaBasedGenerator;
+import org.yakindu.sct.model.sgen.GeneratorEntry;
+import org.yakindu.sct.model.sgraph.Statechart;
+
+public class CCodeGenerator extends GenericJavaBasedGenerator {
+
+	@Override
+	public void runGenerator(Statechart flow, GeneratorEntry entry) {
+		CSCTGenerator delegate = getInjector(entry).getInstance(CSCTGenerator.class);		
+		delegate.generate(createExecutionFlow(flow, entry), entry, getFileSystemAccess(entry));
+	}
+
+	
+}

+ 0 - 16
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/CCodeGenerator2.java

@@ -1,16 +0,0 @@
-package org.yakindu.sct.generator.c;
-
-import org.yakindu.sct.generator.core.impl.GenericJavaBasedGenerator;
-import org.yakindu.sct.model.sgen.GeneratorEntry;
-import org.yakindu.sct.model.sgraph.Statechart;
-
-public class CCodeGenerator2 extends GenericJavaBasedGenerator {
-
-	@Override
-	public void runGenerator(Statechart flow, GeneratorEntry entry) {
-		CSCTGenerator delegate = getInjector(entry).getInstance(CSCTGenerator.class);		
-		delegate.generate(createExecutionFlow(flow, entry), entry, getFileSystemAccess(entry));
-	}
-
-	
-}

+ 35 - 0
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/CCodeGeneratorDep.java

@@ -0,0 +1,35 @@
+/**
+ * Copyright (c) 2011 committers of YAKINDU 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:
+ *     committers of YAKINDU - initial API and implementation
+ */
+package org.yakindu.sct.generator.c;
+
+import org.eclipse.core.resources.IProject;
+import org.yakindu.sct.generator.core.impl.AbstractXpandBasedCodeGenerator;
+import org.yakindu.sct.model.sgen.GeneratorEntry;
+
+/**
+ * 
+ * @author andreas muelder - Initial contribution and API
+ * 
+ */
+public class CCodeGeneratorDep extends AbstractXpandBasedCodeGenerator {
+
+	@Override
+	public String getTemplatePath() {
+		return "org::yakindu::sct::generator::c::templates::Main::main";
+	}
+
+	@Override
+	protected void createProject(IProject project, GeneratorEntry entry) {
+		super.createProject(project, entry);
+		// TODO: Set up right project description with C related stuff here...
+	}
+
+}