iee$iee
EObject context,Expression semanticObject
void
void sequence_AdditionInBrackets(EObject context,Expression semanticObject)
EObject context,Expression semanticObject
void
void sequence_AdditionInBrackets_Expression(EObject context,Expression semanticObject)
iee$iee
EObject context,Addition semanticObject
void
void sequence_Addition(EObject context,Addition semanticObject)
EObject context,Addition semanticObject
void
void sequence_Addition_Addition(EObject context,Addition semanticObject)
iee$iee
EObject context,Addition semanticObject
void
void sequence_Addition(EObject context,Addition semanticObject)
EObject context,Addition semanticObject
void
void sequence_Addition_Addition(EObject context,Addition semanticObject)
iee$iee
EObject context,Exponent semanticObject
void
void sequence_Exponent(EObject context,Exponent semanticObject)
EObject context,Exponent semanticObject
void
void sequence_Exponent_Exponent(EObject context,Exponent semanticObject)
iee$iee
EObject context,Exponent semanticObject
void
void sequence_Exponent(EObject context,Exponent semanticObject)
EObject context,Exponent semanticObject
void
void sequence_Exponent_Exponent(EObject context,Exponent semanticObject)
iee$iee
EObject context,Formula semanticObject
void
void sequence_Formula(EObject context,Formula semanticObject)
EObject context,Formula semanticObject
void
void sequence_Formula_Formula(EObject context,Formula semanticObject)
iee$iee
EObject context,Formula semanticObject
void
void sequence_Formula(EObject context,Formula semanticObject)
EObject context,Formula semanticObject
void
void sequence_Formula_Formula(EObject context,Formula semanticObject)
iee$iee
EObject context,FunctionDefinition semanticObject
void
void sequence_FunctionDefinition(EObject context,FunctionDefinition semanticObject)
EObject context,FunctionDefinition semanticObject
void
void sequence_FunctionDefinition_FunctionDefinition(EObject context,FunctionDefinition semanticObject)
iee$iee
EObject context,FunctionDefinition semanticObject
void
void sequence_FunctionDefinition(EObject context,FunctionDefinition semanticObject)
EObject context,FunctionDefinition semanticObject
void
void sequence_FunctionDefinition_FunctionDefinition(EObject context,FunctionDefinition semanticObject)
iee$iee
EObject context,Expression semanticObject
void
void sequence_Function(EObject context,Expression semanticObject)
EObject context,Expression semanticObject
void
void sequence_Function_Expression(EObject context,Expression semanticObject)
iee$iee
EObject context,Expression semanticObject
void
void sequence_Function(EObject context,Expression semanticObject)
EObject context,Expression semanticObject
void
void sequence_Function_Expression(EObject context,Expression semanticObject)
iee$iee
EObject context,MatrixExpression semanticObject
void
void sequence_MatrixAdditionInBrackets(EObject context,MatrixExpression semanticObject)
EObject context,MatrixExpression semanticObject
void
void sequence_MatrixAdditionInBrackets_MatrixExpression(EObject context,MatrixExpression semanticObject)
iee$iee
EObject context,MatrixAddition semanticObject
void
void sequence_MatrixAddition(EObject context,MatrixAddition semanticObject)
EObject context,MatrixAddition semanticObject
void
void sequence_MatrixAddition_MatrixAddition(EObject context,MatrixAddition semanticObject)
iee$iee
EObject context,MatrixAddition semanticObject
void
void sequence_MatrixAddition(EObject context,MatrixAddition semanticObject)
EObject context,MatrixAddition semanticObject
void
void sequence_MatrixAddition_MatrixAddition(EObject context,MatrixAddition semanticObject)
iee$iee
EObject context,MatrixAssignment semanticObject
void
void sequence_MatrixAssignment(EObject context,MatrixAssignment semanticObject)
EObject context,MatrixAssignment semanticObject
void
void sequence_MatrixAssignment_MatrixAssignment(EObject context,MatrixAssignment semanticObject)
iee$iee
EObject context,MatrixAssignment semanticObject
void
void sequence_MatrixAssignment(EObject context,MatrixAssignment semanticObject)
EObject context,MatrixAssignment semanticObject
void
void sequence_MatrixAssignment_MatrixAssignment(EObject context,MatrixAssignment semanticObject)
iee$iee
EObject context,MatrixFormula semanticObject
void
void sequence_MatrixFormula(EObject context,MatrixFormula semanticObject)
EObject context,MatrixFormula semanticObject
void
void sequence_MatrixFormula_MatrixFormula(EObject context,MatrixFormula semanticObject)
iee$iee
EObject context,MatrixFormula semanticObject
void
void sequence_MatrixFormula(EObject context,MatrixFormula semanticObject)
EObject context,MatrixFormula semanticObject
void
void sequence_MatrixFormula_MatrixFormula(EObject context,MatrixFormula semanticObject)
iee$iee
EObject context,MatrixMultiplication semanticObject
void
void sequence_MatrixMultiplication(EObject context,MatrixMultiplication semanticObject)
EObject context,MatrixMultiplication semanticObject
void
void sequence_MatrixMultiplication_MatrixMultiplication(EObject context,MatrixMultiplication semanticObject)
iee$iee
EObject context,MatrixMultiplication semanticObject
void
void sequence_MatrixMultiplication(EObject context,MatrixMultiplication semanticObject)
EObject context,MatrixMultiplication semanticObject
void
void sequence_MatrixMultiplication_MatrixMultiplication(EObject context,MatrixMultiplication semanticObject)
iee$iee
EObject context,MatrixRow semanticObject
void
void sequence_MatrixRow(EObject context,MatrixRow semanticObject)
EObject context,MatrixRow semanticObject
void
void sequence_MatrixRow_MatrixRow(EObject context,MatrixRow semanticObject)
iee$iee
EObject context,Matrix semanticObject
void
void sequence_Matrix(EObject context,Matrix semanticObject)
EObject context,Matrix semanticObject
void
void sequence_Matrix_Matrix(EObject context,Matrix semanticObject)
iee$iee
EObject context,Division semanticObject
void
void sequence_Multiplication(EObject context,Division semanticObject)
EObject context,Division semanticObject
void
void sequence_Multiplication_Division(EObject context,Division semanticObject)
iee$iee
EObject context,Division semanticObject
void
void sequence_Multiplication(EObject context,Division semanticObject)
EObject context,Division semanticObject
void
void sequence_Multiplication_Division(EObject context,Division semanticObject)
iee$iee
EObject context,Modulo semanticObject
void
void sequence_Multiplication(EObject context,Modulo semanticObject)
EObject context,Modulo semanticObject
void
void sequence_Multiplication_Modulo(EObject context,Modulo semanticObject)
iee$iee
EObject context,Modulo semanticObject
void
void sequence_Multiplication(EObject context,Modulo semanticObject)
EObject context,Modulo semanticObject
void
void sequence_Multiplication_Modulo(EObject context,Modulo semanticObject)
iee$iee
EObject context,Multiplication semanticObject
void
void sequence_Multiplication(EObject context,Multiplication semanticObject)
EObject context,Multiplication semanticObject
void
void sequence_Multiplication_Multiplication(EObject context,Multiplication semanticObject)
iee$iee
EObject context,Multiplication semanticObject
void
void sequence_Multiplication(EObject context,Multiplication semanticObject)
EObject context,Multiplication semanticObject
void
void sequence_Multiplication_Multiplication(EObject context,Multiplication semanticObject)
iee$iee
EObject context,MatrixInBrackets semanticObject
void
void sequence_PrimaryMatrix(EObject context,MatrixInBrackets semanticObject)
EObject context,NewMatrix semanticObject
void
void sequence_PrimaryMatrix_NewMatrix(EObject context,NewMatrix semanticObject)
iee$iee
EObject context,NewMatrix semanticObject
void
void sequence_PrimaryMatrix(EObject context,NewMatrix semanticObject)
EObject context,NewMatrix semanticObject
void
void sequence_PrimaryMatrix_NewMatrix(EObject context,NewMatrix semanticObject)
iee$iee
EObject context,Float semanticObject
void
void sequence_Primary(EObject context,Float semanticObject)
EObject context,Float semanticObject
void
void sequence_Primary_Float(EObject context,Float semanticObject)
iee$iee
EObject context,Function semanticObject
void
void sequence_Primary(EObject context,Function semanticObject)
EObject context,Function semanticObject
void
void sequence_Primary_Function(EObject context,Function semanticObject)
iee$iee
EObject context,MatrixElement semanticObject
void
void sequence_Primary(EObject context,MatrixElement semanticObject)
EObject context,MatrixElement semanticObject
void
void sequence_Primary_MatrixElement(EObject context,MatrixElement semanticObject)
iee$iee
EObject context,Variable semanticObject
void
void sequence_Primary(EObject context,Variable semanticObject)
EObject context,Variable semanticObject
void
void sequence_Primary_Variable(EObject context,Variable semanticObject)
iee$iee
EObject context,Statement semanticObject
void
void sequence_Statement(EObject context,Statement semanticObject)
EObject context,Statement semanticObject
void
void sequence_Statement_Statement(EObject context,Statement semanticObject)
iee$iee
EObject context,Statement semanticObject
void
void sequence_Statement(EObject context,Statement semanticObject)
EObject context,Statement semanticObject
void
void sequence_Statement_Statement(EObject context,Statement semanticObject)
iee$iee
EObject context,Factorial semanticObject
void
void sequence_UnaryExpression(EObject context,Factorial semanticObject)
EObject context,Factorial semanticObject
void
void sequence_UnaryExpression_Factorial(EObject context,Factorial semanticObject)
iee$iee
EObject context,Factorial semanticObject
void
void sequence_UnaryExpression(EObject context,Factorial semanticObject)
EObject context,Factorial semanticObject
void
void sequence_UnaryExpression_Factorial(EObject context,Factorial semanticObject)
iee$iee
EObject context,Invert semanticObject
void
void sequence_UnaryExpression(EObject context,Invert semanticObject)
EObject context,Invert semanticObject
void
void sequence_UnaryExpression_Invert(EObject context,Invert semanticObject)
iee$iee
EObject context,Invert semanticObject
void
void sequence_UnaryExpression(EObject context,Invert semanticObject)
EObject context,Invert semanticObject
void
void sequence_UnaryExpression_Invert(EObject context,Invert semanticObject)
iee$iee
EObject context,VariableAssignment semanticObject
void
void sequence_VariableAssignment(EObject context,VariableAssignment semanticObject)
EObject context,VariableAssignment semanticObject
void
void sequence_VariableAssignment_VariableAssignment(EObject context,VariableAssignment semanticObject)
iee$iee
EObject context,VariableAssignment semanticObject
void
void sequence_VariableAssignment(EObject context,VariableAssignment semanticObject)
EObject context,VariableAssignment semanticObject
void
void sequence_VariableAssignment_VariableAssignment(EObject context,VariableAssignment semanticObject)
iee$iee
return cColumnFloatParserRuleCall_2_6_0;
RuleCall
RuleCall getColumnFloatParserRuleCall_2_6_0()
return cColumnINTTerminalRuleCall_2_6_0;
RuleCall
RuleCall getColumnINTTerminalRuleCall_2_6_0()
iee$iee
RuleCall
RuleCall getColumnFloatParserRuleCall_3_6_0()
RuleCall
RuleCall getColumnINTTerminalRuleCall_3_6_0()
iee$iee
return cRowFloatParserRuleCall_2_3_0;
RuleCall
RuleCall getRowFloatParserRuleCall_2_3_0()
return cRowINTTerminalRuleCall_2_3_0;
RuleCall
RuleCall getRowINTTerminalRuleCall_2_3_0()
iee$iee
RuleCall
RuleCall getRowFloatParserRuleCall_3_3_0()
RuleCall
RuleCall getRowINTTerminalRuleCall_3_3_0()
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.sample.formula%2Fsrc%2Forg%2Feclipse%2Fiee%2Fsample%2Fformula%2Fpad%2FFormulaRenderer.java
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.sample.formula%2Fsrc%2Forg%2Feclipse%2Fiee%2Fsample%2Fformula%2Fpad%2FFormulaRenderer.java?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.sample.formula/src/org/eclipse/iee/sample/formula/pad/FormulaRenderer.java







			if (text.charAt(0) == '=') {
				latex = FormulaPadManager.getMolex()
						.translateMath(text.substring(1)).trim()
						.replace("\n", "").replace("\r", "");
			} else if (text.charAt(text.length() - 1) == '=') {
				latex = FormulaPadManager.getMolex()
						.translateMath(text.substring(0, text.length() - 1))
						.trim().replace("\n", "").replace("\r", "");
			} else {
				latex = FormulaPadManager.getMolex().translateMath(text).trim()
						.replace("\n", "").replace("\r", "");
			java.awt.Image awtImage = TeXFormula.createBufferedImage(latex,
					TeXConstants.STYLE_TEXT, 40, java.awt.Color.black,





		if (bufferedImage.getColorModel() instanceof DirectColorModel) {
			DirectColorModel colorModel = (DirectColorModel) bufferedImage
					.getColorModel();

			PaletteData palette = new PaletteData(colorModel.getRedMask(),
					colorModel.getGreenMask(), colorModel.getBlueMask());

			ImageData data = new ImageData(bufferedImage.getWidth(),
					bufferedImage.getHeight(), colorModel.getPixelSize(),
					palette);


					int pixel = palette.getPixel(new RGB(pixelArray[0],
							pixelArray[1], pixelArray[2]));
			}
		} else if (bufferedImage.getColorModel() instanceof IndexColorModel) {
			IndexColorModel colorModel = (IndexColorModel) bufferedImage
					.getColorModel();



			ImageData data = new ImageData(bufferedImage.getWidth(),
					bufferedImage.getHeight(), colorModel.getPixelSize(),
					palette);


	
	
	
	
	
		
	
		
			if (text.charAt(0) == '=')
			{
				latex = FormulaPadManager.getMolex().translateMath(text.substring(1)).trim().replace("\n\r", "");
			}
			else if (text.charAt(text.length() - 1) == '=')
			{
				latex = FormulaPadManager.getMolex().translateMath(text.substring(0, text.length() - 1)).trim().replace("\n\r", "");
			}
			else  
			{
				latex = FormulaPadManager.getMolex().translateMath(text).trim().replace("\n\r", "");
			java.awt.Image awtImage =
				TeXFormula.createBufferedImage(
					latex,
					TeXConstants.STYLE_TEXT,
					40,
					java.awt.Color.black,
			
			
			
			
	
		if (bufferedImage.getColorModel() instanceof DirectColorModel) {	
			DirectColorModel colorModel =
				(DirectColorModel) bufferedImage.getColorModel();
			
			PaletteData palette = new PaletteData(
				colorModel.getRedMask(),
				colorModel.getGreenMask(),
				colorModel.getBlueMask());
			
			ImageData data = new ImageData(
				bufferedImage.getWidth(),
				bufferedImage.getHeight(),
				colorModel.getPixelSize(),
				palette);
			
			
					int pixel = palette.getPixel(
						new RGB(pixelArray[0],pixelArray[1], pixelArray[2]));
			}			
		}
		else if (bufferedImage.getColorModel() instanceof IndexColorModel) {
			IndexColorModel colorModel =
				(IndexColorModel) bufferedImage.getColorModel();
			
			
			
			ImageData data = new ImageData(
				bufferedImage.getWidth(),
				bufferedImage.getHeight(),
				colorModel.getPixelSize(),
				palette);
			

@@ -17,127 +17,115 @@
 import org.scilab.forge.jlatexmath.TeXFormula;
 
 public class FormulaRenderer {
-	
+
 	protected static Display fDisplay;
-	
+
 	protected static Map<String, Image> fCachedImages = new TreeMap<String, Image>();
-	
-	
+
 	public static void setDisplay(Display display) {
 		fDisplay = display;
 	}
-	
+
 	public static boolean isTextValid(String text) {
 		if (fCachedImages.containsKey(text)) {
 			return true;
 		}
-		
+
 		if (getFormulaImage(text) == null) {
 			return false;
 		} else {
 			return true;
 		}
 	}
-	
+
 	public static Image getFormulaImage(String text) {
 		Image cachedImage = fCachedImages.get(text);
 		String latex = "";
 		if (cachedImage != null) {
 			return cachedImage;
 		}
-		
+
 		try {
 			/* Translating to Latex */
-			if (text.charAt(0) == '=')
-			{
-				latex = FormulaPadManager.getMolex().translateMath(text.substring(1)).trim().replace("\n\r", "");
+			if (text.charAt(0) == '=') {
+				latex = FormulaPadManager.getMolex()
+						.translateMath(text.substring(1)).trim()
+						.replace("\n", "").replace("\r", "");
 				latex = "=" + latex;
-			}
-			else if (text.charAt(text.length() - 1) == '=')
-			{
-				latex = FormulaPadManager.getMolex().translateMath(text.substring(0, text.length() - 1)).trim().replace("\n\r", "");
+			} else if (text.charAt(text.length() - 1) == '=') {
+				latex = FormulaPadManager.getMolex()
+						.translateMath(text.substring(0, text.length() - 1))
+						.trim().replace("\n", "").replace("\r", "");
 				latex = latex + "=";
-			}
-			else  
-			{
-				latex = FormulaPadManager.getMolex().translateMath(text).trim().replace("\n\r", "");
+			} else {
+				latex = FormulaPadManager.getMolex().translateMath(text).trim()
+						.replace("\n", "").replace("\r", "");
 			}
 			System.out.println("latex: " + latex);
-			java.awt.Image awtImage =
-				TeXFormula.createBufferedImage(
-					latex,
-					TeXConstants.STYLE_TEXT,
-					40,
-					java.awt.Color.black,
+			java.awt.Image awtImage = TeXFormula.createBufferedImage(latex,
+					TeXConstants.STYLE_TEXT, 40, java.awt.Color.black,
 					java.awt.Color.white);
-			
+
 			ImageData swtImageData = convertToSWT((BufferedImage) awtImage);
-			
+
 			Image formulaImage = new Image(fDisplay, swtImageData);
-			
+
 			fCachedImages.put(text, formulaImage);
 			return formulaImage;
-			
+
 		} catch (Exception e) {
 			e.printStackTrace();
 			return null;
 		}
 	}
-	
+
 	protected static ImageData convertToSWT(BufferedImage bufferedImage) {
-		if (bufferedImage.getColorModel() instanceof DirectColorModel) {	
-			DirectColorModel colorModel =
-				(DirectColorModel) bufferedImage.getColorModel();
-			
-			PaletteData palette = new PaletteData(
-				colorModel.getRedMask(),
-				colorModel.getGreenMask(),
-				colorModel.getBlueMask());
-			
-			ImageData data = new ImageData(
-				bufferedImage.getWidth(),
-				bufferedImage.getHeight(),
-				colorModel.getPixelSize(),
-				palette);
-			
+		if (bufferedImage.getColorModel() instanceof DirectColorModel) {
+			DirectColorModel colorModel = (DirectColorModel) bufferedImage
+					.getColorModel();
+
+			PaletteData palette = new PaletteData(colorModel.getRedMask(),
+					colorModel.getGreenMask(), colorModel.getBlueMask());
+
+			ImageData data = new ImageData(bufferedImage.getWidth(),
+					bufferedImage.getHeight(), colorModel.getPixelSize(),
+					palette);
+
 			WritableRaster raster = bufferedImage.getRaster();
-			
+
 			int[] pixelArray = new int[3];
 			for (int y = 0; y < data.height; y++) {
 				for (int x = 0; x < data.width; x++) {
 					raster.getPixel(x, y, pixelArray);
-					int pixel = palette.getPixel(
-						new RGB(pixelArray[0],pixelArray[1], pixelArray[2]));
+					int pixel = palette.getPixel(new RGB(pixelArray[0],
+							pixelArray[1], pixelArray[2]));
 					data.setPixel(x, y, pixel);
 				}
-			}			
+			}
 			return data;
-		}
-		else if (bufferedImage.getColorModel() instanceof IndexColorModel) {
-			IndexColorModel colorModel =
-				(IndexColorModel) bufferedImage.getColorModel();
-			
+		} else if (bufferedImage.getColorModel() instanceof IndexColorModel) {
+			IndexColorModel colorModel = (IndexColorModel) bufferedImage
+					.getColorModel();
+
 			int size = colorModel.getMapSize();
 			byte[] reds = new byte[size];
 			byte[] greens = new byte[size];
 			byte[] blues = new byte[size];
-			
+
 			colorModel.getReds(reds);
 			colorModel.getGreens(greens);
 			colorModel.getBlues(blues);
-			
+
 			RGB[] rgbs = new RGB[size];
 			for (int i = 0; i < rgbs.length; i++) {
 				rgbs[i] = new RGB(reds[i] & 0xFF, greens[i] & 0xFF,
 						blues[i] & 0xFF);
 			}
 			PaletteData palette = new PaletteData(rgbs);
-			ImageData data = new ImageData(
-				bufferedImage.getWidth(),
-				bufferedImage.getHeight(),
-				colorModel.getPixelSize(),
-				palette);
-			
+			ImageData data = new ImageData(bufferedImage.getWidth(),
+					bufferedImage.getHeight(), colorModel.getPixelSize(),
+					palette);
+
 			data.transparentPixel = colorModel.getTransparentPixel();
 			WritableRaster raster = bufferedImage.getRaster();
 			int[] pixelArray = new int[1];

https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.sample.formula%2Fsrc%2Forg%2Feclipse%2Fiee%2Fsample%2Fformula%2Fpad%2FFormulaRenderer.java
b83c30ad9a405850c2fd41a49987a25912e6b548
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.ecore
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.ecore?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/bin/org/eclipse/iee/translator/jmole/math/Math.ecore
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
@@ -104,8 +104,8 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="MatrixElement" eSuperTypes="platform:/resource/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/Math.ecore#//Expression">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="element" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="platform:/resource/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/Math.ecore#//Expression">
     <eStructuralFeatures xsi:type="ecore:EReference" name="function" eType="ecore:EClass platform:/resource/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/Math.ecore#//Expression"
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.ecore
787c23d275cabce596ec5f460ecdfe2c0030d245
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xmi
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xmi?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/bin/org/eclipse/iee/translator/jmole/math/Math.xmi
            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
@@ -213,12 +213,12 @@
           </elements>
           <elements xsi:type="xtext:Keyword" value="["/>
           <elements xsi:type="xtext:Assignment" feature="row" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
           </elements>
           <elements xsi:type="xtext:Keyword" value="]"/>
           <elements xsi:type="xtext:Keyword" value="["/>
           <elements xsi:type="xtext:Assignment" feature="column" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
           </elements>
           <elements xsi:type="xtext:Keyword" value="]"/>
         </elements>
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xmi
7e25782bbdeca16c06388bf4956a56e96c538fa2
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xtext
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xtext?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/bin/org/eclipse/iee/translator/jmole/math/Math.xtext
	{MatrixElement} element=MATH_NAME '[' row=Float ']' '[' column=Float ']' | 
	{MatrixElement} element=MATH_NAME '[' row=INT ']' '[' column=INT ']' | 
@@ -39,7 +39,7 @@ Exponent returns Expression:
 Primary returns Expression:
 	{Variable} name=MATH_NAME |
 	{Float} value=Float |
-	{MatrixElement} element=MATH_NAME '[' row=INT ']' '[' column=INT ']' | 
+	{MatrixElement} element=MATH_NAME '[' row=Float ']' '[' column=Float ']' | 
 	{Function} function=Function |
 	'(' Addition ')';
 
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xtext
a81ab333fc9e64436f5ba09a88d26b704a9d52b7
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fparser%2Fantlr%2Finternal%2FInternalMath.g
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fparser%2Fantlr%2Finternal%2FInternalMath.g?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/bin/org/eclipse/iee/translator/jmole/math/parser/antlr/internal/InternalMath.g
		{ 
	        newCompositeNode(grammarAccess.getPrimaryAccess().getRowFloatParserRuleCall_2_3_0()); 
	    }
		lv_row_7_0=ruleFloat		{
	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
       		set(
        		"Float");
	        afterParserOrEnumRuleCall();
		{ 
	        newCompositeNode(grammarAccess.getPrimaryAccess().getColumnFloatParserRuleCall_2_6_0()); 
	    }
		lv_column_10_0=ruleFloat		{
	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
       		set(
        		"Float");
	        afterParserOrEnumRuleCall();
		lv_row_7_0=RULE_INT
		{
			newLeafNode(lv_row_7_0, grammarAccess.getPrimaryAccess().getRowINTTerminalRuleCall_2_3_0()); 
		}
		{
	            $current = createModelElement(grammarAccess.getPrimaryRule());
       		setWithLastConsumed(
        		"INT");
		lv_column_10_0=RULE_INT
		{
			newLeafNode(lv_column_10_0, grammarAccess.getPrimaryAccess().getColumnINTTerminalRuleCall_2_6_0()); 
		}
		{
	            $current = createModelElement(grammarAccess.getPrimaryRule());
       		setWithLastConsumed(
        		"INT");
@@ -780,19 +780,19 @@ rulePrimary returns [EObject current=null]
     }
 (
 (
-		lv_row_7_0=RULE_INT
-		{
-			newLeafNode(lv_row_7_0, grammarAccess.getPrimaryAccess().getRowINTTerminalRuleCall_2_3_0()); 
-		}
-		{
+		{ 
+	        newCompositeNode(grammarAccess.getPrimaryAccess().getRowFloatParserRuleCall_2_3_0()); 
+	    }
+		lv_row_7_0=ruleFloat		{
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getPrimaryRule());
+	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
 	        }
-       		setWithLastConsumed(
+       		set(
        			$current, 
        			"row",
         		lv_row_7_0, 
-        		"INT");
+        		"Float");
+	        afterParserOrEnumRuleCall();
 	    }
 
 )
@@ -806,19 +806,19 @@ rulePrimary returns [EObject current=null]
     }
 (
 (
-		lv_column_10_0=RULE_INT
-		{
-			newLeafNode(lv_column_10_0, grammarAccess.getPrimaryAccess().getColumnINTTerminalRuleCall_2_6_0()); 
-		}
-		{
+		{ 
+	        newCompositeNode(grammarAccess.getPrimaryAccess().getColumnFloatParserRuleCall_2_6_0()); 
+	    }
+		lv_column_10_0=ruleFloat		{
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getPrimaryRule());
+	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
 	        }
-       		setWithLastConsumed(
+       		set(
        			$current, 
        			"column",
         		lv_column_10_0, 
-        		"INT");
+        		"Float");
+	        afterParserOrEnumRuleCall();
 	    }
 
 )
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fparser%2Fantlr%2Finternal%2FInternalMath.g
9c199e006c51f9557cff866e21d95238df6dffb2
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.ecore
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.ecore?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/Math.ecore
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
@@ -104,8 +104,8 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="MatrixElement" eSuperTypes="platform:/resource/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/Math.ecore#//Expression">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="element" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="platform:/resource/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/Math.ecore#//Expression">
     <eStructuralFeatures xsi:type="ecore:EReference" name="function" eType="ecore:EClass platform:/resource/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/Math.ecore#//Expression"
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.ecore
787c23d275cabce596ec5f460ecdfe2c0030d245
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xmi
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xmi?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/Math.xmi
            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
@@ -213,12 +213,12 @@
           </elements>
           <elements xsi:type="xtext:Keyword" value="["/>
           <elements xsi:type="xtext:Assignment" feature="row" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
           </elements>
           <elements xsi:type="xtext:Keyword" value="]"/>
           <elements xsi:type="xtext:Keyword" value="["/>
           <elements xsi:type="xtext:Assignment" feature="column" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.15"/>
           </elements>
           <elements xsi:type="xtext:Keyword" value="]"/>
         </elements>
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xmi
7e25782bbdeca16c06388bf4956a56e96c538fa2
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fmath%2FMatrixElement.java
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fmath%2FMatrixElement.java?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/math/MatrixElement.java
   * @see #setRow(String)
  String getRow();
  void setRow(String value);
   * @see #setColumn(String)
  String getColumn();
  void setColumn(String value);
   * @see #setRow(int)
  int getRow();
  void setRow(int value);
   * @see #setColumn(int)
  int getColumn();
  void setColumn(int value);
@@ -62,12 +62,12 @@ public interface MatrixElement extends Expression
    * </p>
    * <!-- end-user-doc -->
    * @return the value of the '<em>Row</em>' attribute.
-   * @see #setRow(int)
+   * @see #setRow(String)
    * @see org.eclipse.iee.translator.jmole.math.math.MathPackage#getMatrixElement_Row()
    * @model
    * @generated
    */
-  int getRow();
+  String getRow();
 
   /**
    * Sets the value of the '{@link org.eclipse.iee.translator.jmole.math.math.MatrixElement#getRow <em>Row</em>}' attribute.
@@ -77,7 +77,7 @@ public interface MatrixElement extends Expression
    * @see #getRow()
    * @generated
    */
-  void setRow(int value);
+  void setRow(String value);
 
   /**
    * Returns the value of the '<em><b>Column</b></em>' attribute.
@@ -88,12 +88,12 @@ public interface MatrixElement extends Expression
    * </p>
    * <!-- end-user-doc -->
    * @return the value of the '<em>Column</em>' attribute.
-   * @see #setColumn(int)
+   * @see #setColumn(String)
    * @see org.eclipse.iee.translator.jmole.math.math.MathPackage#getMatrixElement_Column()
    * @model
    * @generated
    */
-  int getColumn();
+  String getColumn();
 
   /**
    * Sets the value of the '{@link org.eclipse.iee.translator.jmole.math.math.MatrixElement#getColumn <em>Column</em>}' attribute.
@@ -103,6 +103,6 @@ public interface MatrixElement extends Expression
    * @see #getColumn()
    * @generated
    */
-  void setColumn(int value);
+  void setColumn(String value);
 
 } // MatrixElement
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fmath%2FMatrixElement.java
485e1fb90c3ed186e368f0bbceaf8ae9dc9e2304
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fmath%2Fimpl%2FMathPackageImpl.java
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fmath%2Fimpl%2FMathPackageImpl.java?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/math/impl/MathPackageImpl.java
    initEAttribute(getMatrixElement_Row(), ecorePackage.getEString(), "row", null, 0, 1, MatrixElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getMatrixElement_Column(), ecorePackage.getEString(), "column", null, 0, 1, MatrixElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getMatrixElement_Row(), ecorePackage.getEInt(), "row", null, 0, 1, MatrixElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
    initEAttribute(getMatrixElement_Column(), ecorePackage.getEInt(), "column", null, 0, 1, MatrixElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
@@ -1306,8 +1306,8 @@ public void initializePackageContents()
 
     initEClass(matrixElementEClass, MatrixElement.class, "MatrixElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
     initEAttribute(getMatrixElement_Element(), ecorePackage.getEString(), "element", null, 0, 1, MatrixElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getMatrixElement_Row(), ecorePackage.getEInt(), "row", null, 0, 1, MatrixElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-    initEAttribute(getMatrixElement_Column(), ecorePackage.getEInt(), "column", null, 0, 1, MatrixElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getMatrixElement_Row(), ecorePackage.getEString(), "row", null, 0, 1, MatrixElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+    initEAttribute(getMatrixElement_Column(), ecorePackage.getEString(), "column", null, 0, 1, MatrixElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
     initEClass(functionEClass, Function.class, "Function", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
     initEReference(getFunction_Function(), this.getExpression(), null, "function", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fmath%2Fimpl%2FMathPackageImpl.java
05a20afb5581d1059ccda5ddee98ab9173a689ce
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fmath%2Fimpl%2FMatrixElementImpl.java
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fmath%2Fimpl%2FMatrixElementImpl.java?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/math/impl/MatrixElementImpl.java
  protected static final String ROW_EDEFAULT = null;
  protected String row = ROW_EDEFAULT;
  protected static final String COLUMN_EDEFAULT = null;
  protected String column = COLUMN_EDEFAULT;
  public String getRow()
  public void setRow(String newRow)
    String oldRow = row;
  public String getColumn()
  public void setColumn(String newColumn)
    String oldColumn = column;
        setRow((String)newValue);
        setColumn((String)newValue);
        return ROW_EDEFAULT == null ? row != null : !ROW_EDEFAULT.equals(row);
        return COLUMN_EDEFAULT == null ? column != null : !COLUMN_EDEFAULT.equals(column);
  protected static final int ROW_EDEFAULT = 0;
  protected int row = ROW_EDEFAULT;
  protected static final int COLUMN_EDEFAULT = 0;
  protected int column = COLUMN_EDEFAULT;
  public int getRow()
  public void setRow(int newRow)
    int oldRow = row;
  public int getColumn()
  public void setColumn(int newColumn)
    int oldColumn = column;
        setRow((Integer)newValue);
        setColumn((Integer)newValue);
        return row != ROW_EDEFAULT;
        return column != COLUMN_EDEFAULT;
@@ -60,7 +60,7 @@ public class MatrixElementImpl extends ExpressionImpl implements MatrixElement
    * @generated
    * @ordered
    */
-  protected static final int ROW_EDEFAULT = 0;
+  protected static final String ROW_EDEFAULT = null;
 
   /**
    * The cached value of the '{@link #getRow() <em>Row</em>}' attribute.
@@ -70,7 +70,7 @@ public class MatrixElementImpl extends ExpressionImpl implements MatrixElement
    * @generated
    * @ordered
    */
-  protected int row = ROW_EDEFAULT;
+  protected String row = ROW_EDEFAULT;
 
   /**
    * The default value of the '{@link #getColumn() <em>Column</em>}' attribute.
@@ -80,7 +80,7 @@ public class MatrixElementImpl extends ExpressionImpl implements MatrixElement
    * @generated
    * @ordered
    */
-  protected static final int COLUMN_EDEFAULT = 0;
+  protected static final String COLUMN_EDEFAULT = null;
 
   /**
    * The cached value of the '{@link #getColumn() <em>Column</em>}' attribute.
@@ -90,7 +90,7 @@ public class MatrixElementImpl extends ExpressionImpl implements MatrixElement
    * @generated
    * @ordered
    */
-  protected int column = COLUMN_EDEFAULT;
+  protected String column = COLUMN_EDEFAULT;
 
   /**
    * <!-- begin-user-doc -->
@@ -141,7 +141,7 @@ public void setElement(String newElement)
    * <!-- end-user-doc -->
    * @generated
    */
-  public int getRow()
+  public String getRow()
   {
     return row;
   }
@@ -151,9 +151,9 @@ public int getRow()
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setRow(int newRow)
+  public void setRow(String newRow)
   {
-    int oldRow = row;
+    String oldRow = row;
     row = newRow;
     if (eNotificationRequired())
       eNotify(new ENotificationImpl(this, Notification.SET, MathPackage.MATRIX_ELEMENT__ROW, oldRow, row));
@@ -164,7 +164,7 @@ public void setRow(int newRow)
    * <!-- end-user-doc -->
    * @generated
    */
-  public int getColumn()
+  public String getColumn()
   {
     return column;
   }
@@ -174,9 +174,9 @@ public int getColumn()
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setColumn(int newColumn)
+  public void setColumn(String newColumn)
   {
-    int oldColumn = column;
+    String oldColumn = column;
     column = newColumn;
     if (eNotificationRequired())
       eNotify(new ENotificationImpl(this, Notification.SET, MathPackage.MATRIX_ELEMENT__COLUMN, oldColumn, column));
@@ -216,10 +216,10 @@ public void eSet(int featureID, Object newValue)
         setElement((String)newValue);
         return;
       case MathPackage.MATRIX_ELEMENT__ROW:
-        setRow((Integer)newValue);
+        setRow((String)newValue);
         return;
       case MathPackage.MATRIX_ELEMENT__COLUMN:
-        setColumn((Integer)newValue);
+        setColumn((String)newValue);
         return;
     }
     super.eSet(featureID, newValue);
@@ -261,9 +261,9 @@ public boolean eIsSet(int featureID)
       case MathPackage.MATRIX_ELEMENT__ELEMENT:
         return ELEMENT_EDEFAULT == null ? element != null : !ELEMENT_EDEFAULT.equals(element);
       case MathPackage.MATRIX_ELEMENT__ROW:
-        return row != ROW_EDEFAULT;
+        return ROW_EDEFAULT == null ? row != null : !ROW_EDEFAULT.equals(row);
       case MathPackage.MATRIX_ELEMENT__COLUMN:
-        return column != COLUMN_EDEFAULT;
+        return COLUMN_EDEFAULT == null ? column != null : !COLUMN_EDEFAULT.equals(column);
     }
     return super.eIsSet(featureID);
   }
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fmath%2Fimpl%2FMatrixElementImpl.java
4fa6710944dd564939f80aa5b6cd0e33e3d818a0
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fparser%2Fantlr%2Finternal%2FInternalMath.g
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fparser%2Fantlr%2Finternal%2FInternalMath.g?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/parser/antlr/internal/InternalMath.g
		{ 
	        newCompositeNode(grammarAccess.getPrimaryAccess().getRowFloatParserRuleCall_2_3_0()); 
	    }
		lv_row_7_0=ruleFloat		{
	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
       		set(
        		"Float");
	        afterParserOrEnumRuleCall();
		{ 
	        newCompositeNode(grammarAccess.getPrimaryAccess().getColumnFloatParserRuleCall_2_6_0()); 
	    }
		lv_column_10_0=ruleFloat		{
	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
       		set(
        		"Float");
	        afterParserOrEnumRuleCall();
		lv_row_7_0=RULE_INT
		{
			newLeafNode(lv_row_7_0, grammarAccess.getPrimaryAccess().getRowINTTerminalRuleCall_2_3_0()); 
		}
		{
	            $current = createModelElement(grammarAccess.getPrimaryRule());
       		setWithLastConsumed(
        		"INT");
		lv_column_10_0=RULE_INT
		{
			newLeafNode(lv_column_10_0, grammarAccess.getPrimaryAccess().getColumnINTTerminalRuleCall_2_6_0()); 
		}
		{
	            $current = createModelElement(grammarAccess.getPrimaryRule());
       		setWithLastConsumed(
        		"INT");
@@ -780,19 +780,19 @@ rulePrimary returns [EObject current=null]
     }
 (
 (
-		lv_row_7_0=RULE_INT
-		{
-			newLeafNode(lv_row_7_0, grammarAccess.getPrimaryAccess().getRowINTTerminalRuleCall_2_3_0()); 
-		}
-		{
+		{ 
+	        newCompositeNode(grammarAccess.getPrimaryAccess().getRowFloatParserRuleCall_2_3_0()); 
+	    }
+		lv_row_7_0=ruleFloat		{
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getPrimaryRule());
+	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
 	        }
-       		setWithLastConsumed(
+       		set(
        			$current, 
        			"row",
         		lv_row_7_0, 
-        		"INT");
+        		"Float");
+	        afterParserOrEnumRuleCall();
 	    }
 
 )
@@ -806,19 +806,19 @@ rulePrimary returns [EObject current=null]
     }
 (
 (
-		lv_column_10_0=RULE_INT
-		{
-			newLeafNode(lv_column_10_0, grammarAccess.getPrimaryAccess().getColumnINTTerminalRuleCall_2_6_0()); 
-		}
-		{
+		{ 
+	        newCompositeNode(grammarAccess.getPrimaryAccess().getColumnFloatParserRuleCall_2_6_0()); 
+	    }
+		lv_column_10_0=ruleFloat		{
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getPrimaryRule());
+	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
 	        }
-       		setWithLastConsumed(
+       		set(
        			$current, 
        			"column",
         		lv_column_10_0, 
-        		"INT");
+        		"Float");
+	        afterParserOrEnumRuleCall();
 	    }
 
 )
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fparser%2Fantlr%2Finternal%2FInternalMath.g
9c199e006c51f9557cff866e21d95238df6dffb2
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fserializer%2FAbstractMathSemanticSequencer.java
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fserializer%2FAbstractMathSemanticSequencer.java?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/serializer/AbstractMathSemanticSequencer.java
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_Addition(context, (Addition) semanticObject); 
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_Multiplication(context, (Division) semanticObject); 
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_Exponent(context, (Exponent) semanticObject); 
					sequence_Function(context, (Expression) semanticObject); 
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_UnaryExpression(context, (Factorial) semanticObject); 
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_Primary(context, (org.eclipse.iee.translator.jmole.math.math.Float) semanticObject); 
					sequence_Formula(context, (Formula) semanticObject); 
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_Primary(context, (Function) semanticObject); 
					sequence_FunctionDefinition(context, (FunctionDefinition) semanticObject); 
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_UnaryExpression(context, (Invert) semanticObject); 
					sequence_Matrix(context, (Matrix) semanticObject); 
					sequence_MatrixAddition(context, (MatrixAddition) semanticObject); 
					sequence_MatrixAssignment(context, (MatrixAssignment) semanticObject); 
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_Primary(context, (MatrixElement) semanticObject); 
					sequence_MatrixFormula(context, (MatrixFormula) semanticObject); 
					sequence_MatrixMultiplication(context, (MatrixMultiplication) semanticObject); 
					sequence_MatrixRow(context, (MatrixRow) semanticObject); 
					sequence_MatrixAddition(context, (MatrixSubtraction) semanticObject); 
					sequence_PrimaryMatrix(context, (MatrixVariable) semanticObject); 
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_Multiplication(context, (Modulo) semanticObject); 
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_Multiplication(context, (Multiplication) semanticObject); 
					sequence_PrimaryMatrix(context, (NewMatrix) semanticObject); 
					sequence_Statement(context, (Statement) semanticObject); 
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_Addition(context, (Subtraction) semanticObject); 
					sequence_PrimaryMatrix(context, (TransposeMatrix) semanticObject); 
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getPrimaryRule() ||
				   context == grammarAccess.getUnaryExpressionRule()) {
					sequence_Primary(context, (Variable) semanticObject); 
					sequence_VariableAssignment(context, (VariableAssignment) semanticObject); 
	protected void sequence_Addition(EObject context, Addition semanticObject) {
	protected void sequence_Addition(EObject context, Subtraction semanticObject) {
	protected void sequence_Exponent(EObject context, Exponent semanticObject) {
	protected void sequence_Formula(EObject context, Formula semanticObject) {
	protected void sequence_FunctionDefinition(EObject context, FunctionDefinition semanticObject) {
	protected void sequence_Function(EObject context, Expression semanticObject) {
	protected void sequence_MatrixAddition(EObject context, MatrixAddition semanticObject) {
	protected void sequence_MatrixAddition(EObject context, MatrixSubtraction semanticObject) {
	protected void sequence_MatrixAssignment(EObject context, MatrixAssignment semanticObject) {
	protected void sequence_MatrixFormula(EObject context, MatrixFormula semanticObject) {
	 *    left[0, 2]
	 *    rightMatrix[0, 1]
	 *    rightScalar[0, 1]
	protected void sequence_MatrixMultiplication(EObject context, MatrixMultiplication semanticObject) {
	protected void sequence_MatrixRow(EObject context, MatrixRow semanticObject) {
	protected void sequence_Matrix(EObject context, Matrix semanticObject) {
	protected void sequence_Multiplication(EObject context, Division semanticObject) {
	protected void sequence_Multiplication(EObject context, Modulo semanticObject) {
	protected void sequence_Multiplication(EObject context, Multiplication semanticObject) {
	protected void sequence_PrimaryMatrix(EObject context, MatrixVariable semanticObject) {
	protected void sequence_PrimaryMatrix(EObject context, NewMatrix semanticObject) {
	protected void sequence_PrimaryMatrix(EObject context, TransposeMatrix semanticObject) {
	protected void sequence_Primary(EObject context, org.eclipse.iee.translator.jmole.math.math.Float semanticObject) {
	protected void sequence_Primary(EObject context, Function semanticObject) {
	 *     (element=MATH_NAME row=Float column=Float)
	protected void sequence_Primary(EObject context, MatrixElement semanticObject) {
	protected void sequence_Primary(EObject context, Variable semanticObject) {
	protected void sequence_Statement(EObject context, Statement semanticObject) {
	protected void sequence_UnaryExpression(EObject context, Factorial semanticObject) {
	protected void sequence_UnaryExpression(EObject context, Invert semanticObject) {
	protected void sequence_VariableAssignment(EObject context, VariableAssignment semanticObject) {
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_Addition_Addition(context, (Addition) semanticObject); 
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_Multiplication_Division(context, (Division) semanticObject); 
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_Exponent_Exponent(context, (Exponent) semanticObject); 
					sequence_Function_Expression(context, (Expression) semanticObject); 
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_UnaryExpression_Factorial(context, (Factorial) semanticObject); 
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_Primary_Float(context, (org.eclipse.iee.translator.jmole.math.math.Float) semanticObject); 
					sequence_Formula_Formula(context, (Formula) semanticObject); 
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_Primary_Function(context, (Function) semanticObject); 
					sequence_FunctionDefinition_FunctionDefinition(context, (FunctionDefinition) semanticObject); 
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_UnaryExpression_Invert(context, (Invert) semanticObject); 
					sequence_Matrix_Matrix(context, (Matrix) semanticObject); 
					sequence_MatrixAddition_MatrixAddition(context, (MatrixAddition) semanticObject); 
					sequence_MatrixAssignment_MatrixAssignment(context, (MatrixAssignment) semanticObject); 
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_Primary_MatrixElement(context, (MatrixElement) semanticObject); 
					sequence_MatrixFormula_MatrixFormula(context, (MatrixFormula) semanticObject); 
					sequence_MatrixMultiplication_MatrixMultiplication(context, (MatrixMultiplication) semanticObject); 
					sequence_MatrixRow_MatrixRow(context, (MatrixRow) semanticObject); 
					sequence_MatrixAddition_MatrixSubtraction(context, (MatrixSubtraction) semanticObject); 
					sequence_PrimaryMatrix_MatrixVariable(context, (MatrixVariable) semanticObject); 
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_Multiplication_Modulo(context, (Modulo) semanticObject); 
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_Multiplication_Multiplication(context, (Multiplication) semanticObject); 
					sequence_PrimaryMatrix_NewMatrix(context, (NewMatrix) semanticObject); 
					sequence_Statement_Statement(context, (Statement) semanticObject); 
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_Addition_Subtraction(context, (Subtraction) semanticObject); 
					sequence_PrimaryMatrix_TransposeMatrix(context, (TransposeMatrix) semanticObject); 
				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
				   context == grammarAccess.getUnaryExpressionRule() ||
				   context == grammarAccess.getExponentRule() ||
				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
				   context == grammarAccess.getPrimaryRule()) {
					sequence_Primary_Variable(context, (Variable) semanticObject); 
					sequence_VariableAssignment_VariableAssignment(context, (VariableAssignment) semanticObject); 
	protected void sequence_Addition_Addition(EObject context, Addition semanticObject) {
	protected void sequence_Addition_Subtraction(EObject context, Subtraction semanticObject) {
	protected void sequence_Exponent_Exponent(EObject context, Exponent semanticObject) {
	protected void sequence_Formula_Formula(EObject context, Formula semanticObject) {
	protected void sequence_FunctionDefinition_FunctionDefinition(EObject context, FunctionDefinition semanticObject) {
	protected void sequence_Function_Expression(EObject context, Expression semanticObject) {
	protected void sequence_MatrixAddition_MatrixAddition(EObject context, MatrixAddition semanticObject) {
	protected void sequence_MatrixAddition_MatrixSubtraction(EObject context, MatrixSubtraction semanticObject) {
	protected void sequence_MatrixAssignment_MatrixAssignment(EObject context, MatrixAssignment semanticObject) {
	protected void sequence_MatrixFormula_MatrixFormula(EObject context, MatrixFormula semanticObject) {
	 *    left[2, 2]
	 *    rightMatrix[1, 1]
	 *    rightScalar[1, 1]
	protected void sequence_MatrixMultiplication_MatrixMultiplication(EObject context, MatrixMultiplication semanticObject) {
	protected void sequence_MatrixRow_MatrixRow(EObject context, MatrixRow semanticObject) {
	protected void sequence_Matrix_Matrix(EObject context, Matrix semanticObject) {
	protected void sequence_Multiplication_Division(EObject context, Division semanticObject) {
	protected void sequence_Multiplication_Modulo(EObject context, Modulo semanticObject) {
	protected void sequence_Multiplication_Multiplication(EObject context, Multiplication semanticObject) {
	protected void sequence_PrimaryMatrix_MatrixVariable(EObject context, MatrixVariable semanticObject) {
	protected void sequence_PrimaryMatrix_NewMatrix(EObject context, NewMatrix semanticObject) {
	protected void sequence_PrimaryMatrix_TransposeMatrix(EObject context, TransposeMatrix semanticObject) {
	protected void sequence_Primary_Float(EObject context, org.eclipse.iee.translator.jmole.math.math.Float semanticObject) {
	protected void sequence_Primary_Function(EObject context, Function semanticObject) {
	 *     (element=MATH_NAME row=INT column=INT)
	protected void sequence_Primary_MatrixElement(EObject context, MatrixElement semanticObject) {
	protected void sequence_Primary_Variable(EObject context, Variable semanticObject) {
	protected void sequence_Statement_Statement(EObject context, Statement semanticObject) {
	protected void sequence_UnaryExpression_Factorial(EObject context, Factorial semanticObject) {
	protected void sequence_UnaryExpression_Invert(EObject context, Invert semanticObject) {
	protected void sequence_VariableAssignment_VariableAssignment(EObject context, VariableAssignment semanticObject) {
@@ -74,135 +74,135 @@ public void createSequence(EObject context, EObject semanticObject) {
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_Addition_Addition(context, (Addition) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_Addition(context, (Addition) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.DIVISION:
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_Multiplication_Division(context, (Division) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_Multiplication(context, (Division) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.EXPONENT:
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_Exponent_Exponent(context, (Exponent) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_Exponent(context, (Exponent) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.EXPRESSION:
 				if(context == grammarAccess.getFunctionRule()) {
-					sequence_Function_Expression(context, (Expression) semanticObject); 
+					sequence_Function(context, (Expression) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.FACTORIAL:
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_UnaryExpression_Factorial(context, (Factorial) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_UnaryExpression(context, (Factorial) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.FLOAT:
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_Primary_Float(context, (org.eclipse.iee.translator.jmole.math.math.Float) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_Primary(context, (org.eclipse.iee.translator.jmole.math.math.Float) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.FORMULA:
 				if(context == grammarAccess.getFormulaRule()) {
-					sequence_Formula_Formula(context, (Formula) semanticObject); 
+					sequence_Formula(context, (Formula) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.FUNCTION:
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_Primary_Function(context, (Function) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_Primary(context, (Function) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.FUNCTION_DEFINITION:
 				if(context == grammarAccess.getFunctionDefinitionRule()) {
-					sequence_FunctionDefinition_FunctionDefinition(context, (FunctionDefinition) semanticObject); 
+					sequence_FunctionDefinition(context, (FunctionDefinition) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.INVERT:
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_UnaryExpression_Invert(context, (Invert) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_UnaryExpression(context, (Invert) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.MATRIX:
 				if(context == grammarAccess.getMatrixRule()) {
-					sequence_Matrix_Matrix(context, (Matrix) semanticObject); 
+					sequence_Matrix(context, (Matrix) semanticObject); 
 					return; 
 				}
 				else break;
@@ -214,35 +214,35 @@ public void createSequence(EObject context, EObject semanticObject) {
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_1_1() ||
 				   context == grammarAccess.getPrimaryMatrixRule()) {
-					sequence_MatrixAddition_MatrixAddition(context, (MatrixAddition) semanticObject); 
+					sequence_MatrixAddition(context, (MatrixAddition) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.MATRIX_ASSIGNMENT:
 				if(context == grammarAccess.getMatrixAssignmentRule()) {
-					sequence_MatrixAssignment_MatrixAssignment(context, (MatrixAssignment) semanticObject); 
+					sequence_MatrixAssignment(context, (MatrixAssignment) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.MATRIX_ELEMENT:
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_Primary_MatrixElement(context, (MatrixElement) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_Primary(context, (MatrixElement) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.MATRIX_FORMULA:
 				if(context == grammarAccess.getMatrixFormulaRule()) {
-					sequence_MatrixFormula_MatrixFormula(context, (MatrixFormula) semanticObject); 
+					sequence_MatrixFormula(context, (MatrixFormula) semanticObject); 
 					return; 
 				}
 				else break;
@@ -254,13 +254,13 @@ public void createSequence(EObject context, EObject semanticObject) {
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_1_1() ||
 				   context == grammarAccess.getPrimaryMatrixRule()) {
-					sequence_MatrixMultiplication_MatrixMultiplication(context, (MatrixMultiplication) semanticObject); 
+					sequence_MatrixMultiplication(context, (MatrixMultiplication) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.MATRIX_ROW:
 				if(context == grammarAccess.getMatrixRowRule()) {
-					sequence_MatrixRow_MatrixRow(context, (MatrixRow) semanticObject); 
+					sequence_MatrixRow(context, (MatrixRow) semanticObject); 
 					return; 
 				}
 				else break;
@@ -272,7 +272,7 @@ public void createSequence(EObject context, EObject semanticObject) {
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_1_1() ||
 				   context == grammarAccess.getPrimaryMatrixRule()) {
-					sequence_MatrixAddition_MatrixSubtraction(context, (MatrixSubtraction) semanticObject); 
+					sequence_MatrixAddition(context, (MatrixSubtraction) semanticObject); 
 					return; 
 				}
 				else break;
@@ -284,39 +284,39 @@ public void createSequence(EObject context, EObject semanticObject) {
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_1_1() ||
 				   context == grammarAccess.getPrimaryMatrixRule()) {
-					sequence_PrimaryMatrix_MatrixVariable(context, (MatrixVariable) semanticObject); 
+					sequence_PrimaryMatrix(context, (MatrixVariable) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.MODULO:
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_Multiplication_Modulo(context, (Modulo) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_Multiplication(context, (Modulo) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.MULTIPLICATION:
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_Multiplication_Multiplication(context, (Multiplication) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_Multiplication(context, (Multiplication) semanticObject); 
 					return; 
 				}
 				else break;
@@ -328,29 +328,29 @@ public void createSequence(EObject context, EObject semanticObject) {
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_1_1() ||
 				   context == grammarAccess.getPrimaryMatrixRule()) {
-					sequence_PrimaryMatrix_NewMatrix(context, (NewMatrix) semanticObject); 
+					sequence_PrimaryMatrix(context, (NewMatrix) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.STATEMENT:
 				if(context == grammarAccess.getStatementRule()) {
-					sequence_Statement_Statement(context, (Statement) semanticObject); 
+					sequence_Statement(context, (Statement) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.SUBTRACTION:
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_Addition_Subtraction(context, (Subtraction) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_Addition(context, (Subtraction) semanticObject); 
 					return; 
 				}
 				else break;
@@ -362,29 +362,29 @@ public void createSequence(EObject context, EObject semanticObject) {
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMatrixMultiplicationAccess().getMatrixMultiplicationLeftAction_1_1_1() ||
 				   context == grammarAccess.getPrimaryMatrixRule()) {
-					sequence_PrimaryMatrix_TransposeMatrix(context, (TransposeMatrix) semanticObject); 
+					sequence_PrimaryMatrix(context, (TransposeMatrix) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.VARIABLE:
 				if(context == grammarAccess.getAdditionRule() ||
 				   context == grammarAccess.getAdditionAccess().getAdditionLeftAction_1_0_1() ||
 				   context == grammarAccess.getAdditionAccess().getSubtractionLeftAction_1_1_1() ||
+				   context == grammarAccess.getExponentRule() ||
+				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
 				   context == grammarAccess.getMultiplicationRule() ||
-				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getDivisionLeftAction_1_1_1() ||
 				   context == grammarAccess.getMultiplicationAccess().getModuloLeftAction_1_2_1() ||
-				   context == grammarAccess.getUnaryExpressionRule() ||
-				   context == grammarAccess.getExponentRule() ||
-				   context == grammarAccess.getExponentAccess().getExponentLeftAction_1_0() ||
-				   context == grammarAccess.getPrimaryRule()) {
-					sequence_Primary_Variable(context, (Variable) semanticObject); 
+				   context == grammarAccess.getMultiplicationAccess().getMultiplicationLeftAction_1_0_1() ||
+				   context == grammarAccess.getPrimaryRule() ||
+				   context == grammarAccess.getUnaryExpressionRule()) {
+					sequence_Primary(context, (Variable) semanticObject); 
 					return; 
 				}
 				else break;
 			case MathPackage.VARIABLE_ASSIGNMENT:
 				if(context == grammarAccess.getVariableAssignmentRule()) {
-					sequence_VariableAssignment_VariableAssignment(context, (VariableAssignment) semanticObject); 
+					sequence_VariableAssignment(context, (VariableAssignment) semanticObject); 
 					return; 
 				}
 				else break;
@@ -400,7 +400,7 @@ public void createSequence(EObject context, EObject semanticObject) {
 	 *    left[1, 1]
 	 *    right[1, 1]
 	 */
-	protected void sequence_Addition_Addition(EObject context, Addition semanticObject) {
+	protected void sequence_Addition(EObject context, Addition semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -413,7 +413,7 @@ protected void sequence_Addition_Addition(EObject context, Addition semanticObje
 	 *    left[1, 1]
 	 *    right[1, 1]
 	 */
-	protected void sequence_Addition_Subtraction(EObject context, Subtraction semanticObject) {
+	protected void sequence_Addition(EObject context, Subtraction semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -426,7 +426,7 @@ protected void sequence_Addition_Subtraction(EObject context, Subtraction semant
 	 *    left[1, 1]
 	 *    right[1, 1]
 	 */
-	protected void sequence_Exponent_Exponent(EObject context, Exponent semanticObject) {
+	protected void sequence_Exponent(EObject context, Exponent semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -438,7 +438,7 @@ protected void sequence_Exponent_Exponent(EObject context, Exponent semanticObje
 	 * Features:
 	 *    expression[1, 1]
 	 */
-	protected void sequence_Formula_Formula(EObject context, Formula semanticObject) {
+	protected void sequence_Formula(EObject context, Formula semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, MathPackage.Literals.FORMULA__EXPRESSION) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MathPackage.Literals.FORMULA__EXPRESSION));
@@ -458,7 +458,7 @@ protected void sequence_Formula_Formula(EObject context, Formula semanticObject)
 	 *    function[1, 1]
 	 *    formula[1, 1]
 	 */
-	protected void sequence_FunctionDefinition_FunctionDefinition(EObject context, FunctionDefinition semanticObject) {
+	protected void sequence_FunctionDefinition(EObject context, FunctionDefinition semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, MathPackage.Literals.FUNCTION_DEFINITION__FUNCTION) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MathPackage.Literals.FUNCTION_DEFINITION__FUNCTION));
@@ -481,7 +481,7 @@ protected void sequence_FunctionDefinition_FunctionDefinition(EObject context, F
 	 *    name[1, 1]
 	 *    parameters[0, *]
 	 */
-	protected void sequence_Function_Expression(EObject context, Expression semanticObject) {
+	protected void sequence_Function(EObject context, Expression semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -494,7 +494,7 @@ protected void sequence_Function_Expression(EObject context, Expression semantic
 	 *    left[1, 1]
 	 *    right[1, 1]
 	 */
-	protected void sequence_MatrixAddition_MatrixAddition(EObject context, MatrixAddition semanticObject) {
+	protected void sequence_MatrixAddition(EObject context, MatrixAddition semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, MathPackage.Literals.MATRIX_ADDITION__LEFT) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MathPackage.Literals.MATRIX_ADDITION__LEFT));
@@ -517,7 +517,7 @@ protected void sequence_MatrixAddition_MatrixAddition(EObject context, MatrixAdd
 	 *    left[1, 1]
 	 *    right[1, 1]
 	 */
-	protected void sequence_MatrixAddition_MatrixSubtraction(EObject context, MatrixSubtraction semanticObject) {
+	protected void sequence_MatrixAddition(EObject context, MatrixSubtraction semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, MathPackage.Literals.MATRIX_SUBTRACTION__LEFT) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MathPackage.Literals.MATRIX_SUBTRACTION__LEFT));
@@ -540,7 +540,7 @@ protected void sequence_MatrixAddition_MatrixSubtraction(EObject context, Matrix
 	 *    variable[1, 1]
 	 *    value[1, 1]
 	 */
-	protected void sequence_MatrixAssignment_MatrixAssignment(EObject context, MatrixAssignment semanticObject) {
+	protected void sequence_MatrixAssignment(EObject context, MatrixAssignment semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, MathPackage.Literals.MATRIX_ASSIGNMENT__VARIABLE) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MathPackage.Literals.MATRIX_ASSIGNMENT__VARIABLE));
@@ -562,7 +562,7 @@ protected void sequence_MatrixAssignment_MatrixAssignment(EObject context, Matri
 	 * Features:
 	 *    expression[1, 1]
 	 */
-	protected void sequence_MatrixFormula_MatrixFormula(EObject context, MatrixFormula semanticObject) {
+	protected void sequence_MatrixFormula(EObject context, MatrixFormula semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, MathPackage.Literals.MATRIX_FORMULA__EXPRESSION) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MathPackage.Literals.MATRIX_FORMULA__EXPRESSION));
@@ -582,19 +582,19 @@ protected void sequence_MatrixFormula_MatrixFormula(EObject context, MatrixFormu
 	 *     )
 	 *
 	 * Features:
-	 *    left[2, 2]
-	 *    rightMatrix[1, 1]
+	 *    left[0, 2]
+	 *    rightMatrix[0, 1]
 	 *         EXCLUDE_IF_UNSET left
 	 *         MANDATORY_IF_SET left
 	 *         EXCLUDE_IF_SET left
 	 *         EXCLUDE_IF_SET rightScalar
-	 *    rightScalar[1, 1]
+	 *    rightScalar[0, 1]
 	 *         EXCLUDE_IF_UNSET left
 	 *         MANDATORY_IF_SET left
 	 *         EXCLUDE_IF_SET left
 	 *         EXCLUDE_IF_SET rightMatrix
 	 */
-	protected void sequence_MatrixMultiplication_MatrixMultiplication(EObject context, MatrixMultiplication semanticObject) {
+	protected void sequence_MatrixMultiplication(EObject context, MatrixMultiplication semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -606,7 +606,7 @@ protected void sequence_MatrixMultiplication_MatrixMultiplication(EObject contex
 	 * Features:
 	 *    elements[0, *]
 	 */
-	protected void sequence_MatrixRow_MatrixRow(EObject context, MatrixRow semanticObject) {
+	protected void sequence_MatrixRow(EObject context, MatrixRow semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -618,7 +618,7 @@ protected void sequence_MatrixRow_MatrixRow(EObject context, MatrixRow semanticO
 	 * Features:
 	 *    rows[0, *]
 	 */
-	protected void sequence_Matrix_Matrix(EObject context, Matrix semanticObject) {
+	protected void sequence_Matrix(EObject context, Matrix semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -631,7 +631,7 @@ protected void sequence_Matrix_Matrix(EObject context, Matrix semanticObject) {
 	 *    left[1, 1]
 	 *    right[1, 1]
 	 */
-	protected void sequence_Multiplication_Division(EObject context, Division semanticObject) {
+	protected void sequence_Multiplication(EObject context, Division semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -644,7 +644,7 @@ protected void sequence_Multiplication_Division(EObject context, Division semant
 	 *    left[1, 1]
 	 *    right[1, 1]
 	 */
-	protected void sequence_Multiplication_Modulo(EObject context, Modulo semanticObject) {
+	protected void sequence_Multiplication(EObject context, Modulo semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -657,7 +657,7 @@ protected void sequence_Multiplication_Modulo(EObject context, Modulo semanticOb
 	 *    left[1, 1]
 	 *    right[1, 1]
 	 */
-	protected void sequence_Multiplication_Multiplication(EObject context, Multiplication semanticObject) {
+	protected void sequence_Multiplication(EObject context, Multiplication semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -669,7 +669,7 @@ protected void sequence_Multiplication_Multiplication(EObject context, Multiplic
 	 * Features:
 	 *    name[1, 1]
 	 */
-	protected void sequence_PrimaryMatrix_MatrixVariable(EObject context, MatrixVariable semanticObject) {
+	protected void sequence_PrimaryMatrix(EObject context, MatrixVariable semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, MathPackage.Literals.MATRIX_VARIABLE__NAME) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MathPackage.Literals.MATRIX_VARIABLE__NAME));
@@ -688,7 +688,7 @@ protected void sequence_PrimaryMatrix_MatrixVariable(EObject context, MatrixVari
 	 * Features:
 	 *    matrix[1, 1]
 	 */
-	protected void sequence_PrimaryMatrix_NewMatrix(EObject context, NewMatrix semanticObject) {
+	protected void sequence_PrimaryMatrix(EObject context, NewMatrix semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, MathPackage.Literals.NEW_MATRIX__MATRIX) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MathPackage.Literals.NEW_MATRIX__MATRIX));
@@ -707,7 +707,7 @@ protected void sequence_PrimaryMatrix_NewMatrix(EObject context, NewMatrix seman
 	 * Features:
 	 *    name[1, 1]
 	 */
-	protected void sequence_PrimaryMatrix_TransposeMatrix(EObject context, TransposeMatrix semanticObject) {
+	protected void sequence_PrimaryMatrix(EObject context, TransposeMatrix semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, MathPackage.Literals.TRANSPOSE_MATRIX__NAME) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MathPackage.Literals.TRANSPOSE_MATRIX__NAME));
@@ -726,7 +726,7 @@ protected void sequence_PrimaryMatrix_TransposeMatrix(EObject context, Transpose
 	 * Features:
 	 *    value[1, 1]
 	 */
-	protected void sequence_Primary_Float(EObject context, org.eclipse.iee.translator.jmole.math.math.Float semanticObject) {
+	protected void sequence_Primary(EObject context, org.eclipse.iee.translator.jmole.math.math.Float semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -738,21 +738,21 @@ protected void sequence_Primary_Float(EObject context, org.eclipse.iee.translato
 	 * Features:
 	 *    function[1, 1]
 	 */
-	protected void sequence_Primary_Function(EObject context, Function semanticObject) {
+	protected void sequence_Primary(EObject context, Function semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
 	
 	/**
 	 * Constraint:
-	 *     (element=MATH_NAME row=INT column=INT)
+	 *     (element=MATH_NAME row=Float column=Float)
 	 *
 	 * Features:
 	 *    element[1, 1]
 	 *    row[1, 1]
 	 *    column[1, 1]
 	 */
-	protected void sequence_Primary_MatrixElement(EObject context, MatrixElement semanticObject) {
+	protected void sequence_Primary(EObject context, MatrixElement semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -764,7 +764,7 @@ protected void sequence_Primary_MatrixElement(EObject context, MatrixElement sem
 	 * Features:
 	 *    name[1, 1]
 	 */
-	protected void sequence_Primary_Variable(EObject context, Variable semanticObject) {
+	protected void sequence_Primary(EObject context, Variable semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -806,7 +806,7 @@ protected void sequence_Primary_Variable(EObject context, Variable semanticObjec
 	 *         EXCLUDE_IF_SET formula
 	 *         EXCLUDE_IF_SET matrixAssignment
 	 */
-	protected void sequence_Statement_Statement(EObject context, Statement semanticObject) {
+	protected void sequence_Statement(EObject context, Statement semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -818,7 +818,7 @@ protected void sequence_Statement_Statement(EObject context, Statement semanticO
 	 * Features:
 	 *    expression[1, 1]
 	 */
-	protected void sequence_UnaryExpression_Factorial(EObject context, Factorial semanticObject) {
+	protected void sequence_UnaryExpression(EObject context, Factorial semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -830,7 +830,7 @@ protected void sequence_UnaryExpression_Factorial(EObject context, Factorial sem
 	 * Features:
 	 *    expression[1, 1]
 	 */
-	protected void sequence_UnaryExpression_Invert(EObject context, Invert semanticObject) {
+	protected void sequence_UnaryExpression(EObject context, Invert semanticObject) {
 		genericSequencer.createSequence(context, semanticObject);
 	}
 	
@@ -843,7 +843,7 @@ protected void sequence_UnaryExpression_Invert(EObject context, Invert semanticO
 	 *    variable[1, 1]
 	 *    value[1, 1]
 	 */
-	protected void sequence_VariableAssignment_VariableAssignment(EObject context, VariableAssignment semanticObject) {
+	protected void sequence_VariableAssignment(EObject context, VariableAssignment semanticObject) {
 		if(errorAcceptor != null) {
 			if(transientValues.isValueTransient(semanticObject, MathPackage.Literals.VARIABLE_ASSIGNMENT__VARIABLE) == ValueTransient.YES)
 				errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, MathPackage.Literals.VARIABLE_ASSIGNMENT__VARIABLE));
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fserializer%2FAbstractMathSemanticSequencer.java
fc986bbdb4a7c3cb615bf59d1b76c5cf353039c9
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fserializer%2FAbstractMathSyntacticSequencer.java
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fserializer%2FAbstractMathSyntacticSequencer.java?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/serializer/AbstractMathSyntacticSequencer.java
import java.util.List;
import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
	protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
		if (transition.getAmbiguousSyntaxes().isEmpty()) return;
		List<INode> transitionNodes = collectNodes(fromNode, toNode);
		for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
			List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
			if(match_Function_CommaKeyword_2_2_q.equals(syntax))
				emit_Function_CommaKeyword_2_2_q(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_MatrixRow_CommaKeyword_1_2_q.equals(syntax))
				emit_MatrixRow_CommaKeyword_1_2_q(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_Matrix_CommaKeyword_1_2_q.equals(syntax))
				emit_Matrix_CommaKeyword_1_2_q(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_PrimaryMatrix_LeftParenthesisKeyword_3_0_a.equals(syntax))
				emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_PrimaryMatrix_LeftParenthesisKeyword_3_0_p.equals(syntax))
				emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_Primary_LeftParenthesisKeyword_4_0_a.equals(syntax))
				emit_Primary_LeftParenthesisKeyword_4_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_Primary_LeftParenthesisKeyword_4_0_p.equals(syntax))
				emit_Primary_LeftParenthesisKeyword_4_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
			else acceptNodes(getLastNavigableState(), syntaxNodes);
		}
	protected void emit_Function_CommaKeyword_2_2_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
		acceptNodes(transition, nodes);
	protected void emit_MatrixRow_CommaKeyword_1_2_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
		acceptNodes(transition, nodes);
	protected void emit_Matrix_CommaKeyword_1_2_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
		acceptNodes(transition, nodes);
	protected void emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
		acceptNodes(transition, nodes);
	protected void emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
		acceptNodes(transition, nodes);
	protected void emit_Primary_LeftParenthesisKeyword_4_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
		acceptNodes(transition, nodes);
	protected void emit_Primary_LeftParenthesisKeyword_4_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
		acceptNodes(transition, nodes);
EObject semanticObject  RuleCall ruleCall  INode node
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/serializer/AbstractMathSyntacticSequencer.java
if (transition.getAmbiguousSyntaxes().isEmpty()) return;
		List<INode> transitionNodes = collectNodes(fromNode, toNode);
		for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
			List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
			if(match_Function_CommaKeyword_2_2_q.equals(syntax))
				emit_Function_CommaKeyword_2_2_q(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_MatrixRow_CommaKeyword_1_2_q.equals(syntax))
				emit_MatrixRow_CommaKeyword_1_2_q(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_Matrix_CommaKeyword_1_2_q.equals(syntax))
				emit_Matrix_CommaKeyword_1_2_q(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_PrimaryMatrix_LeftParenthesisKeyword_3_0_a.equals(syntax))
				emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_PrimaryMatrix_LeftParenthesisKeyword_3_0_p.equals(syntax))
				emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_Primary_LeftParenthesisKeyword_4_0_a.equals(syntax))
				emit_Primary_LeftParenthesisKeyword_4_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
			else if(match_Primary_LeftParenthesisKeyword_4_0_p.equals(syntax))
				emit_Primary_LeftParenthesisKeyword_4_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
			else acceptNodes(getLastNavigableState(), syntaxNodes);
String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node)
	protected String getUnassignedRuleCallToken(RuleCall ruleCall, INode node) {
		if (!transition.isSyntacticallyAmbiguous())
			return;
		if(match_Function_CommaKeyword_2_2_q.equals(transition.getAmbiguousSyntax()))
			emit_Function_CommaKeyword_2_2_q(semanticObject, transition, fromNode, toNode);
		else if(match_MatrixRow_CommaKeyword_1_2_q.equals(transition.getAmbiguousSyntax()))
			emit_MatrixRow_CommaKeyword_1_2_q(semanticObject, transition, fromNode, toNode);
		else if(match_Matrix_CommaKeyword_1_2_q.equals(transition.getAmbiguousSyntax()))
			emit_Matrix_CommaKeyword_1_2_q(semanticObject, transition, fromNode, toNode);
		else if(match_PrimaryMatrix_LeftParenthesisKeyword_3_0_a.equals(transition.getAmbiguousSyntax()))
			emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_a(semanticObject, transition, fromNode, toNode);
		else if(match_PrimaryMatrix_LeftParenthesisKeyword_3_0_p.equals(transition.getAmbiguousSyntax()))
			emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_p(semanticObject, transition, fromNode, toNode);
		else if(match_Primary_LeftParenthesisKeyword_4_0_a.equals(transition.getAmbiguousSyntax()))
			emit_Primary_LeftParenthesisKeyword_4_0_a(semanticObject, transition, fromNode, toNode);
		else if(match_Primary_LeftParenthesisKeyword_4_0_p.equals(transition.getAmbiguousSyntax()))
			emit_Primary_LeftParenthesisKeyword_4_0_p(semanticObject, transition, fromNode, toNode);
		else acceptNodes(transition, fromNode, toNode);
	protected void emit_Function_CommaKeyword_2_2_q(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
		acceptNodes(transition, fromNode, toNode);
	protected void emit_MatrixRow_CommaKeyword_1_2_q(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
		acceptNodes(transition, fromNode, toNode);
	protected void emit_Matrix_CommaKeyword_1_2_q(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
		acceptNodes(transition, fromNode, toNode);
	protected void emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_a(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
		acceptNodes(transition, fromNode, toNode);
	protected void emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_p(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
		acceptNodes(transition, fromNode, toNode);
	protected void emit_Primary_LeftParenthesisKeyword_4_0_a(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
		acceptNodes(transition, fromNode, toNode);
	protected void emit_Primary_LeftParenthesisKeyword_4_0_p(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
		acceptNodes(transition, fromNode, toNode);
@@ -1,13 +1,15 @@
 package org.eclipse.iee.translator.jmole.math.serializer;
 
 import com.google.inject.Inject;
+import java.util.List;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.iee.translator.jmole.math.services.MathGrammarAccess;
 import org.eclipse.xtext.IGrammarAccess;
 import org.eclipse.xtext.RuleCall;
 import org.eclipse.xtext.nodemodel.INode;
 import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
 import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
 import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
 import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
 
@@ -36,86 +38,89 @@ protected void init(IGrammarAccess access) {
 	}
 	
 	@Override
-	protected String getUnassignedRuleCallToken(RuleCall ruleCall, INode node) {
+	protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
 		return "";
 	}
 	
 	
 	@Override
 	protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
-		if (!transition.isSyntacticallyAmbiguous())
-			return;
-		if(match_Function_CommaKeyword_2_2_q.equals(transition.getAmbiguousSyntax()))
-			emit_Function_CommaKeyword_2_2_q(semanticObject, transition, fromNode, toNode);
-		else if(match_MatrixRow_CommaKeyword_1_2_q.equals(transition.getAmbiguousSyntax()))
-			emit_MatrixRow_CommaKeyword_1_2_q(semanticObject, transition, fromNode, toNode);
-		else if(match_Matrix_CommaKeyword_1_2_q.equals(transition.getAmbiguousSyntax()))
-			emit_Matrix_CommaKeyword_1_2_q(semanticObject, transition, fromNode, toNode);
-		else if(match_PrimaryMatrix_LeftParenthesisKeyword_3_0_a.equals(transition.getAmbiguousSyntax()))
-			emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_a(semanticObject, transition, fromNode, toNode);
-		else if(match_PrimaryMatrix_LeftParenthesisKeyword_3_0_p.equals(transition.getAmbiguousSyntax()))
-			emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_p(semanticObject, transition, fromNode, toNode);
-		else if(match_Primary_LeftParenthesisKeyword_4_0_a.equals(transition.getAmbiguousSyntax()))
-			emit_Primary_LeftParenthesisKeyword_4_0_a(semanticObject, transition, fromNode, toNode);
-		else if(match_Primary_LeftParenthesisKeyword_4_0_p.equals(transition.getAmbiguousSyntax()))
-			emit_Primary_LeftParenthesisKeyword_4_0_p(semanticObject, transition, fromNode, toNode);
-		else acceptNodes(transition, fromNode, toNode);
+		if (transition.getAmbiguousSyntaxes().isEmpty()) return;
+		List<INode> transitionNodes = collectNodes(fromNode, toNode);
+		for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
+			List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
+			if(match_Function_CommaKeyword_2_2_q.equals(syntax))
+				emit_Function_CommaKeyword_2_2_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_MatrixRow_CommaKeyword_1_2_q.equals(syntax))
+				emit_MatrixRow_CommaKeyword_1_2_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_Matrix_CommaKeyword_1_2_q.equals(syntax))
+				emit_Matrix_CommaKeyword_1_2_q(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_PrimaryMatrix_LeftParenthesisKeyword_3_0_a.equals(syntax))
+				emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_PrimaryMatrix_LeftParenthesisKeyword_3_0_p.equals(syntax))
+				emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_Primary_LeftParenthesisKeyword_4_0_a.equals(syntax))
+				emit_Primary_LeftParenthesisKeyword_4_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
+			else if(match_Primary_LeftParenthesisKeyword_4_0_p.equals(syntax))
+				emit_Primary_LeftParenthesisKeyword_4_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
+			else acceptNodes(getLastNavigableState(), syntaxNodes);
+		}
 	}
 
 	/**
 	 * Syntax:
 	 *     ','?
 	 */
-	protected void emit_Function_CommaKeyword_2_2_q(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
-		acceptNodes(transition, fromNode, toNode);
+	protected void emit_Function_CommaKeyword_2_2_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
 	}
 	
 	/**
 	 * Syntax:
 	 *     ','?
 	 */
-	protected void emit_MatrixRow_CommaKeyword_1_2_q(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
-		acceptNodes(transition, fromNode, toNode);
+	protected void emit_MatrixRow_CommaKeyword_1_2_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
 	}
 	
 	/**
 	 * Syntax:
 	 *     ','?
 	 */
-	protected void emit_Matrix_CommaKeyword_1_2_q(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
-		acceptNodes(transition, fromNode, toNode);
+	protected void emit_Matrix_CommaKeyword_1_2_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
 	}
 	
 	/**
 	 * Syntax:
 	 *     '('*
 	 */
-	protected void emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_a(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
-		acceptNodes(transition, fromNode, toNode);
+	protected void emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
 	}
 	
 	/**
 	 * Syntax:
 	 *     '('+
 	 */
-	protected void emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_p(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
-		acceptNodes(transition, fromNode, toNode);
+	protected void emit_PrimaryMatrix_LeftParenthesisKeyword_3_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
 	}
 	
 	/**
 	 * Syntax:
 	 *     '('*
 	 */
-	protected void emit_Primary_LeftParenthesisKeyword_4_0_a(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
-		acceptNodes(transition, fromNode, toNode);
+	protected void emit_Primary_LeftParenthesisKeyword_4_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
 	}
 	
 	/**
 	 * Syntax:
 	 *     '('+
 	 */
-	protected void emit_Primary_LeftParenthesisKeyword_4_0_p(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
-		acceptNodes(transition, fromNode, toNode);
+	protected void emit_Primary_LeftParenthesisKeyword_4_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+		acceptNodes(transition, nodes);
 	}
 	
 }
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fserializer%2FAbstractMathSyntacticSequencer.java
c1ec1ad39d3431d46cabf52d79548e1ab87506c5
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fservices%2FMathGrammarAccess.java
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fservices%2FMathGrammarAccess.java?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/services/MathGrammarAccess.java
		private final RuleCall cRowFloatParserRuleCall_2_3_0 = (RuleCall)cRowAssignment_2_3.eContents().get(0);
		private final RuleCall cColumnFloatParserRuleCall_2_6_0 = (RuleCall)cColumnAssignment_2_6.eContents().get(0);
		//	{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=Float "]" "[" column=Float
		//	"]" | {Function} function=Function | "(" Addition ")";
		//{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=Float "]" "[" column=Float
		//"]" | {Function} function=Function | "(" Addition ")"
		//{MatrixElement} element=MATH_NAME "[" row=Float "]" "[" column=Float "]"
		//row=Float
		//Float
		public RuleCall getRowFloatParserRuleCall_2_3_0() { return cRowFloatParserRuleCall_2_3_0; }
		//column=Float
		//Float
		public RuleCall getColumnFloatParserRuleCall_2_6_0() { return cColumnFloatParserRuleCall_2_6_0; }
	//	{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=Float "]" "[" column=Float
	//	"]" | {Function} function=Function | "(" Addition ")";
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/services/MathGrammarAccess.java
return cRowFloatParserRuleCall_2_3_0;
RuleCall getRowFloatParserRuleCall_2_3_0()
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/services/MathGrammarAccess.java
return cColumnFloatParserRuleCall_2_6_0;
RuleCall getColumnFloatParserRuleCall_2_6_0()
		private final RuleCall cRowINTTerminalRuleCall_2_3_0 = (RuleCall)cRowAssignment_2_3.eContents().get(0);
		private final RuleCall cColumnINTTerminalRuleCall_2_6_0 = (RuleCall)cColumnAssignment_2_6.eContents().get(0);
		//	{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=INT "]" "[" column=INT "]"
		//	| {Function} function=Function | "(" Addition ")";
		//{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=INT "]" "[" column=INT "]" |
		//{Function} function=Function | "(" Addition ")"
		//{MatrixElement} element=MATH_NAME "[" row=INT "]" "[" column=INT "]"
		//row=INT
		//INT
		public RuleCall getRowINTTerminalRuleCall_2_3_0() { return cRowINTTerminalRuleCall_2_3_0; }
		//column=INT
		//INT
		public RuleCall getColumnINTTerminalRuleCall_2_6_0() { return cColumnINTTerminalRuleCall_2_6_0; }
	//	{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=INT "]" "[" column=INT "]"
	//	| {Function} function=Function | "(" Addition ")";
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/services/MathGrammarAccess.java
return cRowINTTerminalRuleCall_2_3_0;
RuleCall getRowINTTerminalRuleCall_2_3_0()
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src-gen/org/eclipse/iee/translator/jmole/math/services/MathGrammarAccess.java
return cColumnINTTerminalRuleCall_2_6_0;
RuleCall getColumnINTTerminalRuleCall_2_6_0()
@@ -388,11 +388,11 @@ public class PrimaryElements extends AbstractParserRuleElementFinder {
 		private final RuleCall cElementMATH_NAMETerminalRuleCall_2_1_0 = (RuleCall)cElementAssignment_2_1.eContents().get(0);
 		private final Keyword cLeftSquareBracketKeyword_2_2 = (Keyword)cGroup_2.eContents().get(2);
 		private final Assignment cRowAssignment_2_3 = (Assignment)cGroup_2.eContents().get(3);
-		private final RuleCall cRowINTTerminalRuleCall_2_3_0 = (RuleCall)cRowAssignment_2_3.eContents().get(0);
+		private final RuleCall cRowFloatParserRuleCall_2_3_0 = (RuleCall)cRowAssignment_2_3.eContents().get(0);
 		private final Keyword cRightSquareBracketKeyword_2_4 = (Keyword)cGroup_2.eContents().get(4);
 		private final Keyword cLeftSquareBracketKeyword_2_5 = (Keyword)cGroup_2.eContents().get(5);
 		private final Assignment cColumnAssignment_2_6 = (Assignment)cGroup_2.eContents().get(6);
-		private final RuleCall cColumnINTTerminalRuleCall_2_6_0 = (RuleCall)cColumnAssignment_2_6.eContents().get(0);
+		private final RuleCall cColumnFloatParserRuleCall_2_6_0 = (RuleCall)cColumnAssignment_2_6.eContents().get(0);
 		private final Keyword cRightSquareBracketKeyword_2_7 = (Keyword)cGroup_2.eContents().get(7);
 		private final Group cGroup_3 = (Group)cAlternatives.eContents().get(3);
 		private final Action cFunctionAction_3_0 = (Action)cGroup_3.eContents().get(0);
@@ -404,12 +404,12 @@ public class PrimaryElements extends AbstractParserRuleElementFinder {
 		private final Keyword cRightParenthesisKeyword_4_2 = (Keyword)cGroup_4.eContents().get(2);
 		
 		//Primary returns Expression:
-		//	{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=INT "]" "[" column=INT "]"
-		//	| {Function} function=Function | "(" Addition ")";
+		//	{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=Float "]" "[" column=Float
+		//	"]" | {Function} function=Function | "(" Addition ")";
 		public ParserRule getRule() { return rule; }
 
-		//{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=INT "]" "[" column=INT "]" |
-		//{Function} function=Function | "(" Addition ")"
+		//{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=Float "]" "[" column=Float
+		//"]" | {Function} function=Function | "(" Addition ")"
 		public Alternatives getAlternatives() { return cAlternatives; }
 
 		//{Variable} name=MATH_NAME
@@ -436,7 +436,7 @@ public class PrimaryElements extends AbstractParserRuleElementFinder {
 		//Float
 		public RuleCall getValueFloatParserRuleCall_1_1_0() { return cValueFloatParserRuleCall_1_1_0; }
 
-		//{MatrixElement} element=MATH_NAME "[" row=INT "]" "[" column=INT "]"
+		//{MatrixElement} element=MATH_NAME "[" row=Float "]" "[" column=Float "]"
 		public Group getGroup_2() { return cGroup_2; }
 
 		//{MatrixElement}
@@ -451,23 +451,23 @@ public class PrimaryElements extends AbstractParserRuleElementFinder {
 		//"["
 		public Keyword getLeftSquareBracketKeyword_2_2() { return cLeftSquareBracketKeyword_2_2; }
 
-		//row=INT
+		//row=Float
 		public Assignment getRowAssignment_2_3() { return cRowAssignment_2_3; }
 
-		//INT
-		public RuleCall getRowINTTerminalRuleCall_2_3_0() { return cRowINTTerminalRuleCall_2_3_0; }
+		//Float
+		public RuleCall getRowFloatParserRuleCall_2_3_0() { return cRowFloatParserRuleCall_2_3_0; }
 
 		//"]"
 		public Keyword getRightSquareBracketKeyword_2_4() { return cRightSquareBracketKeyword_2_4; }
 
 		//"["
 		public Keyword getLeftSquareBracketKeyword_2_5() { return cLeftSquareBracketKeyword_2_5; }
 
-		//column=INT
+		//column=Float
 		public Assignment getColumnAssignment_2_6() { return cColumnAssignment_2_6; }
 
-		//INT
-		public RuleCall getColumnINTTerminalRuleCall_2_6_0() { return cColumnINTTerminalRuleCall_2_6_0; }
+		//Float
+		public RuleCall getColumnFloatParserRuleCall_2_6_0() { return cColumnFloatParserRuleCall_2_6_0; }
 
 		//"]"
 		public Keyword getRightSquareBracketKeyword_2_7() { return cRightSquareBracketKeyword_2_7; }
@@ -1145,8 +1145,8 @@ public ParserRule getExponentRule() {
 	}
 
 	//Primary returns Expression:
-	//	{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=INT "]" "[" column=INT "]"
-	//	| {Function} function=Function | "(" Addition ")";
+	//	{Variable} name=MATH_NAME | {Float} value=Float | {MatrixElement} element=MATH_NAME "[" row=Float "]" "[" column=Float
+	//	"]" | {Function} function=Function | "(" Addition ")";
 	public PrimaryElements getPrimaryAccess() {
 		return (pPrimary != null) ? pPrimary : (pPrimary = new PrimaryElements());
 	}
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fservices%2FMathGrammarAccess.java
6da78784dec791439781e56a1886145f92bbacd4
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xtext
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xtext?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/src/org/eclipse/iee/translator/jmole/math/Math.xtext
	{MatrixElement} element=MATH_NAME '[' row=Float ']' '[' column=Float ']' | 
	{MatrixElement} element=MATH_NAME '[' row=INT ']' '[' column=INT ']' | 
@@ -39,7 +39,7 @@ Exponent returns Expression:
 Primary returns Expression:
 	{Variable} name=MATH_NAME |
 	{Float} value=Float |
-	{MatrixElement} element=MATH_NAME '[' row=INT ']' '[' column=INT ']' | 
+	{MatrixElement} element=MATH_NAME '[' row=Float ']' '[' column=Float ']' | 
 	{Function} function=Function |
 	'(' Addition ')';
 
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fsrc%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2FMath.xtext
a81ab333fc9e64436f5ba09a88d26b704a9d52b7
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fxtend-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fgenerator%2FMathGenerator.java
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fxtend-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fgenerator%2FMathGenerator.java?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.Jmole/org.eclipse.iee.translator.jmole.math/xtend-gen/org/eclipse/iee/translator/jmole/math/generator/MathGenerator.java
    String _row = e.getRow();
    String _column = e.getColumn();
    int _row = e.getRow();
    int _column = e.getColumn();
@@ -272,10 +272,10 @@ protected StringConcatenation _compileExpression(final MatrixElement e) {
     String _element = e.getElement();
     _builder.append(_element, "");
     _builder.append(".get(");
-    int _row = e.getRow();
+    String _row = e.getRow();
     _builder.append(_row, "");
     _builder.append(",");
-    int _column = e.getColumn();
+    String _column = e.getColumn();
     _builder.append(_column, "");
     _builder.append(")");
     return _builder;
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.Jmole%2Forg.eclipse.iee.translator.jmole.math%2Fxtend-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fjmole%2Fmath%2Fgenerator%2FMathGenerator.java
dc39c743f70dac7557960d6a097c862ba9e96bb0
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2FMex.ecore
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2FMex.ecore?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.TeXmole/org.eclipse.iee.translator.molex.mex/bin/org/eclipse/iee/translator/molex/mex/Mex.ecore
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
@@ -113,8 +113,8 @@
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="MatrixElement" eSuperTypes="platform:/resource/org.eclipse.iee.translator.molex.mex/src-gen/org/eclipse/iee/translator/molex/mex/Mex.ecore#//Expression">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="element" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="row" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+    <eStructuralFeatures xsi:type="ecore:EAttribute" name="column" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="InBrackets" eSuperTypes="platform:/resource/org.eclipse.iee.translator.molex.mex/src-gen/org/eclipse/iee/translator/molex/mex/Mex.ecore#//Expression">
     <eStructuralFeatures xsi:type="ecore:EReference" name="inBrackets" eType="ecore:EClass platform:/resource/org.eclipse.iee.translator.molex.mex/src-gen/org/eclipse/iee/translator/molex/mex/Mex.ecore#//Expression"
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2FMex.ecore
7660cc8b16b77aab2f78e6139d5f3d5171fed29c
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2FMex.xmi
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2FMex.xmi?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.TeXmole/org.eclipse.iee.translator.molex.mex/bin/org/eclipse/iee/translator/molex/mex/Mex.xmi
            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
@@ -235,12 +235,12 @@
           </elements>
           <elements xsi:type="xtext:Keyword" value="["/>
           <elements xsi:type="xtext:Assignment" feature="row" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
           </elements>
           <elements xsi:type="xtext:Keyword" value="]"/>
           <elements xsi:type="xtext:Keyword" value="["/>
           <elements xsi:type="xtext:Assignment" feature="column" operator="=">
-            <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.1"/>
+            <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.17"/>
           </elements>
           <elements xsi:type="xtext:Keyword" value="]"/>
         </elements>
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2FMex.xmi
9d7c5bcb6f3524babbeb5c90fcbb237337f34cf4
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2FMex.xtext
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2FMex.xtext?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.TeXmole/org.eclipse.iee.translator.molex.mex/bin/org/eclipse/iee/translator/molex/mex/Mex.xtext
	{MatrixElement} element=MATH_NAME '[' row=Float ']' '[' column=Float ']' | 
	{MatrixElement} element=MATH_NAME '[' row=INT ']' '[' column=INT ']' | 
@@ -43,7 +43,7 @@ Primary returns Expression:
 	{Variable} name=MATH_NAME |
 	{Float} value=Float |
 	{Function} function=Function |
-	{MatrixElement} element=MATH_NAME '[' row=INT ']' '[' column=INT ']' | 
+	{MatrixElement} element=MATH_NAME '[' row=Float ']' '[' column=Float ']' | 
 	{InBrackets} inBrackets=AdditionInBrackets;
 
 Matrix:
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2FMex.xtext
94d06799200eca0c430baf24f4042d002f0c0935
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fgenerator%2FMexGenerator.xtend
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fgenerator%2FMexGenerator.xtend?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.TeXmole/org.eclipse.iee.translator.molex.mex/bin/org/eclipse/iee/translator/molex/mex/generator/MexGenerator.xtend
		�IF n.name == "alpha" || n.name == "beta" || n.name == "gamma" ||
		    n.name == "delta" || n.name == "epsilon" || n.name == "varepsilon" ||
		    n.name == "zeta" || n.name == "eta" || n.name == "theta" ||
		    n.name == "vartheta" || n.name == "gamma" || n.name == "kappa" ||
			n.name == "lambda" || n.name == "mu" || n.name == "nu" || 
			n.name == "xi" || n.name == "pi" || n.name == "varpi" || 
			n.name == "rho" || n.name == "varrho" || n.name == "sigma" ||
			n.name == "varsigma" || n.name == "tau" || n.name == "upsilon" ||
			n.name == "phi" || n.name == "varphi" || n.name == "chi" || 
			n.name == "psi" || n.name == "omega" || n.name == "Gamma" ||
			n.name == "Delta" || n.name == "Theta" || n.name == "Lambda" ||
			n.name == "Xi" || n.name == "Pi" || n.name == "Sigma" || 
			n.name == "Upsilon" || n.name == "Phi" || n.name == "Psi" || 
			n.name == "Omega"�
			\
		�ENDIF�
		�IF n.name == "alpha" || n.name == "beta" || n.name == "gamma" ||
		    n.name == "delta" || n.name == "epsilon" || n.name == "varepsilon" ||
		    n.name == "zeta" || n.name == "eta" || n.name == "theta" ||
		    n.name == "vartheta" || n.name == "gamma" || n.name == "kappa" ||
			n.name == "lambda" || n.name == "mu" || n.name == "nu" || 
			n.name == "xi" || n.name == "pi" || n.name == "varpi" || 
			n.name == "rho" || n.name == "varrho" || n.name == "sigma" ||
			n.name == "varsigma" || n.name == "tau" || n.name == "upsilon" ||
			n.name == "phi" || n.name == "varphi" || n.name == "chi" || 
			n.name == "psi" || n.name == "omega" || n.name == "Gamma" ||
			n.name == "Delta" || n.name == "Theta" || n.name == "Lambda" ||
			n.name == "Xi" || n.name == "Pi" || n.name == "Sigma" || 
			n.name == "Upsilon" || n.name == "Phi" || n.name == "Psi" || 
			n.name == "Omega"�
			\
		�ENDIF�
@@ -228,6 +228,22 @@ class MexGenerator implements IGenerator {
 	
 	//Matrix Expressions
 	def dispatch compileMatrixExpression(MatrixVariable n) '''
+		�IF n.name == "alpha" || n.name == "beta" || n.name == "gamma" ||
+		    n.name == "delta" || n.name == "epsilon" || n.name == "varepsilon" ||
+		    n.name == "zeta" || n.name == "eta" || n.name == "theta" ||
+		    n.name == "vartheta" || n.name == "gamma" || n.name == "kappa" ||
+			n.name == "lambda" || n.name == "mu" || n.name == "nu" || 
+			n.name == "xi" || n.name == "pi" || n.name == "varpi" || 
+			n.name == "rho" || n.name == "varrho" || n.name == "sigma" ||
+			n.name == "varsigma" || n.name == "tau" || n.name == "upsilon" ||
+			n.name == "phi" || n.name == "varphi" || n.name == "chi" || 
+			n.name == "psi" || n.name == "omega" || n.name == "Gamma" ||
+			n.name == "Delta" || n.name == "Theta" || n.name == "Lambda" ||
+			n.name == "Xi" || n.name == "Pi" || n.name == "Sigma" || 
+			n.name == "Upsilon" || n.name == "Phi" || n.name == "Psi" || 
+			n.name == "Omega"�
+			\
+		�ENDIF�
 		�n.name�'''	
 	
 	def dispatch compileMatrixExpression(NewMatrix m) '''
@@ -253,6 +269,22 @@ class MexGenerator implements IGenerator {
 		'''	
 		
 	def dispatch compileMatrixExpression(TransposeMatrix n) '''
+		�IF n.name == "alpha" || n.name == "beta" || n.name == "gamma" ||
+		    n.name == "delta" || n.name == "epsilon" || n.name == "varepsilon" ||
+		    n.name == "zeta" || n.name == "eta" || n.name == "theta" ||
+		    n.name == "vartheta" || n.name == "gamma" || n.name == "kappa" ||
+			n.name == "lambda" || n.name == "mu" || n.name == "nu" || 
+			n.name == "xi" || n.name == "pi" || n.name == "varpi" || 
+			n.name == "rho" || n.name == "varrho" || n.name == "sigma" ||
+			n.name == "varsigma" || n.name == "tau" || n.name == "upsilon" ||
+			n.name == "phi" || n.name == "varphi" || n.name == "chi" || 
+			n.name == "psi" || n.name == "omega" || n.name == "Gamma" ||
+			n.name == "Delta" || n.name == "Theta" || n.name == "Lambda" ||
+			n.name == "Xi" || n.name == "Pi" || n.name == "Sigma" || 
+			n.name == "Upsilon" || n.name == "Phi" || n.name == "Psi" || 
+			n.name == "Omega"�
+			\
+		�ENDIF�
 		�n.name�^T'''	
 		
 	def dispatch compileMatrixExpression(MatrixInBrackets op) '''
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fgenerator%2FMexGenerator.xtend
12cce6c8af8826be1c11d49fba6b26cce91da4ee
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fparser%2Fantlr%2Finternal%2FInternalMex.g
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fparser%2Fantlr%2Finternal%2FInternalMex.g?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.TeXmole/org.eclipse.iee.translator.molex.mex/bin/org/eclipse/iee/translator/molex/mex/parser/antlr/internal/InternalMex.g
		{ 
	        newCompositeNode(grammarAccess.getPrimaryAccess().getRowFloatParserRuleCall_3_3_0()); 
	    }
		lv_row_9_0=ruleFloat		{
	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
       		set(
        		"Float");
	        afterParserOrEnumRuleCall();
		{ 
	        newCompositeNode(grammarAccess.getPrimaryAccess().getColumnFloatParserRuleCall_3_6_0()); 
	    }
		lv_column_12_0=ruleFloat		{
	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
       		set(
        		"Float");
	        afterParserOrEnumRuleCall();
		lv_row_9_0=RULE_INT
		{
			newLeafNode(lv_row_9_0, grammarAccess.getPrimaryAccess().getRowINTTerminalRuleCall_3_3_0()); 
		}
		{
	            $current = createModelElement(grammarAccess.getPrimaryRule());
       		setWithLastConsumed(
        		"INT");
		lv_column_12_0=RULE_INT
		{
			newLeafNode(lv_column_12_0, grammarAccess.getPrimaryAccess().getColumnINTTerminalRuleCall_3_6_0()); 
		}
		{
	            $current = createModelElement(grammarAccess.getPrimaryRule());
       		setWithLastConsumed(
        		"INT");
@@ -855,19 +855,19 @@ rulePrimary returns [EObject current=null]
     }
 (
 (
-		lv_row_9_0=RULE_INT
-		{
-			newLeafNode(lv_row_9_0, grammarAccess.getPrimaryAccess().getRowINTTerminalRuleCall_3_3_0()); 
-		}
-		{
+		{ 
+	        newCompositeNode(grammarAccess.getPrimaryAccess().getRowFloatParserRuleCall_3_3_0()); 
+	    }
+		lv_row_9_0=ruleFloat		{
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getPrimaryRule());
+	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
 	        }
-       		setWithLastConsumed(
+       		set(
        			$current, 
        			"row",
         		lv_row_9_0, 
-        		"INT");
+        		"Float");
+	        afterParserOrEnumRuleCall();
 	    }
 
 )
@@ -881,19 +881,19 @@ rulePrimary returns [EObject current=null]
     }
 (
 (
-		lv_column_12_0=RULE_INT
-		{
-			newLeafNode(lv_column_12_0, grammarAccess.getPrimaryAccess().getColumnINTTerminalRuleCall_3_6_0()); 
-		}
-		{
+		{ 
+	        newCompositeNode(grammarAccess.getPrimaryAccess().getColumnFloatParserRuleCall_3_6_0()); 
+	    }
+		lv_column_12_0=ruleFloat		{
 	        if ($current==null) {
-	            $current = createModelElement(grammarAccess.getPrimaryRule());
+	            $current = createModelElementForParent(grammarAccess.getPrimaryRule());
 	        }
-       		setWithLastConsumed(
+       		set(
        			$current, 
        			"column",
         		lv_column_12_0, 
-        		"INT");
+        		"Float");
+	        afterParserOrEnumRuleCall();
 	    }
 
 )
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fbin%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fparser%2Fantlr%2Finternal%2FInternalMex.g
c6c1c3475901e586f543de62de08b193b609f277
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fmex%2FMatrixElement.java
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fmex%2FMatrixElement.java?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.TeXmole/org.eclipse.iee.translator.molex.mex/src-gen/org/eclipse/iee/translator/molex/mex/mex/MatrixElement.java
   * @see #setRow(String)
  String getRow();
  void setRow(String value);
   * @see #setColumn(String)
  String getColumn();
  void setColumn(String value);
   * @see #setRow(int)
  int getRow();
  void setRow(int value);
   * @see #setColumn(int)
  int getColumn();
  void setColumn(int value);
@@ -62,12 +62,12 @@ public interface MatrixElement extends Expression
    * </p>
    * <!-- end-user-doc -->
    * @return the value of the '<em>Row</em>' attribute.
-   * @see #setRow(int)
+   * @see #setRow(String)
    * @see org.eclipse.iee.translator.molex.mex.mex.MexPackage#getMatrixElement_Row()
    * @model
    * @generated
    */
-  int getRow();
+  String getRow();
 
   /**
    * Sets the value of the '{@link org.eclipse.iee.translator.molex.mex.mex.MatrixElement#getRow <em>Row</em>}' attribute.
@@ -77,7 +77,7 @@ public interface MatrixElement extends Expression
    * @see #getRow()
    * @generated
    */
-  void setRow(int value);
+  void setRow(String value);
 
   /**
    * Returns the value of the '<em><b>Column</b></em>' attribute.
@@ -88,12 +88,12 @@ public interface MatrixElement extends Expression
    * </p>
    * <!-- end-user-doc -->
    * @return the value of the '<em>Column</em>' attribute.
-   * @see #setColumn(int)
+   * @see #setColumn(String)
    * @see org.eclipse.iee.translator.molex.mex.mex.MexPackage#getMatrixElement_Column()
    * @model
    * @generated
    */
-  int getColumn();
+  String getColumn();
 
   /**
    * Sets the value of the '{@link org.eclipse.iee.translator.molex.mex.mex.MatrixElement#getColumn <em>Column</em>}' attribute.
@@ -103,6 +103,6 @@ public interface MatrixElement extends Expression
    * @see #getColumn()
    * @generated
    */
-  void setColumn(int value);
+  void setColumn(String value);
 
 } // MatrixElement
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fmex%2FMatrixElement.java
a55fc94f9b4bf5684e898c7bc69517ed6036bda9
modified
https://github.com/iee/iee/blob/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fmex%2Fimpl%2FMatrixElementImpl.java
https://api.github.com/repos/iee/iee/contents/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fmex%2Fimpl%2FMatrixElementImpl.java?ref=0492aafe3780886c3936544ffed92c1bcc587431
org.eclipse.iee.translator.TeXmole/org.eclipse.iee.translator.molex.mex/src-gen/org/eclipse/iee/translator/molex/mex/mex/impl/MatrixElementImpl.java
  protected static final String ROW_EDEFAULT = null;
  protected String row = ROW_EDEFAULT;
  protected static final String COLUMN_EDEFAULT = null;
  protected String column = COLUMN_EDEFAULT;
  public String getRow()
  public void setRow(String newRow)
    String oldRow = row;
  public String getColumn()
  public void setColumn(String newColumn)
    String oldColumn = column;
        setRow((String)newValue);
        setColumn((String)newValue);
        return ROW_EDEFAULT == null ? row != null : !ROW_EDEFAULT.equals(row);
        return COLUMN_EDEFAULT == null ? column != null : !COLUMN_EDEFAULT.equals(column);
  protected static final int ROW_EDEFAULT = 0;
  protected int row = ROW_EDEFAULT;
  protected static final int COLUMN_EDEFAULT = 0;
  protected int column = COLUMN_EDEFAULT;
  public int getRow()
  public void setRow(int newRow)
    int oldRow = row;
  public int getColumn()
  public void setColumn(int newColumn)
    int oldColumn = column;
        setRow((Integer)newValue);
        setColumn((Integer)newValue);
        return row != ROW_EDEFAULT;
        return column != COLUMN_EDEFAULT;
@@ -60,7 +60,7 @@ public class MatrixElementImpl extends ExpressionImpl implements MatrixElement
    * @generated
    * @ordered
    */
-  protected static final int ROW_EDEFAULT = 0;
+  protected static final String ROW_EDEFAULT = null;
 
   /**
    * The cached value of the '{@link #getRow() <em>Row</em>}' attribute.
@@ -70,7 +70,7 @@ public class MatrixElementImpl extends ExpressionImpl implements MatrixElement
    * @generated
    * @ordered
    */
-  protected int row = ROW_EDEFAULT;
+  protected String row = ROW_EDEFAULT;
 
   /**
    * The default value of the '{@link #getColumn() <em>Column</em>}' attribute.
@@ -80,7 +80,7 @@ public class MatrixElementImpl extends ExpressionImpl implements MatrixElement
    * @generated
    * @ordered
    */
-  protected static final int COLUMN_EDEFAULT = 0;
+  protected static final String COLUMN_EDEFAULT = null;
 
   /**
    * The cached value of the '{@link #getColumn() <em>Column</em>}' attribute.
@@ -90,7 +90,7 @@ public class MatrixElementImpl extends ExpressionImpl implements MatrixElement
    * @generated
    * @ordered
    */
-  protected int column = COLUMN_EDEFAULT;
+  protected String column = COLUMN_EDEFAULT;
 
   /**
    * <!-- begin-user-doc -->
@@ -141,7 +141,7 @@ public void setElement(String newElement)
    * <!-- end-user-doc -->
    * @generated
    */
-  public int getRow()
+  public String getRow()
   {
     return row;
   }
@@ -151,9 +151,9 @@ public int getRow()
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setRow(int newRow)
+  public void setRow(String newRow)
   {
-    int oldRow = row;
+    String oldRow = row;
     row = newRow;
     if (eNotificationRequired())
       eNotify(new ENotificationImpl(this, Notification.SET, MexPackage.MATRIX_ELEMENT__ROW, oldRow, row));
@@ -164,7 +164,7 @@ public void setRow(int newRow)
    * <!-- end-user-doc -->
    * @generated
    */
-  public int getColumn()
+  public String getColumn()
   {
     return column;
   }
@@ -174,9 +174,9 @@ public int getColumn()
    * <!-- end-user-doc -->
    * @generated
    */
-  public void setColumn(int newColumn)
+  public void setColumn(String newColumn)
   {
-    int oldColumn = column;
+    String oldColumn = column;
     column = newColumn;
     if (eNotificationRequired())
       eNotify(new ENotificationImpl(this, Notification.SET, MexPackage.MATRIX_ELEMENT__COLUMN, oldColumn, column));
@@ -216,10 +216,10 @@ public void eSet(int featureID, Object newValue)
         setElement((String)newValue);
         return;
       case MexPackage.MATRIX_ELEMENT__ROW:
-        setRow((Integer)newValue);
+        setRow((String)newValue);
         return;
       case MexPackage.MATRIX_ELEMENT__COLUMN:
-        setColumn((Integer)newValue);
+        setColumn((String)newValue);
         return;
     }
     super.eSet(featureID, newValue);
@@ -261,9 +261,9 @@ public boolean eIsSet(int featureID)
       case MexPackage.MATRIX_ELEMENT__ELEMENT:
         return ELEMENT_EDEFAULT == null ? element != null : !ELEMENT_EDEFAULT.equals(element);
       case MexPackage.MATRIX_ELEMENT__ROW:
-        return row != ROW_EDEFAULT;
+        return ROW_EDEFAULT == null ? row != null : !ROW_EDEFAULT.equals(row);
       case MexPackage.MATRIX_ELEMENT__COLUMN:
-        return column != COLUMN_EDEFAULT;
+        return COLUMN_EDEFAULT == null ? column != null : !COLUMN_EDEFAULT.equals(column);
     }
     return super.eIsSet(featureID);
   }
https://github.com/iee/iee/raw/0492aafe3780886c3936544ffed92c1bcc587431/org.eclipse.iee.translator.TeXmole%2Forg.eclipse.iee.translator.molex.mex%2Fsrc-gen%2Forg%2Feclipse%2Fiee%2Ftranslator%2Fmolex%2Fmex%2Fmex%2Fimpl%2FMatrixElementImpl.java
79d3a5e3e002b638813a936e956faa06da4b62c5
modified
iee$iee
return cColumnFloatParserRuleCall_2_6_0;
RuleCall
RuleCall getColumnFloatParserRuleCall_2_6_0()
return cColumnINTTerminalRuleCall_2_6_0;
RuleCall
RuleCall getColumnINTTerminalRuleCall_2_6_0()
iee$iee
return cRowFloatParserRuleCall_2_3_0;
RuleCall
RuleCall getRowFloatParserRuleCall_2_3_0()
return cRowINTTerminalRuleCall_2_3_0;
RuleCall
RuleCall getRowINTTerminalRuleCall_2_3_0()