/**
 *                                                                            
 *  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
 *                                                                            
 *  All rights reserved. This program and the accompanying materials           
 *  are made available under the terms of the Eclipse Public License 2.0        
 *  which accompanies this distribution, and is available at                  
 *  https://www.eclipse.org/legal/epl-2.0/                                 
 *                                 
 *  SPDX-License-Identifier: EPL-2.0                                 
 *                                                                            
 *  Contributors:                                                      
 * 	   Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation
 * 
 * generated by Xtext 2.11.0
 *
 */

package org.eclipse.osbp.xtext.datainterchange.ide.contentassist.antlr;

import com.google.inject.Inject;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.osbp.xtext.datainterchange.ide.contentassist.antlr.internal.InternalDataDSLParser;
import org.eclipse.osbp.xtext.datainterchange.services.DataDSLGrammarAccess;
import org.eclipse.xtext.AbstractElement;
import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser;

public class DataDSLParser extends AbstractContentAssistParser {

	@Inject
	private DataDSLGrammarAccess grammarAccess;

	private Map<AbstractElement, String> nameMappings;

	@Override
	protected InternalDataDSLParser createParser() {
		InternalDataDSLParser result = new InternalDataDSLParser(null);
		result.setGrammarAccess(grammarAccess);
		return result;
	}

	@Override
	protected String getRuleName(AbstractElement element) {
		if (nameMappings == null) {
			nameMappings = new HashMap<AbstractElement, String>() {
				private static final long serialVersionUID = 1L;
				{
					put(grammarAccess.getDataInterchangeFileAccess().getAlternatives(), "rule__DataInterchangeFile__Alternatives");
					put(grammarAccess.getDataInterchangeExpressionAccess().getAlternatives(), "rule__DataInterchangeExpression__Alternatives");
					put(grammarAccess.getDataInterchangeExposeAccess().getAlternatives_3(), "rule__DataInterchangeExpose__Alternatives_3");
					put(grammarAccess.getDataInterchangeLookupFilterOperandAccess().getAlternatives(), "rule__DataInterchangeLookupFilterOperand__Alternatives");
					put(grammarAccess.getDataInterchangeMappingAccess().getAlternatives(), "rule__DataInterchangeMapping__Alternatives");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getAlternatives_5_0(), "rule__DataInterchangeFixedColumnMapping__Alternatives_5_0");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getAlternatives_5_1(), "rule__DataInterchangeFixedColumnMapping__Alternatives_5_1");
					put(grammarAccess.getXImportDeclarationAccess().getAlternatives_2(), "rule__XImportDeclaration__Alternatives_2");
					put(grammarAccess.getXImportDeclarationAccess().getAlternatives_2_0_3(), "rule__XImportDeclaration__Alternatives_2_0_3");
					put(grammarAccess.getXAnnotationAccess().getAlternatives_3_1(), "rule__XAnnotation__Alternatives_3_1");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getAlternatives(), "rule__XAnnotationElementValueOrCommaList__Alternatives");
					put(grammarAccess.getXAnnotationElementValueAccess().getAlternatives(), "rule__XAnnotationElementValue__Alternatives");
					put(grammarAccess.getXAnnotationOrExpressionAccess().getAlternatives(), "rule__XAnnotationOrExpression__Alternatives");
					put(grammarAccess.getXAssignmentAccess().getAlternatives(), "rule__XAssignment__Alternatives");
					put(grammarAccess.getOpMultiAssignAccess().getAlternatives(), "rule__OpMultiAssign__Alternatives");
					put(grammarAccess.getOpEqualityAccess().getAlternatives(), "rule__OpEquality__Alternatives");
					put(grammarAccess.getXRelationalExpressionAccess().getAlternatives_1(), "rule__XRelationalExpression__Alternatives_1");
					put(grammarAccess.getOpCompareAccess().getAlternatives(), "rule__OpCompare__Alternatives");
					put(grammarAccess.getOpOtherAccess().getAlternatives(), "rule__OpOther__Alternatives");
					put(grammarAccess.getOpOtherAccess().getAlternatives_5_1(), "rule__OpOther__Alternatives_5_1");
					put(grammarAccess.getOpOtherAccess().getAlternatives_6_1(), "rule__OpOther__Alternatives_6_1");
					put(grammarAccess.getOpAddAccess().getAlternatives(), "rule__OpAdd__Alternatives");
					put(grammarAccess.getOpMultiAccess().getAlternatives(), "rule__OpMulti__Alternatives");
					put(grammarAccess.getXUnaryOperationAccess().getAlternatives(), "rule__XUnaryOperation__Alternatives");
					put(grammarAccess.getOpUnaryAccess().getAlternatives(), "rule__OpUnary__Alternatives");
					put(grammarAccess.getOpPostfixAccess().getAlternatives(), "rule__OpPostfix__Alternatives");
					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1(), "rule__XMemberFeatureCall__Alternatives_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_0_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_0_0_0_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_0_0_1(), "rule__XMemberFeatureCall__Alternatives_1_1_0_0_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getAlternatives_1_1_3_1(), "rule__XMemberFeatureCall__Alternatives_1_1_3_1");
					put(grammarAccess.getXPrimaryExpressionAccess().getAlternatives(), "rule__XPrimaryExpression__Alternatives");
					put(grammarAccess.getXLiteralAccess().getAlternatives(), "rule__XLiteral__Alternatives");
					put(grammarAccess.getXCollectionLiteralAccess().getAlternatives(), "rule__XCollectionLiteral__Alternatives");
					put(grammarAccess.getXSwitchExpressionAccess().getAlternatives_2(), "rule__XSwitchExpression__Alternatives_2");
					put(grammarAccess.getXCasePartAccess().getAlternatives_3(), "rule__XCasePart__Alternatives_3");
					put(grammarAccess.getXExpressionOrVarDeclarationAccess().getAlternatives(), "rule__XExpressionOrVarDeclaration__Alternatives");
					put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_1(), "rule__XVariableDeclaration__Alternatives_1");
					put(grammarAccess.getXVariableDeclarationAccess().getAlternatives_2(), "rule__XVariableDeclaration__Alternatives_2");
					put(grammarAccess.getXFeatureCallAccess().getAlternatives_3_1(), "rule__XFeatureCall__Alternatives_3_1");
					put(grammarAccess.getFeatureCallIDAccess().getAlternatives(), "rule__FeatureCallID__Alternatives");
					put(grammarAccess.getIdOrSuperAccess().getAlternatives(), "rule__IdOrSuper__Alternatives");
					put(grammarAccess.getXConstructorCallAccess().getAlternatives_4_1(), "rule__XConstructorCall__Alternatives_4_1");
					put(grammarAccess.getXBooleanLiteralAccess().getAlternatives_1(), "rule__XBooleanLiteral__Alternatives_1");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getAlternatives_3(), "rule__XTryCatchFinallyExpression__Alternatives_3");
					put(grammarAccess.getNumberAccess().getAlternatives(), "rule__Number__Alternatives");
					put(grammarAccess.getNumberAccess().getAlternatives_1_0(), "rule__Number__Alternatives_1_0");
					put(grammarAccess.getNumberAccess().getAlternatives_1_1_1(), "rule__Number__Alternatives_1_1_1");
					put(grammarAccess.getJvmTypeReferenceAccess().getAlternatives(), "rule__JvmTypeReference__Alternatives");
					put(grammarAccess.getJvmArgumentTypeReferenceAccess().getAlternatives(), "rule__JvmArgumentTypeReference__Alternatives");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getAlternatives_2(), "rule__JvmWildcardTypeReference__Alternatives_2");
					put(grammarAccess.getPredefinedBlobMimeTypeEnumAccess().getAlternatives(), "rule__PredefinedBlobMimeTypeEnum__Alternatives");
					put(grammarAccess.getPredefinedBeanEnumAccess().getAlternatives(), "rule__PredefinedBeanEnum__Alternatives");
					put(grammarAccess.getPredefinedBeanTypeEnumAccess().getAlternatives(), "rule__PredefinedBeanTypeEnum__Alternatives");
					put(grammarAccess.getEntityManagerModeAccess().getAlternatives(), "rule__EntityManagerMode__Alternatives");
					put(grammarAccess.getOperatorAccess().getAlternatives(), "rule__Operator__Alternatives");
					put(grammarAccess.getJunctionAccess().getAlternatives(), "rule__Junction__Alternatives");
					put(grammarAccess.getDataInterchangeModelAccess().getGroup(), "rule__DataInterchangeModel__Group__0");
					put(grammarAccess.getDataInterchangePackageAccess().getGroup(), "rule__DataInterchangePackage__Group__0");
					put(grammarAccess.getDataInterchangePackageAccess().getGroup_3(), "rule__DataInterchangePackage__Group_3__0");
					put(grammarAccess.getDataInterchangeGroupAccess().getGroup(), "rule__DataInterchangeGroup__Group__0");
					put(grammarAccess.getDataInterchangeGroupAccess().getGroup_3(), "rule__DataInterchangeGroup__Group_3__0");
					put(grammarAccess.getDataInterchangeAccess().getGroup(), "rule__DataInterchange__Group__0");
					put(grammarAccess.getDataInterchangeAccess().getGroup_3(), "rule__DataInterchange__Group_3__0");
					put(grammarAccess.getDataInterchangeAccess().getGroup_5(), "rule__DataInterchange__Group_5__0");
					put(grammarAccess.getDataInterchangeAccess().getGroup_7(), "rule__DataInterchange__Group_7__0");
					put(grammarAccess.getDataInterchangeFileXMLAccess().getGroup(), "rule__DataInterchangeFileXML__Group__0");
					put(grammarAccess.getDataInterchangeFileXMLAccess().getGroup_3_1(), "rule__DataInterchangeFileXML__Group_3_1__0");
					put(grammarAccess.getDataInterchangeFileXMLAccess().getGroup_3_2(), "rule__DataInterchangeFileXML__Group_3_2__0");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getGroup(), "rule__DataInterchangeFileCSV__Group__0");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getGroup_3_0(), "rule__DataInterchangeFileCSV__Group_3_0__0");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getGroup_3_1(), "rule__DataInterchangeFileCSV__Group_3_1__0");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getGroup_3_2(), "rule__DataInterchangeFileCSV__Group_3_2__0");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getGroup_3_4(), "rule__DataInterchangeFileCSV__Group_3_4__0");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getGroup_3_5(), "rule__DataInterchangeFileCSV__Group_3_5__0");
					put(grammarAccess.getDataInterchangeFileEDIAccess().getGroup(), "rule__DataInterchangeFileEDI__Group__0");
					put(grammarAccess.getDataInterchangeFileEDIAccess().getGroup_3_0(), "rule__DataInterchangeFileEDI__Group_3_0__0");
					put(grammarAccess.getDataInterchangeFileEDIAccess().getGroup_3_1(), "rule__DataInterchangeFileEDI__Group_3_1__0");
					put(grammarAccess.getDataInterchangeFileFixedAccess().getGroup(), "rule__DataInterchangeFileFixed__Group__0");
					put(grammarAccess.getDataInterchangeFileFixedAccess().getGroup_3_0(), "rule__DataInterchangeFileFixed__Group_3_0__0");
					put(grammarAccess.getDataInterchangeFileFixedAccess().getGroup_3_1(), "rule__DataInterchangeFileFixed__Group_3_1__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup(), "rule__DataInterchangeBean__Group__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_3(), "rule__DataInterchangeBean__Group_3__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_4(), "rule__DataInterchangeBean__Group_4__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_5(), "rule__DataInterchangeBean__Group_5__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_6(), "rule__DataInterchangeBean__Group_6__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_7(), "rule__DataInterchangeBean__Group_7__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_8(), "rule__DataInterchangeBean__Group_8__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_8_0(), "rule__DataInterchangeBean__Group_8_0__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_8_1(), "rule__DataInterchangeBean__Group_8_1__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_8_2(), "rule__DataInterchangeBean__Group_8_2__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_8_3(), "rule__DataInterchangeBean__Group_8_3__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_8_4(), "rule__DataInterchangeBean__Group_8_4__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_8_5(), "rule__DataInterchangeBean__Group_8_5__0");
					put(grammarAccess.getDataInterchangeBeanAccess().getGroup_8_6(), "rule__DataInterchangeBean__Group_8_6__0");
					put(grammarAccess.getDataInterchangeKeyAccess().getGroup(), "rule__DataInterchangeKey__Group__0");
					put(grammarAccess.getDataInterchangeLookupAccess().getGroup(), "rule__DataInterchangeLookup__Group__0");
					put(grammarAccess.getDataInterchangeLookupAccess().getGroup_12(), "rule__DataInterchangeLookup__Group_12__0");
					put(grammarAccess.getDataInterchangeLookupAccess().getGroup_13(), "rule__DataInterchangeLookup__Group_13__0");
					put(grammarAccess.getDataInterchangeMarkerPathAccess().getGroup(), "rule__DataInterchangeMarkerPath__Group__0");
					put(grammarAccess.getDataInterchangeMarkerEntityAccess().getGroup(), "rule__DataInterchangeMarkerEntity__Group__0");
					put(grammarAccess.getDataInterchangeMarkerEntityAccess().getGroup_3(), "rule__DataInterchangeMarkerEntity__Group_3__0");
					put(grammarAccess.getDataInterchangeFormatAccess().getGroup(), "rule__DataInterchangeFormat__Group__0");
					put(grammarAccess.getDataInterchangeEntityExpressionAccess().getGroup(), "rule__DataInterchangeEntityExpression__Group__0");
					put(grammarAccess.getDataInterchangeExposeAccess().getGroup(), "rule__DataInterchangeExpose__Group__0");
					put(grammarAccess.getDataInterchangeExposeAccess().getGroup_3_0(), "rule__DataInterchangeExpose__Group_3_0__0");
					put(grammarAccess.getDataInterchangeExposeAccess().getGroup_3_1(), "rule__DataInterchangeExpose__Group_3_1__0");
					put(grammarAccess.getDataInterchangeExportFilterAccess().getGroup(), "rule__DataInterchangeExportFilter__Group__0");
					put(grammarAccess.getDataInterchangeExportFilterAccess().getGroup_1(), "rule__DataInterchangeExportFilter__Group_1__0");
					put(grammarAccess.getDataInterchangeExportFilterAccess().getGroup_2(), "rule__DataInterchangeExportFilter__Group_2__0");
					put(grammarAccess.getDataInterchangeExportFilterConditionAccess().getGroup(), "rule__DataInterchangeExportFilterCondition__Group__0");
					put(grammarAccess.getDataInterchangeExportFilterConditionAccess().getGroup_3(), "rule__DataInterchangeExportFilterCondition__Group_3__0");
					put(grammarAccess.getDataInterchangeLookupFilterConditionAccess().getGroup(), "rule__DataInterchangeLookupFilterCondition__Group__0");
					put(grammarAccess.getDataInterchangeLookupFilterConditionAccess().getGroup_3(), "rule__DataInterchangeLookupFilterCondition__Group_3__0");
					put(grammarAccess.getDataInterchangeLookupFilterOperandPropertyAccess().getGroup(), "rule__DataInterchangeLookupFilterOperandProperty__Group__0");
					put(grammarAccess.getDataInterchangeLookupFilterOperandStringAccess().getGroup(), "rule__DataInterchangeLookupFilterOperandString__Group__0");
					put(grammarAccess.getDataInterchangeExportHideAccess().getGroup(), "rule__DataInterchangeExportHide__Group__0");
					put(grammarAccess.getDataInterchangePredefinedExpressionAccess().getGroup(), "rule__DataInterchangePredefinedExpression__Group__0");
					put(grammarAccess.getDataInterchangeValueMappingAccess().getGroup(), "rule__DataInterchangeValueMapping__Group__0");
					put(grammarAccess.getDataInterchangeBlobMappingAccess().getGroup(), "rule__DataInterchangeBlobMapping__Group__0");
					put(grammarAccess.getDataInterchangeBlobMappingAccess().getGroup_5(), "rule__DataInterchangeBlobMapping__Group_5__0");
					put(grammarAccess.getDataInterchangeBlobMappingAccess().getGroup_6(), "rule__DataInterchangeBlobMapping__Group_6__0");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getGroup(), "rule__DataInterchangeFixedColumnMapping__Group__0");
					put(grammarAccess.getLFQNAccess().getGroup(), "rule__LFQN__Group__0");
					put(grammarAccess.getLFQNAccess().getGroup_1(), "rule__LFQN__Group_1__0");
					put(grammarAccess.getXImportDeclarationAccess().getGroup(), "rule__XImportDeclaration__Group__0");
					put(grammarAccess.getXImportDeclarationAccess().getGroup_2_0(), "rule__XImportDeclaration__Group_2_0__0");
					put(grammarAccess.getXImportDeclarationAccess().getGroup_2_3(), "rule__XImportDeclaration__Group_2_3__0");
					put(grammarAccess.getXAnnotationAccess().getGroup(), "rule__XAnnotation__Group__0");
					put(grammarAccess.getXAnnotationAccess().getGroup_3(), "rule__XAnnotation__Group_3__0");
					put(grammarAccess.getXAnnotationAccess().getGroup_3_1_0(), "rule__XAnnotation__Group_3_1_0__0");
					put(grammarAccess.getXAnnotationAccess().getGroup_3_1_0_1(), "rule__XAnnotation__Group_3_1_0_1__0");
					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup(), "rule__XAnnotationElementValuePair__Group__0");
					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0(), "rule__XAnnotationElementValuePair__Group_0__0");
					put(grammarAccess.getXAnnotationElementValuePairAccess().getGroup_0_0(), "rule__XAnnotationElementValuePair__Group_0_0__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0(), "rule__XAnnotationElementValueOrCommaList__Group_0__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0(), "rule__XAnnotationElementValueOrCommaList__Group_0_0__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_0_0(), "rule__XAnnotationElementValueOrCommaList__Group_0_0_0__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1(), "rule__XAnnotationElementValueOrCommaList__Group_0_1__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_0_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_0_1_1__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1(), "rule__XAnnotationElementValueOrCommaList__Group_1__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_1_1__0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getGroup_1_1_1(), "rule__XAnnotationElementValueOrCommaList__Group_1_1_1__0");
					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0(), "rule__XAnnotationElementValue__Group_0__0");
					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0(), "rule__XAnnotationElementValue__Group_0_0__0");
					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_0_0(), "rule__XAnnotationElementValue__Group_0_0_0__0");
					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1(), "rule__XAnnotationElementValue__Group_0_1__0");
					put(grammarAccess.getXAnnotationElementValueAccess().getGroup_0_1_1(), "rule__XAnnotationElementValue__Group_0_1_1__0");
					put(grammarAccess.getXAssignmentAccess().getGroup_0(), "rule__XAssignment__Group_0__0");
					put(grammarAccess.getXAssignmentAccess().getGroup_1(), "rule__XAssignment__Group_1__0");
					put(grammarAccess.getXAssignmentAccess().getGroup_1_1(), "rule__XAssignment__Group_1_1__0");
					put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0(), "rule__XAssignment__Group_1_1_0__0");
					put(grammarAccess.getXAssignmentAccess().getGroup_1_1_0_0(), "rule__XAssignment__Group_1_1_0_0__0");
					put(grammarAccess.getOpMultiAssignAccess().getGroup_5(), "rule__OpMultiAssign__Group_5__0");
					put(grammarAccess.getOpMultiAssignAccess().getGroup_6(), "rule__OpMultiAssign__Group_6__0");
					put(grammarAccess.getXOrExpressionAccess().getGroup(), "rule__XOrExpression__Group__0");
					put(grammarAccess.getXOrExpressionAccess().getGroup_1(), "rule__XOrExpression__Group_1__0");
					put(grammarAccess.getXOrExpressionAccess().getGroup_1_0(), "rule__XOrExpression__Group_1_0__0");
					put(grammarAccess.getXOrExpressionAccess().getGroup_1_0_0(), "rule__XOrExpression__Group_1_0_0__0");
					put(grammarAccess.getXAndExpressionAccess().getGroup(), "rule__XAndExpression__Group__0");
					put(grammarAccess.getXAndExpressionAccess().getGroup_1(), "rule__XAndExpression__Group_1__0");
					put(grammarAccess.getXAndExpressionAccess().getGroup_1_0(), "rule__XAndExpression__Group_1_0__0");
					put(grammarAccess.getXAndExpressionAccess().getGroup_1_0_0(), "rule__XAndExpression__Group_1_0_0__0");
					put(grammarAccess.getXEqualityExpressionAccess().getGroup(), "rule__XEqualityExpression__Group__0");
					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1(), "rule__XEqualityExpression__Group_1__0");
					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0(), "rule__XEqualityExpression__Group_1_0__0");
					put(grammarAccess.getXEqualityExpressionAccess().getGroup_1_0_0(), "rule__XEqualityExpression__Group_1_0_0__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup(), "rule__XRelationalExpression__Group__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0(), "rule__XRelationalExpression__Group_1_0__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0(), "rule__XRelationalExpression__Group_1_0_0__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_0_0_0(), "rule__XRelationalExpression__Group_1_0_0_0__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1(), "rule__XRelationalExpression__Group_1_1__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0(), "rule__XRelationalExpression__Group_1_1_0__0");
					put(grammarAccess.getXRelationalExpressionAccess().getGroup_1_1_0_0(), "rule__XRelationalExpression__Group_1_1_0_0__0");
					put(grammarAccess.getOpCompareAccess().getGroup_1(), "rule__OpCompare__Group_1__0");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup(), "rule__XOtherOperatorExpression__Group__0");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1(), "rule__XOtherOperatorExpression__Group_1__0");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0(), "rule__XOtherOperatorExpression__Group_1_0__0");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getGroup_1_0_0(), "rule__XOtherOperatorExpression__Group_1_0_0__0");
					put(grammarAccess.getOpOtherAccess().getGroup_2(), "rule__OpOther__Group_2__0");
					put(grammarAccess.getOpOtherAccess().getGroup_5(), "rule__OpOther__Group_5__0");
					put(grammarAccess.getOpOtherAccess().getGroup_5_1_0(), "rule__OpOther__Group_5_1_0__0");
					put(grammarAccess.getOpOtherAccess().getGroup_5_1_0_0(), "rule__OpOther__Group_5_1_0_0__0");
					put(grammarAccess.getOpOtherAccess().getGroup_6(), "rule__OpOther__Group_6__0");
					put(grammarAccess.getOpOtherAccess().getGroup_6_1_0(), "rule__OpOther__Group_6_1_0__0");
					put(grammarAccess.getOpOtherAccess().getGroup_6_1_0_0(), "rule__OpOther__Group_6_1_0_0__0");
					put(grammarAccess.getXAdditiveExpressionAccess().getGroup(), "rule__XAdditiveExpression__Group__0");
					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1(), "rule__XAdditiveExpression__Group_1__0");
					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0(), "rule__XAdditiveExpression__Group_1_0__0");
					put(grammarAccess.getXAdditiveExpressionAccess().getGroup_1_0_0(), "rule__XAdditiveExpression__Group_1_0_0__0");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup(), "rule__XMultiplicativeExpression__Group__0");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1(), "rule__XMultiplicativeExpression__Group_1__0");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0(), "rule__XMultiplicativeExpression__Group_1_0__0");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getGroup_1_0_0(), "rule__XMultiplicativeExpression__Group_1_0_0__0");
					put(grammarAccess.getXUnaryOperationAccess().getGroup_0(), "rule__XUnaryOperation__Group_0__0");
					put(grammarAccess.getXCastedExpressionAccess().getGroup(), "rule__XCastedExpression__Group__0");
					put(grammarAccess.getXCastedExpressionAccess().getGroup_1(), "rule__XCastedExpression__Group_1__0");
					put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0(), "rule__XCastedExpression__Group_1_0__0");
					put(grammarAccess.getXCastedExpressionAccess().getGroup_1_0_0(), "rule__XCastedExpression__Group_1_0_0__0");
					put(grammarAccess.getXPostfixOperationAccess().getGroup(), "rule__XPostfixOperation__Group__0");
					put(grammarAccess.getXPostfixOperationAccess().getGroup_1(), "rule__XPostfixOperation__Group_1__0");
					put(grammarAccess.getXPostfixOperationAccess().getGroup_1_0(), "rule__XPostfixOperation__Group_1_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup(), "rule__XMemberFeatureCall__Group__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0(), "rule__XMemberFeatureCall__Group_1_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0(), "rule__XMemberFeatureCall__Group_1_0_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_0_0_0(), "rule__XMemberFeatureCall__Group_1_0_0_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1(), "rule__XMemberFeatureCall__Group_1_1__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0(), "rule__XMemberFeatureCall__Group_1_1_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_0_0(), "rule__XMemberFeatureCall__Group_1_1_0_0__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_1__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_1_2(), "rule__XMemberFeatureCall__Group_1_1_1_2__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3(), "rule__XMemberFeatureCall__Group_1_1_3__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1__0");
					put(grammarAccess.getXMemberFeatureCallAccess().getGroup_1_1_3_1_1_1(), "rule__XMemberFeatureCall__Group_1_1_3_1_1_1__0");
					put(grammarAccess.getXSetLiteralAccess().getGroup(), "rule__XSetLiteral__Group__0");
					put(grammarAccess.getXSetLiteralAccess().getGroup_3(), "rule__XSetLiteral__Group_3__0");
					put(grammarAccess.getXSetLiteralAccess().getGroup_3_1(), "rule__XSetLiteral__Group_3_1__0");
					put(grammarAccess.getXListLiteralAccess().getGroup(), "rule__XListLiteral__Group__0");
					put(grammarAccess.getXListLiteralAccess().getGroup_3(), "rule__XListLiteral__Group_3__0");
					put(grammarAccess.getXListLiteralAccess().getGroup_3_1(), "rule__XListLiteral__Group_3_1__0");
					put(grammarAccess.getXClosureAccess().getGroup(), "rule__XClosure__Group__0");
					put(grammarAccess.getXClosureAccess().getGroup_0(), "rule__XClosure__Group_0__0");
					put(grammarAccess.getXClosureAccess().getGroup_0_0(), "rule__XClosure__Group_0_0__0");
					put(grammarAccess.getXClosureAccess().getGroup_1(), "rule__XClosure__Group_1__0");
					put(grammarAccess.getXClosureAccess().getGroup_1_0(), "rule__XClosure__Group_1_0__0");
					put(grammarAccess.getXClosureAccess().getGroup_1_0_0(), "rule__XClosure__Group_1_0_0__0");
					put(grammarAccess.getXClosureAccess().getGroup_1_0_0_1(), "rule__XClosure__Group_1_0_0_1__0");
					put(grammarAccess.getXExpressionInClosureAccess().getGroup(), "rule__XExpressionInClosure__Group__0");
					put(grammarAccess.getXExpressionInClosureAccess().getGroup_1(), "rule__XExpressionInClosure__Group_1__0");
					put(grammarAccess.getXShortClosureAccess().getGroup(), "rule__XShortClosure__Group__0");
					put(grammarAccess.getXShortClosureAccess().getGroup_0(), "rule__XShortClosure__Group_0__0");
					put(grammarAccess.getXShortClosureAccess().getGroup_0_0(), "rule__XShortClosure__Group_0_0__0");
					put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1(), "rule__XShortClosure__Group_0_0_1__0");
					put(grammarAccess.getXShortClosureAccess().getGroup_0_0_1_1(), "rule__XShortClosure__Group_0_0_1_1__0");
					put(grammarAccess.getXParenthesizedExpressionAccess().getGroup(), "rule__XParenthesizedExpression__Group__0");
					put(grammarAccess.getXIfExpressionAccess().getGroup(), "rule__XIfExpression__Group__0");
					put(grammarAccess.getXIfExpressionAccess().getGroup_6(), "rule__XIfExpression__Group_6__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup(), "rule__XSwitchExpression__Group__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0(), "rule__XSwitchExpression__Group_2_0__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0(), "rule__XSwitchExpression__Group_2_0_0__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_0_0_0(), "rule__XSwitchExpression__Group_2_0_0_0__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1(), "rule__XSwitchExpression__Group_2_1__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0(), "rule__XSwitchExpression__Group_2_1_0__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_2_1_0_0(), "rule__XSwitchExpression__Group_2_1_0_0__0");
					put(grammarAccess.getXSwitchExpressionAccess().getGroup_5(), "rule__XSwitchExpression__Group_5__0");
					put(grammarAccess.getXCasePartAccess().getGroup(), "rule__XCasePart__Group__0");
					put(grammarAccess.getXCasePartAccess().getGroup_2(), "rule__XCasePart__Group_2__0");
					put(grammarAccess.getXCasePartAccess().getGroup_3_0(), "rule__XCasePart__Group_3_0__0");
					put(grammarAccess.getXForLoopExpressionAccess().getGroup(), "rule__XForLoopExpression__Group__0");
					put(grammarAccess.getXForLoopExpressionAccess().getGroup_0(), "rule__XForLoopExpression__Group_0__0");
					put(grammarAccess.getXForLoopExpressionAccess().getGroup_0_0(), "rule__XForLoopExpression__Group_0_0__0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup(), "rule__XBasicForLoopExpression__Group__0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3(), "rule__XBasicForLoopExpression__Group_3__0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_3_1(), "rule__XBasicForLoopExpression__Group_3_1__0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7(), "rule__XBasicForLoopExpression__Group_7__0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getGroup_7_1(), "rule__XBasicForLoopExpression__Group_7_1__0");
					put(grammarAccess.getXWhileExpressionAccess().getGroup(), "rule__XWhileExpression__Group__0");
					put(grammarAccess.getXDoWhileExpressionAccess().getGroup(), "rule__XDoWhileExpression__Group__0");
					put(grammarAccess.getXBlockExpressionAccess().getGroup(), "rule__XBlockExpression__Group__0");
					put(grammarAccess.getXBlockExpressionAccess().getGroup_2(), "rule__XBlockExpression__Group_2__0");
					put(grammarAccess.getXVariableDeclarationAccess().getGroup(), "rule__XVariableDeclaration__Group__0");
					put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0(), "rule__XVariableDeclaration__Group_2_0__0");
					put(grammarAccess.getXVariableDeclarationAccess().getGroup_2_0_0(), "rule__XVariableDeclaration__Group_2_0_0__0");
					put(grammarAccess.getXVariableDeclarationAccess().getGroup_3(), "rule__XVariableDeclaration__Group_3__0");
					put(grammarAccess.getJvmFormalParameterAccess().getGroup(), "rule__JvmFormalParameter__Group__0");
					put(grammarAccess.getFullJvmFormalParameterAccess().getGroup(), "rule__FullJvmFormalParameter__Group__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup(), "rule__XFeatureCall__Group__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup_1(), "rule__XFeatureCall__Group_1__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup_1_2(), "rule__XFeatureCall__Group_1_2__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup_3(), "rule__XFeatureCall__Group_3__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1(), "rule__XFeatureCall__Group_3_1_1__0");
					put(grammarAccess.getXFeatureCallAccess().getGroup_3_1_1_1(), "rule__XFeatureCall__Group_3_1_1_1__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup(), "rule__XConstructorCall__Group__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup_3(), "rule__XConstructorCall__Group_3__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup_3_2(), "rule__XConstructorCall__Group_3_2__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup_4(), "rule__XConstructorCall__Group_4__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1(), "rule__XConstructorCall__Group_4_1_1__0");
					put(grammarAccess.getXConstructorCallAccess().getGroup_4_1_1_1(), "rule__XConstructorCall__Group_4_1_1_1__0");
					put(grammarAccess.getXBooleanLiteralAccess().getGroup(), "rule__XBooleanLiteral__Group__0");
					put(grammarAccess.getXNullLiteralAccess().getGroup(), "rule__XNullLiteral__Group__0");
					put(grammarAccess.getXNumberLiteralAccess().getGroup(), "rule__XNumberLiteral__Group__0");
					put(grammarAccess.getXStringLiteralAccess().getGroup(), "rule__XStringLiteral__Group__0");
					put(grammarAccess.getXTypeLiteralAccess().getGroup(), "rule__XTypeLiteral__Group__0");
					put(grammarAccess.getXThrowExpressionAccess().getGroup(), "rule__XThrowExpression__Group__0");
					put(grammarAccess.getXReturnExpressionAccess().getGroup(), "rule__XReturnExpression__Group__0");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup(), "rule__XTryCatchFinallyExpression__Group__0");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0(), "rule__XTryCatchFinallyExpression__Group_3_0__0");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_0_1(), "rule__XTryCatchFinallyExpression__Group_3_0_1__0");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getGroup_3_1(), "rule__XTryCatchFinallyExpression__Group_3_1__0");
					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup(), "rule__XSynchronizedExpression__Group__0");
					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0(), "rule__XSynchronizedExpression__Group_0__0");
					put(grammarAccess.getXSynchronizedExpressionAccess().getGroup_0_0(), "rule__XSynchronizedExpression__Group_0_0__0");
					put(grammarAccess.getXCatchClauseAccess().getGroup(), "rule__XCatchClause__Group__0");
					put(grammarAccess.getQualifiedNameAccess().getGroup(), "rule__QualifiedName__Group__0");
					put(grammarAccess.getQualifiedNameAccess().getGroup_1(), "rule__QualifiedName__Group_1__0");
					put(grammarAccess.getNumberAccess().getGroup_1(), "rule__Number__Group_1__0");
					put(grammarAccess.getNumberAccess().getGroup_1_1(), "rule__Number__Group_1_1__0");
					put(grammarAccess.getStaticQualifierAccess().getGroup(), "rule__StaticQualifier__Group__0");
					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0(), "rule__JvmTypeReference__Group_0__0");
					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1(), "rule__JvmTypeReference__Group_0_1__0");
					put(grammarAccess.getJvmTypeReferenceAccess().getGroup_0_1_0(), "rule__JvmTypeReference__Group_0_1_0__0");
					put(grammarAccess.getArrayBracketsAccess().getGroup(), "rule__ArrayBrackets__Group__0");
					put(grammarAccess.getXFunctionTypeRefAccess().getGroup(), "rule__XFunctionTypeRef__Group__0");
					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0(), "rule__XFunctionTypeRef__Group_0__0");
					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1(), "rule__XFunctionTypeRef__Group_0_1__0");
					put(grammarAccess.getXFunctionTypeRefAccess().getGroup_0_1_1(), "rule__XFunctionTypeRef__Group_0_1_1__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup(), "rule__JvmParameterizedTypeReference__Group__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1(), "rule__JvmParameterizedTypeReference__Group_1__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_2(), "rule__JvmParameterizedTypeReference__Group_1_2__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4(), "rule__JvmParameterizedTypeReference__Group_1_4__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_0_0(), "rule__JvmParameterizedTypeReference__Group_1_4_0_0__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2__0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getGroup_1_4_2_2(), "rule__JvmParameterizedTypeReference__Group_1_4_2_2__0");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup(), "rule__JvmWildcardTypeReference__Group__0");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_0(), "rule__JvmWildcardTypeReference__Group_2_0__0");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getGroup_2_1(), "rule__JvmWildcardTypeReference__Group_2_1__0");
					put(grammarAccess.getJvmUpperBoundAccess().getGroup(), "rule__JvmUpperBound__Group__0");
					put(grammarAccess.getJvmUpperBoundAndedAccess().getGroup(), "rule__JvmUpperBoundAnded__Group__0");
					put(grammarAccess.getJvmLowerBoundAccess().getGroup(), "rule__JvmLowerBound__Group__0");
					put(grammarAccess.getJvmLowerBoundAndedAccess().getGroup(), "rule__JvmLowerBoundAnded__Group__0");
					put(grammarAccess.getJvmTypeParameterAccess().getGroup(), "rule__JvmTypeParameter__Group__0");
					put(grammarAccess.getJvmTypeParameterAccess().getGroup_1(), "rule__JvmTypeParameter__Group_1__0");
					put(grammarAccess.getQualifiedNameWithWildcardAccess().getGroup(), "rule__QualifiedNameWithWildcard__Group__0");
					put(grammarAccess.getQualifiedNameInStaticImportAccess().getGroup(), "rule__QualifiedNameInStaticImport__Group__0");
					put(grammarAccess.getDataInterchangeModelAccess().getImportSectionAssignment_0(), "rule__DataInterchangeModel__ImportSectionAssignment_0");
					put(grammarAccess.getDataInterchangeModelAccess().getPackagesAssignment_1(), "rule__DataInterchangeModel__PackagesAssignment_1");
					put(grammarAccess.getDataInterchangePackageAccess().getNameAssignment_2(), "rule__DataInterchangePackage__NameAssignment_2");
					put(grammarAccess.getDataInterchangePackageAccess().getGroupsAssignment_3_1(), "rule__DataInterchangePackage__GroupsAssignment_3_1");
					put(grammarAccess.getDataInterchangeGroupAccess().getNameAssignment_2(), "rule__DataInterchangeGroup__NameAssignment_2");
					put(grammarAccess.getDataInterchangeGroupAccess().getDatIntsAssignment_3_1(), "rule__DataInterchangeGroup__DatIntsAssignment_3_1");
					put(grammarAccess.getDataInterchangeAccess().getNameAssignment_2(), "rule__DataInterchange__NameAssignment_2");
					put(grammarAccess.getDataInterchangeAccess().getDescriptionAssignment_3_0(), "rule__DataInterchange__DescriptionAssignment_3_0");
					put(grammarAccess.getDataInterchangeAccess().getDescriptionValueAssignment_3_1(), "rule__DataInterchange__DescriptionValueAssignment_3_1");
					put(grammarAccess.getDataInterchangeAccess().getModeAssignment_4(), "rule__DataInterchange__ModeAssignment_4");
					put(grammarAccess.getDataInterchangeAccess().getHasVectorNameAssignment_5_0(), "rule__DataInterchange__HasVectorNameAssignment_5_0");
					put(grammarAccess.getDataInterchangeAccess().getVectorNameAssignment_5_1(), "rule__DataInterchange__VectorNameAssignment_5_1");
					put(grammarAccess.getDataInterchangeAccess().getCreateReportAssignment_6(), "rule__DataInterchange__CreateReportAssignment_6");
					put(grammarAccess.getDataInterchangeAccess().getElementSizeAssignment_7_1(), "rule__DataInterchange__ElementSizeAssignment_7_1");
					put(grammarAccess.getDataInterchangeAccess().getDeleteFileAfterImportAssignment_8(), "rule__DataInterchange__DeleteFileAfterImportAssignment_8");
					put(grammarAccess.getDataInterchangeAccess().getFileEndpointAssignment_10(), "rule__DataInterchange__FileEndpointAssignment_10");
					put(grammarAccess.getDataInterchangeAccess().getPathAssignment_13(), "rule__DataInterchange__PathAssignment_13");
					put(grammarAccess.getDataInterchangeFileXMLAccess().getFileURLAssignment_2(), "rule__DataInterchangeFileXML__FileURLAssignment_2");
					put(grammarAccess.getDataInterchangeFileXMLAccess().getByAttributeAssignment_3_0(), "rule__DataInterchangeFileXML__ByAttributeAssignment_3_0");
					put(grammarAccess.getDataInterchangeFileXMLAccess().getEncodingAssignment_3_1_1(), "rule__DataInterchangeFileXML__EncodingAssignment_3_1_1");
					put(grammarAccess.getDataInterchangeFileXMLAccess().getLocaleAssignment_3_2_1(), "rule__DataInterchangeFileXML__LocaleAssignment_3_2_1");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getFileURLAssignment_2(), "rule__DataInterchangeFileCSV__FileURLAssignment_2");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getDelimiterAssignment_3_0_1(), "rule__DataInterchangeFileCSV__DelimiterAssignment_3_0_1");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getQuoteCharacterAssignment_3_1_1(), "rule__DataInterchangeFileCSV__QuoteCharacterAssignment_3_1_1");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getSkipLinesAssignment_3_2_1(), "rule__DataInterchangeFileCSV__SkipLinesAssignment_3_2_1");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getIndentAssignment_3_3(), "rule__DataInterchangeFileCSV__IndentAssignment_3_3");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getEncodingAssignment_3_4_1(), "rule__DataInterchangeFileCSV__EncodingAssignment_3_4_1");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getLocaleAssignment_3_5_1(), "rule__DataInterchangeFileCSV__LocaleAssignment_3_5_1");
					put(grammarAccess.getDataInterchangeFileEDIAccess().getFileURLAssignment_2(), "rule__DataInterchangeFileEDI__FileURLAssignment_2");
					put(grammarAccess.getDataInterchangeFileEDIAccess().getEncodingAssignment_3_0_1(), "rule__DataInterchangeFileEDI__EncodingAssignment_3_0_1");
					put(grammarAccess.getDataInterchangeFileEDIAccess().getLocaleAssignment_3_1_1(), "rule__DataInterchangeFileEDI__LocaleAssignment_3_1_1");
					put(grammarAccess.getDataInterchangeFileEDIAccess().getMappingModelAssignment_5(), "rule__DataInterchangeFileEDI__MappingModelAssignment_5");
					put(grammarAccess.getDataInterchangeFileEDIAccess().getValidateAssignment_6(), "rule__DataInterchangeFileEDI__ValidateAssignment_6");
					put(grammarAccess.getDataInterchangeFileFixedAccess().getFileURLAssignment_2(), "rule__DataInterchangeFileFixed__FileURLAssignment_2");
					put(grammarAccess.getDataInterchangeFileFixedAccess().getEncodingAssignment_3_0_1(), "rule__DataInterchangeFileFixed__EncodingAssignment_3_0_1");
					put(grammarAccess.getDataInterchangeFileFixedAccess().getLocaleAssignment_3_1_1(), "rule__DataInterchangeFileFixed__LocaleAssignment_3_1_1");
					put(grammarAccess.getDataInterchangeBeanAccess().getEntityAssignment_2(), "rule__DataInterchangeBean__EntityAssignment_2");
					put(grammarAccess.getDataInterchangeBeanAccess().getRefDataSourceAssignment_3_1(), "rule__DataInterchangeBean__RefDataSourceAssignment_3_1");
					put(grammarAccess.getDataInterchangeBeanAccess().getNodeNameAssignment_4_1(), "rule__DataInterchangeBean__NodeNameAssignment_4_1");
					put(grammarAccess.getDataInterchangeBeanAccess().getElementMapAssignment_5_1(), "rule__DataInterchangeBean__ElementMapAssignment_5_1");
					put(grammarAccess.getDataInterchangeBeanAccess().getMarkLatestImportAssignment_6_0(), "rule__DataInterchangeBean__MarkLatestImportAssignment_6_0");
					put(grammarAccess.getDataInterchangeBeanAccess().getLatestPropertyAssignment_6_1(), "rule__DataInterchangeBean__LatestPropertyAssignment_6_1");
					put(grammarAccess.getDataInterchangeBeanAccess().getMarkLatestExportAssignment_7_0(), "rule__DataInterchangeBean__MarkLatestExportAssignment_7_0");
					put(grammarAccess.getDataInterchangeBeanAccess().getLatestExpPropertyAssignment_7_1(), "rule__DataInterchangeBean__LatestExpPropertyAssignment_7_1");
					put(grammarAccess.getDataInterchangeBeanAccess().getExpressionAssignment_8_0_2(), "rule__DataInterchangeBean__ExpressionAssignment_8_0_2");
					put(grammarAccess.getDataInterchangeBeanAccess().getLookupAssignment_8_1_2(), "rule__DataInterchangeBean__LookupAssignment_8_1_2");
					put(grammarAccess.getDataInterchangeBeanAccess().getFormatAssignment_8_2_2(), "rule__DataInterchangeBean__FormatAssignment_8_2_2");
					put(grammarAccess.getDataInterchangeBeanAccess().getExportExposesAssignment_8_3_2(), "rule__DataInterchangeBean__ExportExposesAssignment_8_3_2");
					put(grammarAccess.getDataInterchangeBeanAccess().getMappingsAssignment_8_4_2(), "rule__DataInterchangeBean__MappingsAssignment_8_4_2");
					put(grammarAccess.getDataInterchangeBeanAccess().getLookupKeysAssignment_8_5_2(), "rule__DataInterchangeBean__LookupKeysAssignment_8_5_2");
					put(grammarAccess.getDataInterchangeBeanAccess().getExportFilterAssignment_8_6_2(), "rule__DataInterchangeBean__ExportFilterAssignment_8_6_2");
					put(grammarAccess.getDataInterchangeKeyAccess().getPropertyAssignment_2(), "rule__DataInterchangeKey__PropertyAssignment_2");
					put(grammarAccess.getDataInterchangeLookupAccess().getTargetPropertyAssignment_2(), "rule__DataInterchangeLookup__TargetPropertyAssignment_2");
					put(grammarAccess.getDataInterchangeLookupAccess().getEntityAssignment_4(), "rule__DataInterchangeLookup__EntityAssignment_4");
					put(grammarAccess.getDataInterchangeLookupAccess().getElementMapAssignment_6(), "rule__DataInterchangeLookup__ElementMapAssignment_6");
					put(grammarAccess.getDataInterchangeLookupAccess().getDataMapAssignment_8(), "rule__DataInterchangeLookup__DataMapAssignment_8");
					put(grammarAccess.getDataInterchangeLookupAccess().getAllowNoResultAssignment_9_0(), "rule__DataInterchangeLookup__AllowNoResultAssignment_9_0");
					put(grammarAccess.getDataInterchangeLookupAccess().getMarkerPathAssignment_9_1(), "rule__DataInterchangeLookup__MarkerPathAssignment_9_1");
					put(grammarAccess.getDataInterchangeLookupAccess().getQueryPropertyAssignment_11(), "rule__DataInterchangeLookup__QueryPropertyAssignment_11");
					put(grammarAccess.getDataInterchangeLookupAccess().getCachedAssignment_12_0(), "rule__DataInterchangeLookup__CachedAssignment_12_0");
					put(grammarAccess.getDataInterchangeLookupAccess().getCacheSizeAssignment_12_1(), "rule__DataInterchangeLookup__CacheSizeAssignment_12_1");
					put(grammarAccess.getDataInterchangeLookupAccess().getConditionAssignment_13_2(), "rule__DataInterchangeLookup__ConditionAssignment_13_2");
					put(grammarAccess.getDataInterchangeMarkerPathAccess().getPathAssignment_3(), "rule__DataInterchangeMarkerPath__PathAssignment_3");
					put(grammarAccess.getDataInterchangeMarkerEntityAccess().getMarkerEntityAssignment_2(), "rule__DataInterchangeMarkerEntity__MarkerEntityAssignment_2");
					put(grammarAccess.getDataInterchangeMarkerEntityAccess().getMarkLatestAssignment_3_0(), "rule__DataInterchangeMarkerEntity__MarkLatestAssignment_3_0");
					put(grammarAccess.getDataInterchangeMarkerEntityAccess().getMarkerPropertyAssignment_3_1(), "rule__DataInterchangeMarkerEntity__MarkerPropertyAssignment_3_1");
					put(grammarAccess.getDataInterchangeFormatAccess().getTargetPropertyAssignment_2(), "rule__DataInterchangeFormat__TargetPropertyAssignment_2");
					put(grammarAccess.getDataInterchangeFormatAccess().getFormatAssignment_4(), "rule__DataInterchangeFormat__FormatAssignment_4");
					put(grammarAccess.getDataInterchangeEntityExpressionAccess().getTargetPropertyAssignment_2(), "rule__DataInterchangeEntityExpression__TargetPropertyAssignment_2");
					put(grammarAccess.getDataInterchangeEntityExpressionAccess().getEntityAssignment_4(), "rule__DataInterchangeEntityExpression__EntityAssignment_4");
					put(grammarAccess.getDataInterchangeEntityExpressionAccess().getPropertyAssignment_6(), "rule__DataInterchangeEntityExpression__PropertyAssignment_6");
					put(grammarAccess.getDataInterchangeExposeAccess().getRefEntityAssignment_2(), "rule__DataInterchangeExpose__RefEntityAssignment_2");
					put(grammarAccess.getDataInterchangeExposeAccess().getRefPropertyAssignment_3_0_1(), "rule__DataInterchangeExpose__RefPropertyAssignment_3_0_1");
					put(grammarAccess.getDataInterchangeExposeAccess().getSubExposeAssignment_3_1_2(), "rule__DataInterchangeExpose__SubExposeAssignment_3_1_2");
					put(grammarAccess.getDataInterchangeExportFilterAccess().getConditionAssignment_1_2(), "rule__DataInterchangeExportFilter__ConditionAssignment_1_2");
					put(grammarAccess.getDataInterchangeExportFilterAccess().getHiddenpropertiesAssignment_2_1(), "rule__DataInterchangeExportFilter__HiddenpropertiesAssignment_2_1");
					put(grammarAccess.getDataInterchangeExportFilterConditionAccess().getRefPropertyAssignment_0(), "rule__DataInterchangeExportFilterCondition__RefPropertyAssignment_0");
					put(grammarAccess.getDataInterchangeExportFilterConditionAccess().getOperatorAssignment_1(), "rule__DataInterchangeExportFilterCondition__OperatorAssignment_1");
					put(grammarAccess.getDataInterchangeExportFilterConditionAccess().getValueAssignment_2(), "rule__DataInterchangeExportFilterCondition__ValueAssignment_2");
					put(grammarAccess.getDataInterchangeExportFilterConditionAccess().getOperator2Assignment_3_0(), "rule__DataInterchangeExportFilterCondition__Operator2Assignment_3_0");
					put(grammarAccess.getDataInterchangeExportFilterConditionAccess().getSubconditionAssignment_3_1(), "rule__DataInterchangeExportFilterCondition__SubconditionAssignment_3_1");
					put(grammarAccess.getDataInterchangeLookupFilterConditionAccess().getRefPropertyAssignment_0(), "rule__DataInterchangeLookupFilterCondition__RefPropertyAssignment_0");
					put(grammarAccess.getDataInterchangeLookupFilterConditionAccess().getOperatorAssignment_1(), "rule__DataInterchangeLookupFilterCondition__OperatorAssignment_1");
					put(grammarAccess.getDataInterchangeLookupFilterConditionAccess().getOperandAssignment_2(), "rule__DataInterchangeLookupFilterCondition__OperandAssignment_2");
					put(grammarAccess.getDataInterchangeLookupFilterConditionAccess().getOperator2Assignment_3_0(), "rule__DataInterchangeLookupFilterCondition__Operator2Assignment_3_0");
					put(grammarAccess.getDataInterchangeLookupFilterConditionAccess().getSubconditionAssignment_3_1(), "rule__DataInterchangeLookupFilterCondition__SubconditionAssignment_3_1");
					put(grammarAccess.getDataInterchangeLookupFilterOperandPropertyAccess().getRefPropertyAssignment_1(), "rule__DataInterchangeLookupFilterOperandProperty__RefPropertyAssignment_1");
					put(grammarAccess.getDataInterchangeLookupFilterOperandStringAccess().getValueAssignment_1(), "rule__DataInterchangeLookupFilterOperandString__ValueAssignment_1");
					put(grammarAccess.getDataInterchangeExportHideAccess().getPropertyAssignment_1(), "rule__DataInterchangeExportHide__PropertyAssignment_1");
					put(grammarAccess.getDataInterchangePredefinedExpressionAccess().getTargetPropertyAssignment_2(), "rule__DataInterchangePredefinedExpression__TargetPropertyAssignment_2");
					put(grammarAccess.getDataInterchangePredefinedExpressionAccess().getBeanAssignment_4(), "rule__DataInterchangePredefinedExpression__BeanAssignment_4");
					put(grammarAccess.getDataInterchangePredefinedExpressionAccess().getBeanTypeAssignment_6(), "rule__DataInterchangePredefinedExpression__BeanTypeAssignment_6");
					put(grammarAccess.getDataInterchangeValueMappingAccess().getPropertyAssignment_2(), "rule__DataInterchangeValueMapping__PropertyAssignment_2");
					put(grammarAccess.getDataInterchangeValueMappingAccess().getDataAssignment_4(), "rule__DataInterchangeValueMapping__DataAssignment_4");
					put(grammarAccess.getDataInterchangeBlobMappingAccess().getPropertyAssignment_2(), "rule__DataInterchangeBlobMapping__PropertyAssignment_2");
					put(grammarAccess.getDataInterchangeBlobMappingAccess().getDataAssignment_4(), "rule__DataInterchangeBlobMapping__DataAssignment_4");
					put(grammarAccess.getDataInterchangeBlobMappingAccess().getBlobFileExtensionAssignment_5_1(), "rule__DataInterchangeBlobMapping__BlobFileExtensionAssignment_5_1");
					put(grammarAccess.getDataInterchangeBlobMappingAccess().getBlobPathAssignment_6_1(), "rule__DataInterchangeBlobMapping__BlobPathAssignment_6_1");
					put(grammarAccess.getDataInterchangeBlobMappingAccess().getMimeTypeAssignment_8(), "rule__DataInterchangeBlobMapping__MimeTypeAssignment_8");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getPropertyAssignment_2(), "rule__DataInterchangeFixedColumnMapping__PropertyAssignment_2");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getLengthAssignment_4(), "rule__DataInterchangeFixedColumnMapping__LengthAssignment_4");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getTrimAssignment_5_0_0(), "rule__DataInterchangeFixedColumnMapping__TrimAssignment_5_0_0");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getLeftTrimAssignment_5_0_1(), "rule__DataInterchangeFixedColumnMapping__LeftTrimAssignment_5_0_1");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getRightTrimAssignment_5_0_2(), "rule__DataInterchangeFixedColumnMapping__RightTrimAssignment_5_0_2");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getLowerCaseAssignment_5_1_0(), "rule__DataInterchangeFixedColumnMapping__LowerCaseAssignment_5_1_0");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getUpperCaseAssignment_5_1_1(), "rule__DataInterchangeFixedColumnMapping__UpperCaseAssignment_5_1_1");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getCapFirstAssignment_5_1_2(), "rule__DataInterchangeFixedColumnMapping__CapFirstAssignment_5_1_2");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getUncapFirstAssignment_5_1_3(), "rule__DataInterchangeFixedColumnMapping__UncapFirstAssignment_5_1_3");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getCapitalizeAssignment_5_1_4(), "rule__DataInterchangeFixedColumnMapping__CapitalizeAssignment_5_1_4");
					put(grammarAccess.getXImportDeclarationAccess().getStaticAssignment_2_0_0(), "rule__XImportDeclaration__StaticAssignment_2_0_0");
					put(grammarAccess.getXImportDeclarationAccess().getExtensionAssignment_2_0_1(), "rule__XImportDeclaration__ExtensionAssignment_2_0_1");
					put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_2_0_2(), "rule__XImportDeclaration__ImportedTypeAssignment_2_0_2");
					put(grammarAccess.getXImportDeclarationAccess().getWildcardAssignment_2_0_3_0(), "rule__XImportDeclaration__WildcardAssignment_2_0_3_0");
					put(grammarAccess.getXImportDeclarationAccess().getMemberNameAssignment_2_0_3_1(), "rule__XImportDeclaration__MemberNameAssignment_2_0_3_1");
					put(grammarAccess.getXImportDeclarationAccess().getImportedTypeAssignment_2_1(), "rule__XImportDeclaration__ImportedTypeAssignment_2_1");
					put(grammarAccess.getXImportDeclarationAccess().getImportedNamespaceAssignment_2_2(), "rule__XImportDeclaration__ImportedNamespaceAssignment_2_2");
					put(grammarAccess.getXImportDeclarationAccess().getFqnImportAssignment_2_3_0(), "rule__XImportDeclaration__FqnImportAssignment_2_3_0");
					put(grammarAccess.getXImportDeclarationAccess().getImportedFullyQualifiedNameAssignment_2_3_1(), "rule__XImportDeclaration__ImportedFullyQualifiedNameAssignment_2_3_1");
					put(grammarAccess.getXAnnotationAccess().getAnnotationTypeAssignment_2(), "rule__XAnnotation__AnnotationTypeAssignment_2");
					put(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_0(), "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_0");
					put(grammarAccess.getXAnnotationAccess().getElementValuePairsAssignment_3_1_0_1_1(), "rule__XAnnotation__ElementValuePairsAssignment_3_1_0_1_1");
					put(grammarAccess.getXAnnotationAccess().getValueAssignment_3_1_1(), "rule__XAnnotation__ValueAssignment_3_1_1");
					put(grammarAccess.getXAnnotationElementValuePairAccess().getElementAssignment_0_0_0(), "rule__XAnnotationElementValuePair__ElementAssignment_0_0_0");
					put(grammarAccess.getXAnnotationElementValuePairAccess().getValueAssignment_1(), "rule__XAnnotationElementValuePair__ValueAssignment_1");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_0(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_0");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_0_1_1_1(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_0_1_1_1");
					put(grammarAccess.getXAnnotationElementValueOrCommaListAccess().getElementsAssignment_1_1_1_1(), "rule__XAnnotationElementValueOrCommaList__ElementsAssignment_1_1_1_1");
					put(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_0(), "rule__XAnnotationElementValue__ElementsAssignment_0_1_0");
					put(grammarAccess.getXAnnotationElementValueAccess().getElementsAssignment_0_1_1_1(), "rule__XAnnotationElementValue__ElementsAssignment_0_1_1_1");
					put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_0_1(), "rule__XAssignment__FeatureAssignment_0_1");
					put(grammarAccess.getXAssignmentAccess().getValueAssignment_0_3(), "rule__XAssignment__ValueAssignment_0_3");
					put(grammarAccess.getXAssignmentAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XAssignment__FeatureAssignment_1_1_0_0_1");
					put(grammarAccess.getXAssignmentAccess().getRightOperandAssignment_1_1_1(), "rule__XAssignment__RightOperandAssignment_1_1_1");
					put(grammarAccess.getXOrExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOrExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXOrExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOrExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXAndExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAndExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXAndExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAndExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXEqualityExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XEqualityExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXEqualityExpressionAccess().getRightOperandAssignment_1_1(), "rule__XEqualityExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXRelationalExpressionAccess().getTypeAssignment_1_0_1(), "rule__XRelationalExpression__TypeAssignment_1_0_1");
					put(grammarAccess.getXRelationalExpressionAccess().getFeatureAssignment_1_1_0_0_1(), "rule__XRelationalExpression__FeatureAssignment_1_1_0_0_1");
					put(grammarAccess.getXRelationalExpressionAccess().getRightOperandAssignment_1_1_1(), "rule__XRelationalExpression__RightOperandAssignment_1_1_1");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XOtherOperatorExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXOtherOperatorExpressionAccess().getRightOperandAssignment_1_1(), "rule__XOtherOperatorExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXAdditiveExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XAdditiveExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXAdditiveExpressionAccess().getRightOperandAssignment_1_1(), "rule__XAdditiveExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getFeatureAssignment_1_0_0_1(), "rule__XMultiplicativeExpression__FeatureAssignment_1_0_0_1");
					put(grammarAccess.getXMultiplicativeExpressionAccess().getRightOperandAssignment_1_1(), "rule__XMultiplicativeExpression__RightOperandAssignment_1_1");
					put(grammarAccess.getXUnaryOperationAccess().getFeatureAssignment_0_1(), "rule__XUnaryOperation__FeatureAssignment_0_1");
					put(grammarAccess.getXUnaryOperationAccess().getOperandAssignment_0_2(), "rule__XUnaryOperation__OperandAssignment_0_2");
					put(grammarAccess.getXCastedExpressionAccess().getTypeAssignment_1_1(), "rule__XCastedExpression__TypeAssignment_1_1");
					put(grammarAccess.getXPostfixOperationAccess().getFeatureAssignment_1_0_1(), "rule__XPostfixOperation__FeatureAssignment_1_0_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_0_0_0_1_1(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_0_0_0_1_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_0_0_0_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_0_0_0_2");
					put(grammarAccess.getXMemberFeatureCallAccess().getValueAssignment_1_0_1(), "rule__XMemberFeatureCall__ValueAssignment_1_0_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getNullSafeAssignment_1_1_0_0_1_1(), "rule__XMemberFeatureCall__NullSafeAssignment_1_1_0_0_1_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitStaticAssignment_1_1_0_0_1_2(), "rule__XMemberFeatureCall__ExplicitStaticAssignment_1_1_0_0_1_2");
					put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getTypeArgumentsAssignment_1_1_1_2_1(), "rule__XMemberFeatureCall__TypeArgumentsAssignment_1_1_1_2_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getFeatureAssignment_1_1_2(), "rule__XMemberFeatureCall__FeatureAssignment_1_1_2");
					put(grammarAccess.getXMemberFeatureCallAccess().getExplicitOperationCallAssignment_1_1_3_0(), "rule__XMemberFeatureCall__ExplicitOperationCallAssignment_1_1_3_0");
					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_0");
					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_0(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_0");
					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_3_1_1_1_1(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_3_1_1_1_1");
					put(grammarAccess.getXMemberFeatureCallAccess().getMemberCallArgumentsAssignment_1_1_4(), "rule__XMemberFeatureCall__MemberCallArgumentsAssignment_1_1_4");
					put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_0(), "rule__XSetLiteral__ElementsAssignment_3_0");
					put(grammarAccess.getXSetLiteralAccess().getElementsAssignment_3_1_1(), "rule__XSetLiteral__ElementsAssignment_3_1_1");
					put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_0(), "rule__XListLiteral__ElementsAssignment_3_0");
					put(grammarAccess.getXListLiteralAccess().getElementsAssignment_3_1_1(), "rule__XListLiteral__ElementsAssignment_3_1_1");
					put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_0(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_0");
					put(grammarAccess.getXClosureAccess().getDeclaredFormalParametersAssignment_1_0_0_1_1(), "rule__XClosure__DeclaredFormalParametersAssignment_1_0_0_1_1");
					put(grammarAccess.getXClosureAccess().getExplicitSyntaxAssignment_1_0_1(), "rule__XClosure__ExplicitSyntaxAssignment_1_0_1");
					put(grammarAccess.getXClosureAccess().getExpressionAssignment_2(), "rule__XClosure__ExpressionAssignment_2");
					put(grammarAccess.getXExpressionInClosureAccess().getExpressionsAssignment_1_0(), "rule__XExpressionInClosure__ExpressionsAssignment_1_0");
					put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_0(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_0");
					put(grammarAccess.getXShortClosureAccess().getDeclaredFormalParametersAssignment_0_0_1_1_1(), "rule__XShortClosure__DeclaredFormalParametersAssignment_0_0_1_1_1");
					put(grammarAccess.getXShortClosureAccess().getExplicitSyntaxAssignment_0_0_2(), "rule__XShortClosure__ExplicitSyntaxAssignment_0_0_2");
					put(grammarAccess.getXShortClosureAccess().getExpressionAssignment_1(), "rule__XShortClosure__ExpressionAssignment_1");
					put(grammarAccess.getXIfExpressionAccess().getIfAssignment_3(), "rule__XIfExpression__IfAssignment_3");
					put(grammarAccess.getXIfExpressionAccess().getThenAssignment_5(), "rule__XIfExpression__ThenAssignment_5");
					put(grammarAccess.getXIfExpressionAccess().getElseAssignment_6_1(), "rule__XIfExpression__ElseAssignment_6_1");
					put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_0_0_0_1(), "rule__XSwitchExpression__DeclaredParamAssignment_2_0_0_0_1");
					put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_0_1(), "rule__XSwitchExpression__SwitchAssignment_2_0_1");
					put(grammarAccess.getXSwitchExpressionAccess().getDeclaredParamAssignment_2_1_0_0_0(), "rule__XSwitchExpression__DeclaredParamAssignment_2_1_0_0_0");
					put(grammarAccess.getXSwitchExpressionAccess().getSwitchAssignment_2_1_1(), "rule__XSwitchExpression__SwitchAssignment_2_1_1");
					put(grammarAccess.getXSwitchExpressionAccess().getCasesAssignment_4(), "rule__XSwitchExpression__CasesAssignment_4");
					put(grammarAccess.getXSwitchExpressionAccess().getDefaultAssignment_5_2(), "rule__XSwitchExpression__DefaultAssignment_5_2");
					put(grammarAccess.getXCasePartAccess().getTypeGuardAssignment_1(), "rule__XCasePart__TypeGuardAssignment_1");
					put(grammarAccess.getXCasePartAccess().getCaseAssignment_2_1(), "rule__XCasePart__CaseAssignment_2_1");
					put(grammarAccess.getXCasePartAccess().getThenAssignment_3_0_1(), "rule__XCasePart__ThenAssignment_3_0_1");
					put(grammarAccess.getXCasePartAccess().getFallThroughAssignment_3_1(), "rule__XCasePart__FallThroughAssignment_3_1");
					put(grammarAccess.getXForLoopExpressionAccess().getDeclaredParamAssignment_0_0_3(), "rule__XForLoopExpression__DeclaredParamAssignment_0_0_3");
					put(grammarAccess.getXForLoopExpressionAccess().getForExpressionAssignment_1(), "rule__XForLoopExpression__ForExpressionAssignment_1");
					put(grammarAccess.getXForLoopExpressionAccess().getEachExpressionAssignment_3(), "rule__XForLoopExpression__EachExpressionAssignment_3");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_0(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getInitExpressionsAssignment_3_1_1(), "rule__XBasicForLoopExpression__InitExpressionsAssignment_3_1_1");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getExpressionAssignment_5(), "rule__XBasicForLoopExpression__ExpressionAssignment_5");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_0(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_0");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getUpdateExpressionsAssignment_7_1_1(), "rule__XBasicForLoopExpression__UpdateExpressionsAssignment_7_1_1");
					put(grammarAccess.getXBasicForLoopExpressionAccess().getEachExpressionAssignment_9(), "rule__XBasicForLoopExpression__EachExpressionAssignment_9");
					put(grammarAccess.getXWhileExpressionAccess().getPredicateAssignment_3(), "rule__XWhileExpression__PredicateAssignment_3");
					put(grammarAccess.getXWhileExpressionAccess().getBodyAssignment_5(), "rule__XWhileExpression__BodyAssignment_5");
					put(grammarAccess.getXDoWhileExpressionAccess().getBodyAssignment_2(), "rule__XDoWhileExpression__BodyAssignment_2");
					put(grammarAccess.getXDoWhileExpressionAccess().getPredicateAssignment_5(), "rule__XDoWhileExpression__PredicateAssignment_5");
					put(grammarAccess.getXBlockExpressionAccess().getExpressionsAssignment_2_0(), "rule__XBlockExpression__ExpressionsAssignment_2_0");
					put(grammarAccess.getXVariableDeclarationAccess().getWriteableAssignment_1_0(), "rule__XVariableDeclaration__WriteableAssignment_1_0");
					put(grammarAccess.getXVariableDeclarationAccess().getTypeAssignment_2_0_0_0(), "rule__XVariableDeclaration__TypeAssignment_2_0_0_0");
					put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_0_0_1(), "rule__XVariableDeclaration__NameAssignment_2_0_0_1");
					put(grammarAccess.getXVariableDeclarationAccess().getNameAssignment_2_1(), "rule__XVariableDeclaration__NameAssignment_2_1");
					put(grammarAccess.getXVariableDeclarationAccess().getRightAssignment_3_1(), "rule__XVariableDeclaration__RightAssignment_3_1");
					put(grammarAccess.getJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__JvmFormalParameter__ParameterTypeAssignment_0");
					put(grammarAccess.getJvmFormalParameterAccess().getNameAssignment_1(), "rule__JvmFormalParameter__NameAssignment_1");
					put(grammarAccess.getFullJvmFormalParameterAccess().getParameterTypeAssignment_0(), "rule__FullJvmFormalParameter__ParameterTypeAssignment_0");
					put(grammarAccess.getFullJvmFormalParameterAccess().getNameAssignment_1(), "rule__FullJvmFormalParameter__NameAssignment_1");
					put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_1");
					put(grammarAccess.getXFeatureCallAccess().getTypeArgumentsAssignment_1_2_1(), "rule__XFeatureCall__TypeArgumentsAssignment_1_2_1");
					put(grammarAccess.getXFeatureCallAccess().getFeatureAssignment_2(), "rule__XFeatureCall__FeatureAssignment_2");
					put(grammarAccess.getXFeatureCallAccess().getExplicitOperationCallAssignment_3_0(), "rule__XFeatureCall__ExplicitOperationCallAssignment_3_0");
					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_0");
					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_0(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_0");
					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_3_1_1_1_1(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_3_1_1_1_1");
					put(grammarAccess.getXFeatureCallAccess().getFeatureCallArgumentsAssignment_4(), "rule__XFeatureCall__FeatureCallArgumentsAssignment_4");
					put(grammarAccess.getXConstructorCallAccess().getConstructorAssignment_2(), "rule__XConstructorCall__ConstructorAssignment_2");
					put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_1");
					put(grammarAccess.getXConstructorCallAccess().getTypeArgumentsAssignment_3_2_1(), "rule__XConstructorCall__TypeArgumentsAssignment_3_2_1");
					put(grammarAccess.getXConstructorCallAccess().getExplicitConstructorCallAssignment_4_0(), "rule__XConstructorCall__ExplicitConstructorCallAssignment_4_0");
					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_0");
					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_0(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_0");
					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_4_1_1_1_1(), "rule__XConstructorCall__ArgumentsAssignment_4_1_1_1_1");
					put(grammarAccess.getXConstructorCallAccess().getArgumentsAssignment_5(), "rule__XConstructorCall__ArgumentsAssignment_5");
					put(grammarAccess.getXBooleanLiteralAccess().getIsTrueAssignment_1_1(), "rule__XBooleanLiteral__IsTrueAssignment_1_1");
					put(grammarAccess.getXNumberLiteralAccess().getValueAssignment_1(), "rule__XNumberLiteral__ValueAssignment_1");
					put(grammarAccess.getXStringLiteralAccess().getValueAssignment_1(), "rule__XStringLiteral__ValueAssignment_1");
					put(grammarAccess.getXTypeLiteralAccess().getTypeAssignment_3(), "rule__XTypeLiteral__TypeAssignment_3");
					put(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsAssignment_4(), "rule__XTypeLiteral__ArrayDimensionsAssignment_4");
					put(grammarAccess.getXThrowExpressionAccess().getExpressionAssignment_2(), "rule__XThrowExpression__ExpressionAssignment_2");
					put(grammarAccess.getXReturnExpressionAccess().getExpressionAssignment_2(), "rule__XReturnExpression__ExpressionAssignment_2");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getExpressionAssignment_2(), "rule__XTryCatchFinallyExpression__ExpressionAssignment_2");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getCatchClausesAssignment_3_0_0(), "rule__XTryCatchFinallyExpression__CatchClausesAssignment_3_0_0");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_0_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_0_1_1");
					put(grammarAccess.getXTryCatchFinallyExpressionAccess().getFinallyExpressionAssignment_3_1_1(), "rule__XTryCatchFinallyExpression__FinallyExpressionAssignment_3_1_1");
					put(grammarAccess.getXSynchronizedExpressionAccess().getParamAssignment_1(), "rule__XSynchronizedExpression__ParamAssignment_1");
					put(grammarAccess.getXSynchronizedExpressionAccess().getExpressionAssignment_3(), "rule__XSynchronizedExpression__ExpressionAssignment_3");
					put(grammarAccess.getXCatchClauseAccess().getDeclaredParamAssignment_2(), "rule__XCatchClause__DeclaredParamAssignment_2");
					put(grammarAccess.getXCatchClauseAccess().getExpressionAssignment_4(), "rule__XCatchClause__ExpressionAssignment_4");
					put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_0(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_0");
					put(grammarAccess.getXFunctionTypeRefAccess().getParamTypesAssignment_0_1_1_1(), "rule__XFunctionTypeRef__ParamTypesAssignment_0_1_1_1");
					put(grammarAccess.getXFunctionTypeRefAccess().getReturnTypeAssignment_2(), "rule__XFunctionTypeRef__ReturnTypeAssignment_2");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_0(), "rule__JvmParameterizedTypeReference__TypeAssignment_0");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_1");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_2_1");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getTypeAssignment_1_4_1(), "rule__JvmParameterizedTypeReference__TypeAssignment_1_4_1");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_1");
					put(grammarAccess.getJvmParameterizedTypeReferenceAccess().getArgumentsAssignment_1_4_2_2_1(), "rule__JvmParameterizedTypeReference__ArgumentsAssignment_1_4_2_2_1");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_0");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_0_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_0_1");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_0(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_0");
					put(grammarAccess.getJvmWildcardTypeReferenceAccess().getConstraintsAssignment_2_1_1(), "rule__JvmWildcardTypeReference__ConstraintsAssignment_2_1_1");
					put(grammarAccess.getJvmUpperBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBound__TypeReferenceAssignment_1");
					put(grammarAccess.getJvmUpperBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmUpperBoundAnded__TypeReferenceAssignment_1");
					put(grammarAccess.getJvmLowerBoundAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBound__TypeReferenceAssignment_1");
					put(grammarAccess.getJvmLowerBoundAndedAccess().getTypeReferenceAssignment_1(), "rule__JvmLowerBoundAnded__TypeReferenceAssignment_1");
					put(grammarAccess.getJvmTypeParameterAccess().getNameAssignment_0(), "rule__JvmTypeParameter__NameAssignment_0");
					put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_0(), "rule__JvmTypeParameter__ConstraintsAssignment_1_0");
					put(grammarAccess.getJvmTypeParameterAccess().getConstraintsAssignment_1_1(), "rule__JvmTypeParameter__ConstraintsAssignment_1_1");
					put(grammarAccess.getXImportSectionAccess().getImportDeclarationsAssignment(), "rule__XImportSection__ImportDeclarationsAssignment");
					put(grammarAccess.getDataInterchangeFileXMLAccess().getUnorderedGroup_3(), "rule__DataInterchangeFileXML__UnorderedGroup_3");
					put(grammarAccess.getDataInterchangeFileCSVAccess().getUnorderedGroup_3(), "rule__DataInterchangeFileCSV__UnorderedGroup_3");
					put(grammarAccess.getDataInterchangeFileEDIAccess().getUnorderedGroup_3(), "rule__DataInterchangeFileEDI__UnorderedGroup_3");
					put(grammarAccess.getDataInterchangeFileFixedAccess().getUnorderedGroup_3(), "rule__DataInterchangeFileFixed__UnorderedGroup_3");
					put(grammarAccess.getDataInterchangeLookupAccess().getUnorderedGroup_9(), "rule__DataInterchangeLookup__UnorderedGroup_9");
					put(grammarAccess.getDataInterchangeFixedColumnMappingAccess().getUnorderedGroup_5(), "rule__DataInterchangeFixedColumnMapping__UnorderedGroup_5");
				}
			};
		}
		return nameMappings.get(element);
	}
			
	@Override
	protected String[] getInitialHiddenTokens() {
		return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" };
	}

	public DataDSLGrammarAccess getGrammarAccess() {
		return this.grammarAccess;
	}

	public void setGrammarAccess(DataDSLGrammarAccess grammarAccess) {
		this.grammarAccess = grammarAccess;
	}
}
