diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/.classpath b/src/languages/de.evoal.languages.model.generator.dsl.ide/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..9891e069465aca8402f51571c600c13c1ba1aff0 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src/"/> + <classpathentry kind="src" path="src-gen/"/> + <classpathentry kind="src" path="xtend-gen/"/> + <classpathentry kind="output" path="target/classes"/> +</classpath> diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/.project b/src/languages/de.evoal.languages.model.generator.dsl.ide/.project new file mode 100644 index 0000000000000000000000000000000000000000..a5a0877297cd99e1b8941fc434c660bc49908c4b --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/.project @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>de.evoal.languages.model.generator.dsl.ide</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/META-INF/MANIFEST.MF b/src/languages/de.evoal.languages.model.generator.dsl.ide/META-INF/MANIFEST.MF new file mode 100644 index 0000000000000000000000000000000000000000..52b7f228571d941954e5ba064cc1dd69802cc165 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: de.evoal.languages.model.generator.dsl.ide +Bundle-ManifestVersion: 2 +Bundle-Name: de.evoal.languages.model.generator.dsl.ide +Bundle-Vendor: EvoAl Project +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: de.evoal.languages.model.generator.dsl.ide; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: de.evoal.languages.model.generator.dsl, + org.eclipse.xtext.ide, + org.eclipse.xtext.xbase.ide, + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", + de.evoal.languages.model.instance.dsl.ide;bundle-version="1.0.0" +Bundle-RequiredExecutionEnvironment: JavaSE-11 +Export-Package: de.evoal.languages.model.generator.dsl.ide.contentassist.antlr.internal, + de.evoal.languages.model.generator.dsl.ide.contentassist.antlr diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/build.properties b/src/languages/de.evoal.languages.model.generator.dsl.ide/build.properties new file mode 100644 index 0000000000000000000000000000000000000000..5c6bbf99f082bb19d8aa4ec89f7902c3e8936171 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/build.properties @@ -0,0 +1,6 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/ +bin.excludes = **/*.xtend diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/pom.xml b/src/languages/de.evoal.languages.model.generator.dsl.ide/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..3f50b5f85f71ccfcaf42ac2ba0eab96de27aeca5 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/pom.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>de.evoal.languages</groupId> + <artifactId>de.evoal.languages.releng.parent</artifactId> + <version>1.0.0-SNAPSHOT</version> + <relativePath>../de.evoal.languages.releng.parent</relativePath> + </parent> + + <artifactId>de.evoal.languages.model.generator.dsl.ide</artifactId> + <packaging>eclipse-plugin</packaging> +</project> diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup new file mode 100644 index 0000000000000000000000000000000000000000..4711c7b8d1fcba595174eb85c7de5c8b9b3fce7b --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/META-INF/services/org.eclipse.xtext.ISetup @@ -0,0 +1 @@ +de.evoal.languages.model.generator.dsl.ide.GeneratorDSLIdeSetup diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/AbstractGeneratorDSLIdeModule.java b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/AbstractGeneratorDSLIdeModule.java new file mode 100644 index 0000000000000000000000000000000000000000..4f2932498ffc510fddeba1b193c7c8a67b9a28c2 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/AbstractGeneratorDSLIdeModule.java @@ -0,0 +1,60 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ide; + +import com.google.inject.Binder; +import com.google.inject.name.Names; +import de.evoal.languages.model.generator.dsl.ide.contentassist.antlr.GeneratorDSLParser; +import de.evoal.languages.model.generator.dsl.ide.contentassist.antlr.internal.InternalGeneratorDSLLexer; +import org.eclipse.xtext.ide.DefaultIdeModule; +import org.eclipse.xtext.ide.LexerIdeBindings; +import org.eclipse.xtext.ide.editor.contentassist.FQNPrefixMatcher; +import org.eclipse.xtext.ide.editor.contentassist.IPrefixMatcher; +import org.eclipse.xtext.ide.editor.contentassist.IProposalConflictHelper; +import org.eclipse.xtext.ide.editor.contentassist.antlr.AntlrProposalConflictHelper; +import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; +import org.eclipse.xtext.ide.refactoring.IRenameStrategy2; +import org.eclipse.xtext.ide.server.rename.IRenameService2; +import org.eclipse.xtext.ide.server.rename.RenameService2; + +/** + * Manual modifications go to {@link GeneratorDSLIdeModule}. + */ +@SuppressWarnings("all") +public abstract class AbstractGeneratorDSLIdeModule extends DefaultIdeModule { + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureContentAssistLexer(Binder binder) { + binder.bind(Lexer.class) + .annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST)) + .to(InternalGeneratorDSLLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IContentAssistParser> bindIContentAssistParser() { + return GeneratorDSLParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() { + return AntlrProposalConflictHelper.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class<? extends IPrefixMatcher> bindIPrefixMatcher() { + return FQNPrefixMatcher.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IRenameService2> bindIRenameService2() { + return RenameService2.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IRenameStrategy2> bindIRenameStrategy2() { + return IRenameStrategy2.DefaultImpl.class; + } + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/GeneratorDSLParser.java b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/GeneratorDSLParser.java new file mode 100644 index 0000000000000000000000000000000000000000..961a718d7f08c1676780f788a8e36384fd341b1e --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/GeneratorDSLParser.java @@ -0,0 +1,206 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ide.contentassist.antlr; + +import com.google.common.collect.ImmutableMap; +import com.google.inject.Inject; +import com.google.inject.Singleton; +import de.evoal.languages.model.generator.dsl.ide.contentassist.antlr.internal.InternalGeneratorDSLParser; +import de.evoal.languages.model.generator.dsl.services.GeneratorDSLGrammarAccess; +import java.util.Map; +import org.eclipse.xtext.AbstractElement; +import org.eclipse.xtext.ide.editor.contentassist.antlr.AbstractContentAssistParser; + +public class GeneratorDSLParser extends AbstractContentAssistParser { + + @Singleton + public static final class NameMappings { + + private final Map<AbstractElement, String> mappings; + + @Inject + public NameMappings(GeneratorDSLGrammarAccess grammarAccess) { + ImmutableMap.Builder<AbstractElement, String> builder = ImmutableMap.builder(); + init(builder, grammarAccess); + this.mappings = builder.build(); + } + + public String getRuleName(AbstractElement element) { + return mappings.get(element); + } + + private static void init(ImmutableMap.Builder<AbstractElement, String> builder, GeneratorDSLGrammarAccess grammarAccess) { + builder.put(grammarAccess.getStatementRuleAccess().getAlternatives(), "rule__StatementRule__Alternatives"); + builder.put(grammarAccess.getRangeRuleAccess().getAlternatives(), "rule__RangeRule__Alternatives"); + builder.put(grammarAccess.getGeneratorReferenceRuleAccess().getAlternatives(), "rule__GeneratorReferenceRule__Alternatives"); + builder.put(grammarAccess.getFunctionReferenceRuleAccess().getAlternatives(), "rule__FunctionReferenceRule__Alternatives"); + builder.put(grammarAccess.getFunctionDefReferenceRuleAccess().getAlternatives(), "rule__FunctionDefReferenceRule__Alternatives"); + builder.put(grammarAccess.getNameOrMiscRuleAccess().getAlternatives(), "rule__NameOrMiscRule__Alternatives"); + builder.put(grammarAccess.getValueRuleAccess().getAlternatives(), "rule__ValueRule__Alternatives"); + builder.put(grammarAccess.getLiteralOrReferenceRuleAccess().getAlternatives(), "rule__LiteralOrReferenceRule__Alternatives"); + builder.put(grammarAccess.getLiteralRuleAccess().getAlternatives(), "rule__LiteralRule__Alternatives"); + builder.put(grammarAccess.getNumberLiteralRuleAccess().getAlternatives(), "rule__NumberLiteralRule__Alternatives"); + builder.put(grammarAccess.getBooleanLiteralRuleAccess().getAlternatives_1(), "rule__BooleanLiteralRule__Alternatives_1"); + builder.put(grammarAccess.getStringOrIdAccess().getAlternatives(), "rule__StringOrId__Alternatives"); + builder.put(grammarAccess.getComparisonOperatorRuleAccess().getAlternatives(), "rule__ComparisonOperatorRule__Alternatives"); + builder.put(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAlternatives(), "rule__AddOrSubtractOperatorRule__Alternatives"); + builder.put(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getAlternatives(), "rule__MultiplyDivideModuloOperatorRule__Alternatives"); + builder.put(grammarAccess.getConfigurationRuleAccess().getGroup(), "rule__ConfigurationRule__Group__0"); + builder.put(grammarAccess.getUseRuleAccess().getGroup(), "rule__UseRule__Group__0"); + builder.put(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getGroup(), "rule__ParametrizedFunctionDefinitionRule__Group__0"); + builder.put(grammarAccess.getGeneratorDefinitionRuleAccess().getGroup(), "rule__GeneratorDefinitionRule__Group__0"); + builder.put(grammarAccess.getForStatementRuleAccess().getGroup(), "rule__ForStatementRule__Group__0"); + builder.put(grammarAccess.getCounterRangeRuleAccess().getGroup(), "rule__CounterRangeRule__Group__0"); + builder.put(grammarAccess.getFunctionsRuleAccess().getGroup(), "rule__FunctionsRule__Group__0"); + builder.put(grammarAccess.getFunctionReferencesRuleAccess().getGroup(), "rule__FunctionReferencesRule__Group__0"); + builder.put(grammarAccess.getFunctionReferencesRuleAccess().getGroup_2(), "rule__FunctionReferencesRule__Group_2__0"); + builder.put(grammarAccess.getGeneratorsRuleAccess().getGroup(), "rule__GeneratorsRule__Group__0"); + builder.put(grammarAccess.getGeneratorReferencesRuleAccess().getGroup(), "rule__GeneratorReferencesRule__Group__0"); + builder.put(grammarAccess.getGeneratorReferencesRuleAccess().getGroup_2(), "rule__GeneratorReferencesRule__Group_2__0"); + builder.put(grammarAccess.getApplyStatementRuleAccess().getGroup(), "rule__ApplyStatementRule__Group__0"); + builder.put(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getGroup(), "rule__GeneratorDefinitionReferenceRule__Group__0"); + builder.put(grammarAccess.getLoopVariableReferenceAccess().getGroup(), "rule__LoopVariableReference__Group__0"); + builder.put(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getGroup(), "rule__FunctionDefinitionReferenceRule__Group__0"); + builder.put(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getGroup(), "rule__ParametrizedFunctionDefinitionReferenceRule__Group__0"); + builder.put(grammarAccess.getInstanceRuleAccess().getGroup(), "rule__InstanceRule__Group__0"); + builder.put(grammarAccess.getInstanceRuleAccess().getGroup_1(), "rule__InstanceRule__Group_1__0"); + builder.put(grammarAccess.getAttributeRuleAccess().getGroup(), "rule__AttributeRule__Group__0"); + builder.put(grammarAccess.getArrayRuleAccess().getGroup(), "rule__ArrayRule__Group__0"); + builder.put(grammarAccess.getArrayRuleAccess().getGroup_2(), "rule__ArrayRule__Group_2__0"); + builder.put(grammarAccess.getArrayRuleAccess().getGroup_2_1(), "rule__ArrayRule__Group_2_1__0"); + builder.put(grammarAccess.getDataReferenceRuleAccess().getGroup(), "rule__DataReferenceRule__Group__0"); + builder.put(grammarAccess.getOrExpressionRuleAccess().getGroup(), "rule__OrExpressionRule__Group__0"); + builder.put(grammarAccess.getOrExpressionRuleAccess().getGroup_1(), "rule__OrExpressionRule__Group_1__0"); + builder.put(grammarAccess.getXorExpressionRuleAccess().getGroup(), "rule__XorExpressionRule__Group__0"); + builder.put(grammarAccess.getXorExpressionRuleAccess().getGroup_1(), "rule__XorExpressionRule__Group_1__0"); + builder.put(grammarAccess.getAndExpressionRuleAccess().getGroup(), "rule__AndExpressionRule__Group__0"); + builder.put(grammarAccess.getAndExpressionRuleAccess().getGroup_1(), "rule__AndExpressionRule__Group_1__0"); + builder.put(grammarAccess.getNotExpressionRuleAccess().getGroup(), "rule__NotExpressionRule__Group__0"); + builder.put(grammarAccess.getComparisonExpressionRuleAccess().getGroup(), "rule__ComparisonExpressionRule__Group__0"); + builder.put(grammarAccess.getPartialComparisonExpressionRuleAccess().getGroup(), "rule__PartialComparisonExpressionRule__Group__0"); + builder.put(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup(), "rule__AddOrSubtractExpressionRule__Group__0"); + builder.put(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup_1(), "rule__AddOrSubtractExpressionRule__Group_1__0"); + builder.put(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup(), "rule__MultiplyDivideModuloExpressionRule__Group__0"); + builder.put(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup_1(), "rule__MultiplyDivideModuloExpressionRule__Group_1__0"); + builder.put(grammarAccess.getPowerOfExpressionRuleAccess().getGroup(), "rule__PowerOfExpressionRule__Group__0"); + builder.put(grammarAccess.getPowerOfExpressionRuleAccess().getGroup_1(), "rule__PowerOfExpressionRule__Group_1__0"); + builder.put(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getGroup(), "rule__UnaryAddOrSubtractExpressionRule__Group__0"); + builder.put(grammarAccess.getParanthesesRuleAccess().getGroup(), "rule__ParanthesesRule__Group__0"); + builder.put(grammarAccess.getCallRuleAccess().getGroup(), "rule__CallRule__Group__0"); + builder.put(grammarAccess.getCallRuleAccess().getGroup_2(), "rule__CallRule__Group_2__0"); + builder.put(grammarAccess.getCallRuleAccess().getGroup_2_1(), "rule__CallRule__Group_2_1__0"); + builder.put(grammarAccess.getFunctionNameRuleAccess().getGroup(), "rule__FunctionNameRule__Group__0"); + builder.put(grammarAccess.getValueReferenceRuleAccess().getGroup(), "rule__ValueReferenceRule__Group__0"); + builder.put(grammarAccess.getBooleanLiteralRuleAccess().getGroup(), "rule__BooleanLiteralRule__Group__0"); + builder.put(grammarAccess.getDOUBLEAccess().getGroup(), "rule__DOUBLE__Group__0"); + builder.put(grammarAccess.getConfigurationRuleAccess().getUsesAssignment_0(), "rule__ConfigurationRule__UsesAssignment_0"); + builder.put(grammarAccess.getConfigurationRuleAccess().getGeneratorsAssignment_1(), "rule__ConfigurationRule__GeneratorsAssignment_1"); + builder.put(grammarAccess.getConfigurationRuleAccess().getFunctionsAssignment_2(), "rule__ConfigurationRule__FunctionsAssignment_2"); + builder.put(grammarAccess.getConfigurationRuleAccess().getStatementsAssignment_3(), "rule__ConfigurationRule__StatementsAssignment_3"); + builder.put(grammarAccess.getUseRuleAccess().getImportURIAssignment_1(), "rule__UseRule__ImportURIAssignment_1"); + builder.put(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameAssignment_1(), "rule__ParametrizedFunctionDefinitionRule__NameAssignment_1"); + builder.put(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionAssignment_3(), "rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3"); + builder.put(grammarAccess.getGeneratorDefinitionRuleAccess().getNameAssignment_1(), "rule__GeneratorDefinitionRule__NameAssignment_1"); + builder.put(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionAssignment_3(), "rule__GeneratorDefinitionRule__DefinitionAssignment_3"); + builder.put(grammarAccess.getForStatementRuleAccess().getNameAssignment_1(), "rule__ForStatementRule__NameAssignment_1"); + builder.put(grammarAccess.getForStatementRuleAccess().getRangeAssignment_3(), "rule__ForStatementRule__RangeAssignment_3"); + builder.put(grammarAccess.getForStatementRuleAccess().getStatementsAssignment_5(), "rule__ForStatementRule__StatementsAssignment_5"); + builder.put(grammarAccess.getCounterRangeRuleAccess().getStartAssignment_1(), "rule__CounterRangeRule__StartAssignment_1"); + builder.put(grammarAccess.getCounterRangeRuleAccess().getEndAssignment_3(), "rule__CounterRangeRule__EndAssignment_3"); + builder.put(grammarAccess.getFunctionsRuleAccess().getFunctionReferencesAssignment_2(), "rule__FunctionsRule__FunctionReferencesAssignment_2"); + builder.put(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsAssignment_1(), "rule__FunctionReferencesRule__FunctionsAssignment_1"); + builder.put(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsAssignment_2_1(), "rule__FunctionReferencesRule__FunctionsAssignment_2_1"); + builder.put(grammarAccess.getGeneratorsRuleAccess().getGeneratorReferencesAssignment_2(), "rule__GeneratorsRule__GeneratorReferencesAssignment_2"); + builder.put(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsAssignment_1(), "rule__GeneratorReferencesRule__GeneratorsAssignment_1"); + builder.put(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsAssignment_2_1(), "rule__GeneratorReferencesRule__GeneratorsAssignment_2_1"); + builder.put(grammarAccess.getApplyStatementRuleAccess().getFileAssignment_1(), "rule__ApplyStatementRule__FileAssignment_1"); + builder.put(grammarAccess.getApplyStatementRuleAccess().getCountAssignment_3(), "rule__ApplyStatementRule__CountAssignment_3"); + builder.put(grammarAccess.getApplyStatementRuleAccess().getFunctionAssignment_7(), "rule__ApplyStatementRule__FunctionAssignment_7"); + builder.put(grammarAccess.getApplyStatementRuleAccess().getGeneratorAssignment_9(), "rule__ApplyStatementRule__GeneratorAssignment_9"); + builder.put(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionAssignment_1(), "rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1"); + builder.put(grammarAccess.getLoopVariableReferenceAccess().getDefinitionAssignment_1(), "rule__LoopVariableReference__DefinitionAssignment_1"); + builder.put(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionAssignment_2(), "rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2"); + builder.put(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionAssignment_2(), "rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2"); + builder.put(grammarAccess.getInstanceRuleAccess().getNameAssignment_0(), "rule__InstanceRule__NameAssignment_0"); + builder.put(grammarAccess.getInstanceRuleAccess().getAttributesAssignment_1_1(), "rule__InstanceRule__AttributesAssignment_1_1"); + builder.put(grammarAccess.getAttributeRuleAccess().getNameAssignment_0(), "rule__AttributeRule__NameAssignment_0"); + builder.put(grammarAccess.getAttributeRuleAccess().getValueAssignment_2(), "rule__AttributeRule__ValueAssignment_2"); + builder.put(grammarAccess.getNameRuleAccess().getNameAssignment(), "rule__NameRule__NameAssignment"); + builder.put(grammarAccess.getMiscRuleAccess().getNameAssignment(), "rule__MiscRule__NameAssignment"); + builder.put(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_0(), "rule__ArrayRule__ValuesAssignment_2_0"); + builder.put(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_1_1(), "rule__ArrayRule__ValuesAssignment_2_1_1"); + builder.put(grammarAccess.getLiteralValueRuleAccess().getLiteralAssignment(), "rule__LiteralValueRule__LiteralAssignment"); + builder.put(grammarAccess.getDataReferenceRuleAccess().getDefinitionAssignment_2(), "rule__DataReferenceRule__DefinitionAssignment_2"); + builder.put(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_0(), "rule__OrExpressionRule__SubExpressionsAssignment_0"); + builder.put(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_1_1(), "rule__OrExpressionRule__SubExpressionsAssignment_1_1"); + builder.put(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_0(), "rule__XorExpressionRule__SubExpressionsAssignment_0"); + builder.put(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_1_1(), "rule__XorExpressionRule__SubExpressionsAssignment_1_1"); + builder.put(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_0(), "rule__AndExpressionRule__SubExpressionsAssignment_0"); + builder.put(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_1_1(), "rule__AndExpressionRule__SubExpressionsAssignment_1_1"); + builder.put(grammarAccess.getNotExpressionRuleAccess().getNegatedAssignment_0(), "rule__NotExpressionRule__NegatedAssignment_0"); + builder.put(grammarAccess.getNotExpressionRuleAccess().getOperandAssignment_1(), "rule__NotExpressionRule__OperandAssignment_1"); + builder.put(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAssignment_0(), "rule__ComparisonExpressionRule__LeftOperandAssignment_0"); + builder.put(grammarAccess.getComparisonExpressionRuleAccess().getComparisonAssignment_1(), "rule__ComparisonExpressionRule__ComparisonAssignment_1"); + builder.put(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorAssignment_0(), "rule__PartialComparisonExpressionRule__OperatorAssignment_0"); + builder.put(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAssignment_1(), "rule__PartialComparisonExpressionRule__SubExpressionAssignment_1"); + builder.put(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandAssignment_0(), "rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0"); + builder.put(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_1_0(), "rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0"); + builder.put(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsAssignment_1_1(), "rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1"); + builder.put(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandAssignment_0(), "rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0"); + builder.put(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsAssignment_1_0(), "rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0"); + builder.put(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsAssignment_1_1(), "rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1"); + builder.put(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandAssignment_0(), "rule__PowerOfExpressionRule__LeftOperandAssignment_0"); + builder.put(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandAssignment_1_1(), "rule__PowerOfExpressionRule__RightOperandAssignment_1_1"); + builder.put(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_0(), "rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0"); + builder.put(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionAssignment_1(), "rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1"); + builder.put(grammarAccess.getParanthesesRuleAccess().getSubExpressionAssignment_1(), "rule__ParanthesesRule__SubExpressionAssignment_1"); + builder.put(grammarAccess.getCallRuleAccess().getFunctionAssignment_0(), "rule__CallRule__FunctionAssignment_0"); + builder.put(grammarAccess.getCallRuleAccess().getParametersAssignment_2_0(), "rule__CallRule__ParametersAssignment_2_0"); + builder.put(grammarAccess.getCallRuleAccess().getParametersAssignment_2_1_1(), "rule__CallRule__ParametersAssignment_2_1_1"); + builder.put(grammarAccess.getDoubleLiteralRuleAccess().getValueAssignment(), "rule__DoubleLiteralRule__ValueAssignment"); + builder.put(grammarAccess.getIntegerLiteralRuleAccess().getValueAssignment(), "rule__IntegerLiteralRule__ValueAssignment"); + builder.put(grammarAccess.getStringLiteralRuleAccess().getValueAssignment(), "rule__StringLiteralRule__ValueAssignment"); + builder.put(grammarAccess.getBooleanLiteralRuleAccess().getValueAssignment_1_0(), "rule__BooleanLiteralRule__ValueAssignment_1_0"); + } + } + + @Inject + private NameMappings nameMappings; + + @Inject + private GeneratorDSLGrammarAccess grammarAccess; + + @Override + protected InternalGeneratorDSLParser createParser() { + InternalGeneratorDSLParser result = new InternalGeneratorDSLParser(null); + result.setGrammarAccess(grammarAccess); + return result; + } + + @Override + protected String getRuleName(AbstractElement element) { + return nameMappings.getRuleName(element); + } + + @Override + protected String[] getInitialHiddenTokens() { + return new String[] { "RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT" }; + } + + public GeneratorDSLGrammarAccess getGrammarAccess() { + return this.grammarAccess; + } + + public void setGrammarAccess(GeneratorDSLGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + public NameMappings getNameMappings() { + return nameMappings; + } + + public void setNameMappings(NameMappings nameMappings) { + this.nameMappings = nameMappings; + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/PartialGeneratorDSLContentAssistParser.java b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/PartialGeneratorDSLContentAssistParser.java new file mode 100644 index 0000000000000000000000000000000000000000..aeb2cb5ca4e76a7dbb800dc62e1e445d27a5e3a4 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/PartialGeneratorDSLContentAssistParser.java @@ -0,0 +1,33 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ide.contentassist.antlr; + +import java.util.Collection; +import java.util.Collections; +import org.eclipse.xtext.AbstractRule; +import org.eclipse.xtext.ide.editor.contentassist.antlr.FollowElement; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.util.PolymorphicDispatcher; + +public class PartialGeneratorDSLContentAssistParser extends GeneratorDSLParser { + + private AbstractRule rule; + + @Override + public void initializeFor(AbstractRule rule) { + this.rule = rule; + } + + @Override + protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) { + if (rule == null || rule.eIsProxy()) + return Collections.emptyList(); + String methodName = "entryRule" + rule.getName(); + PolymorphicDispatcher<Collection<FollowElement>> dispatcher = + new PolymorphicDispatcher<Collection<FollowElement>>(methodName, 0, 0, Collections.singletonList(parser)); + dispatcher.invoke(); + return parser.getFollowElements(); + } + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSL.g b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSL.g new file mode 100644 index 0000000000000000000000000000000000000000..8a0ab9fa94a5e2ff54d5afa25e3592d438e391f7 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSL.g @@ -0,0 +1,6664 @@ +/* + * generated by Xtext 2.25.0 + */ +grammar InternalGeneratorDSL; + +options { + superClass=AbstractInternalContentAssistParser; +} + +@lexer::header { +package de.evoal.languages.model.generator.dsl.ide.contentassist.antlr.internal; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; +} + +@parser::header { +package de.evoal.languages.model.generator.dsl.ide.contentassist.antlr.internal; + +import java.io.InputStream; +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA; +import de.evoal.languages.model.generator.dsl.services.GeneratorDSLGrammarAccess; + +} +@parser::members { + private GeneratorDSLGrammarAccess grammarAccess; + + public void setGrammarAccess(GeneratorDSLGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + @Override + protected Grammar getGrammar() { + return grammarAccess.getGrammar(); + } + + @Override + protected String getValueForTokenName(String tokenName) { + return tokenName; + } +} + +// Entry rule entryRuleConfigurationRule +entryRuleConfigurationRule +: +{ before(grammarAccess.getConfigurationRuleRule()); } + ruleConfigurationRule +{ after(grammarAccess.getConfigurationRuleRule()); } + EOF +; + +// Rule ConfigurationRule +ruleConfigurationRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getConfigurationRuleAccess().getGroup()); } + (rule__ConfigurationRule__Group__0) + { after(grammarAccess.getConfigurationRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleUseRule +entryRuleUseRule +: +{ before(grammarAccess.getUseRuleRule()); } + ruleUseRule +{ after(grammarAccess.getUseRuleRule()); } + EOF +; + +// Rule UseRule +ruleUseRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getUseRuleAccess().getGroup()); } + (rule__UseRule__Group__0) + { after(grammarAccess.getUseRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleParametrizedFunctionDefinitionRule +entryRuleParametrizedFunctionDefinitionRule +: +{ before(grammarAccess.getParametrizedFunctionDefinitionRuleRule()); } + ruleParametrizedFunctionDefinitionRule +{ after(grammarAccess.getParametrizedFunctionDefinitionRuleRule()); } + EOF +; + +// Rule ParametrizedFunctionDefinitionRule +ruleParametrizedFunctionDefinitionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getGroup()); } + (rule__ParametrizedFunctionDefinitionRule__Group__0) + { after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleGeneratorDefinitionRule +entryRuleGeneratorDefinitionRule +: +{ before(grammarAccess.getGeneratorDefinitionRuleRule()); } + ruleGeneratorDefinitionRule +{ after(grammarAccess.getGeneratorDefinitionRuleRule()); } + EOF +; + +// Rule GeneratorDefinitionRule +ruleGeneratorDefinitionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getGeneratorDefinitionRuleAccess().getGroup()); } + (rule__GeneratorDefinitionRule__Group__0) + { after(grammarAccess.getGeneratorDefinitionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleStatementRule +entryRuleStatementRule +: +{ before(grammarAccess.getStatementRuleRule()); } + ruleStatementRule +{ after(grammarAccess.getStatementRuleRule()); } + EOF +; + +// Rule StatementRule +ruleStatementRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getStatementRuleAccess().getAlternatives()); } + (rule__StatementRule__Alternatives) + { after(grammarAccess.getStatementRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleForStatementRule +entryRuleForStatementRule +: +{ before(grammarAccess.getForStatementRuleRule()); } + ruleForStatementRule +{ after(grammarAccess.getForStatementRuleRule()); } + EOF +; + +// Rule ForStatementRule +ruleForStatementRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getForStatementRuleAccess().getGroup()); } + (rule__ForStatementRule__Group__0) + { after(grammarAccess.getForStatementRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleRangeRule +entryRuleRangeRule +: +{ before(grammarAccess.getRangeRuleRule()); } + ruleRangeRule +{ after(grammarAccess.getRangeRuleRule()); } + EOF +; + +// Rule RangeRule +ruleRangeRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getRangeRuleAccess().getAlternatives()); } + (rule__RangeRule__Alternatives) + { after(grammarAccess.getRangeRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleCounterRangeRule +entryRuleCounterRangeRule +: +{ before(grammarAccess.getCounterRangeRuleRule()); } + ruleCounterRangeRule +{ after(grammarAccess.getCounterRangeRuleRule()); } + EOF +; + +// Rule CounterRangeRule +ruleCounterRangeRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getCounterRangeRuleAccess().getGroup()); } + (rule__CounterRangeRule__Group__0) + { after(grammarAccess.getCounterRangeRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFunctionsRule +entryRuleFunctionsRule +: +{ before(grammarAccess.getFunctionsRuleRule()); } + ruleFunctionsRule +{ after(grammarAccess.getFunctionsRuleRule()); } + EOF +; + +// Rule FunctionsRule +ruleFunctionsRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFunctionsRuleAccess().getGroup()); } + (rule__FunctionsRule__Group__0) + { after(grammarAccess.getFunctionsRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFunctionReferencesRule +entryRuleFunctionReferencesRule +: +{ before(grammarAccess.getFunctionReferencesRuleRule()); } + ruleFunctionReferencesRule +{ after(grammarAccess.getFunctionReferencesRuleRule()); } + EOF +; + +// Rule FunctionReferencesRule +ruleFunctionReferencesRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFunctionReferencesRuleAccess().getGroup()); } + (rule__FunctionReferencesRule__Group__0) + { after(grammarAccess.getFunctionReferencesRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleGeneratorsRule +entryRuleGeneratorsRule +: +{ before(grammarAccess.getGeneratorsRuleRule()); } + ruleGeneratorsRule +{ after(grammarAccess.getGeneratorsRuleRule()); } + EOF +; + +// Rule GeneratorsRule +ruleGeneratorsRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getGeneratorsRuleAccess().getGroup()); } + (rule__GeneratorsRule__Group__0) + { after(grammarAccess.getGeneratorsRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleGeneratorReferencesRule +entryRuleGeneratorReferencesRule +: +{ before(grammarAccess.getGeneratorReferencesRuleRule()); } + ruleGeneratorReferencesRule +{ after(grammarAccess.getGeneratorReferencesRuleRule()); } + EOF +; + +// Rule GeneratorReferencesRule +ruleGeneratorReferencesRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getGeneratorReferencesRuleAccess().getGroup()); } + (rule__GeneratorReferencesRule__Group__0) + { after(grammarAccess.getGeneratorReferencesRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleApplyStatementRule +entryRuleApplyStatementRule +: +{ before(grammarAccess.getApplyStatementRuleRule()); } + ruleApplyStatementRule +{ after(grammarAccess.getApplyStatementRuleRule()); } + EOF +; + +// Rule ApplyStatementRule +ruleApplyStatementRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getApplyStatementRuleAccess().getGroup()); } + (rule__ApplyStatementRule__Group__0) + { after(grammarAccess.getApplyStatementRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleGeneratorReferenceRule +entryRuleGeneratorReferenceRule +: +{ before(grammarAccess.getGeneratorReferenceRuleRule()); } + ruleGeneratorReferenceRule +{ after(grammarAccess.getGeneratorReferenceRuleRule()); } + EOF +; + +// Rule GeneratorReferenceRule +ruleGeneratorReferenceRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getGeneratorReferenceRuleAccess().getAlternatives()); } + (rule__GeneratorReferenceRule__Alternatives) + { after(grammarAccess.getGeneratorReferenceRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleGeneratorDefinitionReferenceRule +entryRuleGeneratorDefinitionReferenceRule +: +{ before(grammarAccess.getGeneratorDefinitionReferenceRuleRule()); } + ruleGeneratorDefinitionReferenceRule +{ after(grammarAccess.getGeneratorDefinitionReferenceRuleRule()); } + EOF +; + +// Rule GeneratorDefinitionReferenceRule +ruleGeneratorDefinitionReferenceRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getGroup()); } + (rule__GeneratorDefinitionReferenceRule__Group__0) + { after(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFunctionReferenceRule +entryRuleFunctionReferenceRule +: +{ before(grammarAccess.getFunctionReferenceRuleRule()); } + ruleFunctionReferenceRule +{ after(grammarAccess.getFunctionReferenceRuleRule()); } + EOF +; + +// Rule FunctionReferenceRule +ruleFunctionReferenceRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFunctionReferenceRuleAccess().getAlternatives()); } + (rule__FunctionReferenceRule__Alternatives) + { after(grammarAccess.getFunctionReferenceRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFunctionDefReferenceRule +entryRuleFunctionDefReferenceRule +: +{ before(grammarAccess.getFunctionDefReferenceRuleRule()); } + ruleFunctionDefReferenceRule +{ after(grammarAccess.getFunctionDefReferenceRuleRule()); } + EOF +; + +// Rule FunctionDefReferenceRule +ruleFunctionDefReferenceRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFunctionDefReferenceRuleAccess().getAlternatives()); } + (rule__FunctionDefReferenceRule__Alternatives) + { after(grammarAccess.getFunctionDefReferenceRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLoopVariableReference +entryRuleLoopVariableReference +: +{ before(grammarAccess.getLoopVariableReferenceRule()); } + ruleLoopVariableReference +{ after(grammarAccess.getLoopVariableReferenceRule()); } + EOF +; + +// Rule LoopVariableReference +ruleLoopVariableReference + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLoopVariableReferenceAccess().getGroup()); } + (rule__LoopVariableReference__Group__0) + { after(grammarAccess.getLoopVariableReferenceAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFunctionDefinitionReferenceRule +entryRuleFunctionDefinitionReferenceRule +: +{ before(grammarAccess.getFunctionDefinitionReferenceRuleRule()); } + ruleFunctionDefinitionReferenceRule +{ after(grammarAccess.getFunctionDefinitionReferenceRuleRule()); } + EOF +; + +// Rule FunctionDefinitionReferenceRule +ruleFunctionDefinitionReferenceRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getGroup()); } + (rule__FunctionDefinitionReferenceRule__Group__0) + { after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleParametrizedFunctionDefinitionReferenceRule +entryRuleParametrizedFunctionDefinitionReferenceRule +: +{ before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleRule()); } + ruleParametrizedFunctionDefinitionReferenceRule +{ after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleRule()); } + EOF +; + +// Rule ParametrizedFunctionDefinitionReferenceRule +ruleParametrizedFunctionDefinitionReferenceRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getGroup()); } + (rule__ParametrizedFunctionDefinitionReferenceRule__Group__0) + { after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleInstanceRule +entryRuleInstanceRule +: +{ before(grammarAccess.getInstanceRuleRule()); } + ruleInstanceRule +{ after(grammarAccess.getInstanceRuleRule()); } + EOF +; + +// Rule InstanceRule +ruleInstanceRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getInstanceRuleAccess().getGroup()); } + (rule__InstanceRule__Group__0) + { after(grammarAccess.getInstanceRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAttributeRule +entryRuleAttributeRule +: +{ before(grammarAccess.getAttributeRuleRule()); } + ruleAttributeRule +{ after(grammarAccess.getAttributeRuleRule()); } + EOF +; + +// Rule AttributeRule +ruleAttributeRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAttributeRuleAccess().getGroup()); } + (rule__AttributeRule__Group__0) + { after(grammarAccess.getAttributeRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNameOrMiscRule +entryRuleNameOrMiscRule +: +{ before(grammarAccess.getNameOrMiscRuleRule()); } + ruleNameOrMiscRule +{ after(grammarAccess.getNameOrMiscRuleRule()); } + EOF +; + +// Rule NameOrMiscRule +ruleNameOrMiscRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNameOrMiscRuleAccess().getAlternatives()); } + (rule__NameOrMiscRule__Alternatives) + { after(grammarAccess.getNameOrMiscRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNameRule +entryRuleNameRule +: +{ before(grammarAccess.getNameRuleRule()); } + ruleNameRule +{ after(grammarAccess.getNameRuleRule()); } + EOF +; + +// Rule NameRule +ruleNameRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNameRuleAccess().getNameAssignment()); } + (rule__NameRule__NameAssignment) + { after(grammarAccess.getNameRuleAccess().getNameAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleMiscRule +entryRuleMiscRule +: +{ before(grammarAccess.getMiscRuleRule()); } + ruleMiscRule +{ after(grammarAccess.getMiscRuleRule()); } + EOF +; + +// Rule MiscRule +ruleMiscRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getMiscRuleAccess().getNameAssignment()); } + (rule__MiscRule__NameAssignment) + { after(grammarAccess.getMiscRuleAccess().getNameAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleValueRule +entryRuleValueRule +: +{ before(grammarAccess.getValueRuleRule()); } + ruleValueRule +{ after(grammarAccess.getValueRuleRule()); } + EOF +; + +// Rule ValueRule +ruleValueRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getValueRuleAccess().getAlternatives()); } + (rule__ValueRule__Alternatives) + { after(grammarAccess.getValueRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleArrayRule +entryRuleArrayRule +: +{ before(grammarAccess.getArrayRuleRule()); } + ruleArrayRule +{ after(grammarAccess.getArrayRuleRule()); } + EOF +; + +// Rule ArrayRule +ruleArrayRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getArrayRuleAccess().getGroup()); } + (rule__ArrayRule__Group__0) + { after(grammarAccess.getArrayRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLiteralValueRule +entryRuleLiteralValueRule +: +{ before(grammarAccess.getLiteralValueRuleRule()); } + ruleLiteralValueRule +{ after(grammarAccess.getLiteralValueRuleRule()); } + EOF +; + +// Rule LiteralValueRule +ruleLiteralValueRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLiteralValueRuleAccess().getLiteralAssignment()); } + (rule__LiteralValueRule__LiteralAssignment) + { after(grammarAccess.getLiteralValueRuleAccess().getLiteralAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleDataReferenceRule +entryRuleDataReferenceRule +: +{ before(grammarAccess.getDataReferenceRuleRule()); } + ruleDataReferenceRule +{ after(grammarAccess.getDataReferenceRuleRule()); } + EOF +; + +// Rule DataReferenceRule +ruleDataReferenceRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getDataReferenceRuleAccess().getGroup()); } + (rule__DataReferenceRule__Group__0) + { after(grammarAccess.getDataReferenceRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleExpressionRule +entryRuleExpressionRule +: +{ before(grammarAccess.getExpressionRuleRule()); } + ruleExpressionRule +{ after(grammarAccess.getExpressionRuleRule()); } + EOF +; + +// Rule ExpressionRule +ruleExpressionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getExpressionRuleAccess().getOrExpressionRuleParserRuleCall()); } + ruleOrExpressionRule + { after(grammarAccess.getExpressionRuleAccess().getOrExpressionRuleParserRuleCall()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleOrExpressionRule +entryRuleOrExpressionRule +: +{ before(grammarAccess.getOrExpressionRuleRule()); } + ruleOrExpressionRule +{ after(grammarAccess.getOrExpressionRuleRule()); } + EOF +; + +// Rule OrExpressionRule +ruleOrExpressionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getOrExpressionRuleAccess().getGroup()); } + (rule__OrExpressionRule__Group__0) + { after(grammarAccess.getOrExpressionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleXorExpressionRule +entryRuleXorExpressionRule +: +{ before(grammarAccess.getXorExpressionRuleRule()); } + ruleXorExpressionRule +{ after(grammarAccess.getXorExpressionRuleRule()); } + EOF +; + +// Rule XorExpressionRule +ruleXorExpressionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getXorExpressionRuleAccess().getGroup()); } + (rule__XorExpressionRule__Group__0) + { after(grammarAccess.getXorExpressionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAndExpressionRule +entryRuleAndExpressionRule +: +{ before(grammarAccess.getAndExpressionRuleRule()); } + ruleAndExpressionRule +{ after(grammarAccess.getAndExpressionRuleRule()); } + EOF +; + +// Rule AndExpressionRule +ruleAndExpressionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAndExpressionRuleAccess().getGroup()); } + (rule__AndExpressionRule__Group__0) + { after(grammarAccess.getAndExpressionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNotExpressionRule +entryRuleNotExpressionRule +: +{ before(grammarAccess.getNotExpressionRuleRule()); } + ruleNotExpressionRule +{ after(grammarAccess.getNotExpressionRuleRule()); } + EOF +; + +// Rule NotExpressionRule +ruleNotExpressionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNotExpressionRuleAccess().getGroup()); } + (rule__NotExpressionRule__Group__0) + { after(grammarAccess.getNotExpressionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleComparisonExpressionRule +entryRuleComparisonExpressionRule +: +{ before(grammarAccess.getComparisonExpressionRuleRule()); } + ruleComparisonExpressionRule +{ after(grammarAccess.getComparisonExpressionRuleRule()); } + EOF +; + +// Rule ComparisonExpressionRule +ruleComparisonExpressionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getComparisonExpressionRuleAccess().getGroup()); } + (rule__ComparisonExpressionRule__Group__0) + { after(grammarAccess.getComparisonExpressionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePartialComparisonExpressionRule +entryRulePartialComparisonExpressionRule +: +{ before(grammarAccess.getPartialComparisonExpressionRuleRule()); } + rulePartialComparisonExpressionRule +{ after(grammarAccess.getPartialComparisonExpressionRuleRule()); } + EOF +; + +// Rule PartialComparisonExpressionRule +rulePartialComparisonExpressionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPartialComparisonExpressionRuleAccess().getGroup()); } + (rule__PartialComparisonExpressionRule__Group__0) + { after(grammarAccess.getPartialComparisonExpressionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleAddOrSubtractExpressionRule +entryRuleAddOrSubtractExpressionRule +: +{ before(grammarAccess.getAddOrSubtractExpressionRuleRule()); } + ruleAddOrSubtractExpressionRule +{ after(grammarAccess.getAddOrSubtractExpressionRuleRule()); } + EOF +; + +// Rule AddOrSubtractExpressionRule +ruleAddOrSubtractExpressionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup()); } + (rule__AddOrSubtractExpressionRule__Group__0) + { after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleMultiplyDivideModuloExpressionRule +entryRuleMultiplyDivideModuloExpressionRule +: +{ before(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); } + ruleMultiplyDivideModuloExpressionRule +{ after(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); } + EOF +; + +// Rule MultiplyDivideModuloExpressionRule +ruleMultiplyDivideModuloExpressionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup()); } + (rule__MultiplyDivideModuloExpressionRule__Group__0) + { after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRulePowerOfExpressionRule +entryRulePowerOfExpressionRule +: +{ before(grammarAccess.getPowerOfExpressionRuleRule()); } + rulePowerOfExpressionRule +{ after(grammarAccess.getPowerOfExpressionRuleRule()); } + EOF +; + +// Rule PowerOfExpressionRule +rulePowerOfExpressionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getPowerOfExpressionRuleAccess().getGroup()); } + (rule__PowerOfExpressionRule__Group__0) + { after(grammarAccess.getPowerOfExpressionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleUnaryAddOrSubtractExpressionRule +entryRuleUnaryAddOrSubtractExpressionRule +: +{ before(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); } + ruleUnaryAddOrSubtractExpressionRule +{ after(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); } + EOF +; + +// Rule UnaryAddOrSubtractExpressionRule +ruleUnaryAddOrSubtractExpressionRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getGroup()); } + (rule__UnaryAddOrSubtractExpressionRule__Group__0) + { after(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLiteralOrReferenceRule +entryRuleLiteralOrReferenceRule +: +{ before(grammarAccess.getLiteralOrReferenceRuleRule()); } + ruleLiteralOrReferenceRule +{ after(grammarAccess.getLiteralOrReferenceRuleRule()); } + EOF +; + +// Rule LiteralOrReferenceRule +ruleLiteralOrReferenceRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLiteralOrReferenceRuleAccess().getAlternatives()); } + (rule__LiteralOrReferenceRule__Alternatives) + { after(grammarAccess.getLiteralOrReferenceRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleParanthesesRule +entryRuleParanthesesRule +: +{ before(grammarAccess.getParanthesesRuleRule()); } + ruleParanthesesRule +{ after(grammarAccess.getParanthesesRuleRule()); } + EOF +; + +// Rule ParanthesesRule +ruleParanthesesRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getParanthesesRuleAccess().getGroup()); } + (rule__ParanthesesRule__Group__0) + { after(grammarAccess.getParanthesesRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleCallRule +entryRuleCallRule +: +{ before(grammarAccess.getCallRuleRule()); } + ruleCallRule +{ after(grammarAccess.getCallRuleRule()); } + EOF +; + +// Rule CallRule +ruleCallRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getCallRuleAccess().getGroup()); } + (rule__CallRule__Group__0) + { after(grammarAccess.getCallRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleFunctionNameRule +entryRuleFunctionNameRule +: +{ before(grammarAccess.getFunctionNameRuleRule()); } + ruleFunctionNameRule +{ after(grammarAccess.getFunctionNameRuleRule()); } + EOF +; + +// Rule FunctionNameRule +ruleFunctionNameRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getFunctionNameRuleAccess().getGroup()); } + (rule__FunctionNameRule__Group__0) + { after(grammarAccess.getFunctionNameRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleValueReferenceRule +entryRuleValueReferenceRule +: +{ before(grammarAccess.getValueReferenceRuleRule()); } + ruleValueReferenceRule +{ after(grammarAccess.getValueReferenceRuleRule()); } + EOF +; + +// Rule ValueReferenceRule +ruleValueReferenceRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getValueReferenceRuleAccess().getGroup()); } + (rule__ValueReferenceRule__Group__0) + { after(grammarAccess.getValueReferenceRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleLiteralRule +entryRuleLiteralRule +: +{ before(grammarAccess.getLiteralRuleRule()); } + ruleLiteralRule +{ after(grammarAccess.getLiteralRuleRule()); } + EOF +; + +// Rule LiteralRule +ruleLiteralRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getLiteralRuleAccess().getAlternatives()); } + (rule__LiteralRule__Alternatives) + { after(grammarAccess.getLiteralRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleNumberLiteralRule +entryRuleNumberLiteralRule +: +{ before(grammarAccess.getNumberLiteralRuleRule()); } + ruleNumberLiteralRule +{ after(grammarAccess.getNumberLiteralRuleRule()); } + EOF +; + +// Rule NumberLiteralRule +ruleNumberLiteralRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getNumberLiteralRuleAccess().getAlternatives()); } + (rule__NumberLiteralRule__Alternatives) + { after(grammarAccess.getNumberLiteralRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleDoubleLiteralRule +entryRuleDoubleLiteralRule +: +{ before(grammarAccess.getDoubleLiteralRuleRule()); } + ruleDoubleLiteralRule +{ after(grammarAccess.getDoubleLiteralRuleRule()); } + EOF +; + +// Rule DoubleLiteralRule +ruleDoubleLiteralRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getDoubleLiteralRuleAccess().getValueAssignment()); } + (rule__DoubleLiteralRule__ValueAssignment) + { after(grammarAccess.getDoubleLiteralRuleAccess().getValueAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleIntegerLiteralRule +entryRuleIntegerLiteralRule +: +{ before(grammarAccess.getIntegerLiteralRuleRule()); } + ruleIntegerLiteralRule +{ after(grammarAccess.getIntegerLiteralRuleRule()); } + EOF +; + +// Rule IntegerLiteralRule +ruleIntegerLiteralRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getIntegerLiteralRuleAccess().getValueAssignment()); } + (rule__IntegerLiteralRule__ValueAssignment) + { after(grammarAccess.getIntegerLiteralRuleAccess().getValueAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleStringLiteralRule +entryRuleStringLiteralRule +: +{ before(grammarAccess.getStringLiteralRuleRule()); } + ruleStringLiteralRule +{ after(grammarAccess.getStringLiteralRuleRule()); } + EOF +; + +// Rule StringLiteralRule +ruleStringLiteralRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getStringLiteralRuleAccess().getValueAssignment()); } + (rule__StringLiteralRule__ValueAssignment) + { after(grammarAccess.getStringLiteralRuleAccess().getValueAssignment()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleBooleanLiteralRule +entryRuleBooleanLiteralRule +: +{ before(grammarAccess.getBooleanLiteralRuleRule()); } + ruleBooleanLiteralRule +{ after(grammarAccess.getBooleanLiteralRuleRule()); } + EOF +; + +// Rule BooleanLiteralRule +ruleBooleanLiteralRule + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getBooleanLiteralRuleAccess().getGroup()); } + (rule__BooleanLiteralRule__Group__0) + { after(grammarAccess.getBooleanLiteralRuleAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleStringOrId +entryRuleStringOrId +: +{ before(grammarAccess.getStringOrIdRule()); } + ruleStringOrId +{ after(grammarAccess.getStringOrIdRule()); } + EOF +; + +// Rule StringOrId +ruleStringOrId + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getStringOrIdAccess().getAlternatives()); } + (rule__StringOrId__Alternatives) + { after(grammarAccess.getStringOrIdAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Entry rule entryRuleDOUBLE +entryRuleDOUBLE +: +{ before(grammarAccess.getDOUBLERule()); } + ruleDOUBLE +{ after(grammarAccess.getDOUBLERule()); } + EOF +; + +// Rule DOUBLE +ruleDOUBLE + @init { + int stackSize = keepStackSize(); + } + : + ( + { before(grammarAccess.getDOUBLEAccess().getGroup()); } + (rule__DOUBLE__Group__0) + { after(grammarAccess.getDOUBLEAccess().getGroup()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule ComparisonOperatorRule +ruleComparisonOperatorRule + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComparisonOperatorRuleAccess().getAlternatives()); } + (rule__ComparisonOperatorRule__Alternatives) + { after(grammarAccess.getComparisonOperatorRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule AddOrSubtractOperatorRule +ruleAddOrSubtractOperatorRule + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAlternatives()); } + (rule__AddOrSubtractOperatorRule__Alternatives) + { after(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +// Rule MultiplyDivideModuloOperatorRule +ruleMultiplyDivideModuloOperatorRule + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getAlternatives()); } + (rule__MultiplyDivideModuloOperatorRule__Alternatives) + { after(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getAlternatives()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StatementRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStatementRuleAccess().getForStatementRuleParserRuleCall_0()); } + ruleForStatementRule + { after(grammarAccess.getStatementRuleAccess().getForStatementRuleParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getStatementRuleAccess().getApplyStatementRuleParserRuleCall_1()); } + ruleApplyStatementRule + { after(grammarAccess.getStatementRuleAccess().getApplyStatementRuleParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__RangeRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getRangeRuleAccess().getFunctionsRuleParserRuleCall_0()); } + ruleFunctionsRule + { after(grammarAccess.getRangeRuleAccess().getFunctionsRuleParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getRangeRuleAccess().getGeneratorsRuleParserRuleCall_1()); } + ruleGeneratorsRule + { after(grammarAccess.getRangeRuleAccess().getGeneratorsRuleParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getRangeRuleAccess().getCounterRangeRuleParserRuleCall_2()); } + ruleCounterRangeRule + { after(grammarAccess.getRangeRuleAccess().getCounterRangeRuleParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferenceRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGeneratorReferenceRuleAccess().getGeneratorDefinitionReferenceRuleParserRuleCall_0()); } + ruleGeneratorDefinitionReferenceRule + { after(grammarAccess.getGeneratorReferenceRuleAccess().getGeneratorDefinitionReferenceRuleParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getGeneratorReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); } + ruleLoopVariableReference + { after(grammarAccess.getGeneratorReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferenceRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionReferenceRuleAccess().getFunctionDefReferenceRuleParserRuleCall_0()); } + ruleFunctionDefReferenceRule + { after(grammarAccess.getFunctionReferenceRuleAccess().getFunctionDefReferenceRuleParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getFunctionReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); } + ruleLoopVariableReference + { after(grammarAccess.getFunctionReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDefReferenceRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionDefReferenceRuleAccess().getFunctionDefinitionReferenceRuleParserRuleCall_0()); } + ruleFunctionDefinitionReferenceRule + { after(grammarAccess.getFunctionDefReferenceRuleAccess().getFunctionDefinitionReferenceRuleParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getFunctionDefReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceRuleParserRuleCall_1()); } + ruleParametrizedFunctionDefinitionReferenceRule + { after(grammarAccess.getFunctionDefReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceRuleParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NameOrMiscRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNameOrMiscRuleAccess().getNameRuleParserRuleCall_0()); } + ruleNameRule + { after(grammarAccess.getNameOrMiscRuleAccess().getNameRuleParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getNameOrMiscRuleAccess().getMiscRuleParserRuleCall_1()); } + ruleMiscRule + { after(grammarAccess.getNameOrMiscRuleAccess().getMiscRuleParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ValueRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getValueRuleAccess().getArrayRuleParserRuleCall_0()); } + ruleArrayRule + { after(grammarAccess.getValueRuleAccess().getArrayRuleParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getValueRuleAccess().getDataReferenceRuleParserRuleCall_1()); } + ruleDataReferenceRule + { after(grammarAccess.getValueRuleAccess().getDataReferenceRuleParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getValueRuleAccess().getInstanceRuleParserRuleCall_2()); } + ruleInstanceRule + { after(grammarAccess.getValueRuleAccess().getInstanceRuleParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getValueRuleAccess().getLiteralValueRuleParserRuleCall_3()); } + ruleLiteralValueRule + { after(grammarAccess.getValueRuleAccess().getLiteralValueRuleParserRuleCall_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LiteralOrReferenceRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLiteralOrReferenceRuleAccess().getCallRuleParserRuleCall_0()); } + ruleCallRule + { after(grammarAccess.getLiteralOrReferenceRuleAccess().getCallRuleParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getLiteralOrReferenceRuleAccess().getLiteralRuleParserRuleCall_1()); } + ruleLiteralRule + { after(grammarAccess.getLiteralOrReferenceRuleAccess().getLiteralRuleParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getLiteralOrReferenceRuleAccess().getParanthesesRuleParserRuleCall_2()); } + ruleParanthesesRule + { after(grammarAccess.getLiteralOrReferenceRuleAccess().getParanthesesRuleParserRuleCall_2()); } + ) + | + ( + { before(grammarAccess.getLiteralOrReferenceRuleAccess().getValueReferenceRuleParserRuleCall_3()); } + ruleValueReferenceRule + { after(grammarAccess.getLiteralOrReferenceRuleAccess().getValueReferenceRuleParserRuleCall_3()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LiteralRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLiteralRuleAccess().getNumberLiteralRuleParserRuleCall_0()); } + ruleNumberLiteralRule + { after(grammarAccess.getLiteralRuleAccess().getNumberLiteralRuleParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getLiteralRuleAccess().getStringLiteralRuleParserRuleCall_1()); } + ruleStringLiteralRule + { after(grammarAccess.getLiteralRuleAccess().getStringLiteralRuleParserRuleCall_1()); } + ) + | + ( + { before(grammarAccess.getLiteralRuleAccess().getBooleanLiteralRuleParserRuleCall_2()); } + ruleBooleanLiteralRule + { after(grammarAccess.getLiteralRuleAccess().getBooleanLiteralRuleParserRuleCall_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NumberLiteralRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNumberLiteralRuleAccess().getDoubleLiteralRuleParserRuleCall_0()); } + ruleDoubleLiteralRule + { after(grammarAccess.getNumberLiteralRuleAccess().getDoubleLiteralRuleParserRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_1()); } + ruleIntegerLiteralRule + { after(grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteralRule__Alternatives_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBooleanLiteralRuleAccess().getValueAssignment_1_0()); } + (rule__BooleanLiteralRule__ValueAssignment_1_0) + { after(grammarAccess.getBooleanLiteralRuleAccess().getValueAssignment_1_0()); } + ) + | + ( + { before(grammarAccess.getBooleanLiteralRuleAccess().getFalseKeyword_1_1()); } + 'false' + { after(grammarAccess.getBooleanLiteralRuleAccess().getFalseKeyword_1_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StringOrId__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStringOrIdAccess().getQUOTED_IDTerminalRuleCall_0()); } + RULE_QUOTED_ID + { after(grammarAccess.getStringOrIdAccess().getQUOTED_IDTerminalRuleCall_0()); } + ) + | + ( + { before(grammarAccess.getStringOrIdAccess().getIDTerminalRuleCall_1()); } + RULE_ID + { after(grammarAccess.getStringOrIdAccess().getIDTerminalRuleCall_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonOperatorRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComparisonOperatorRuleAccess().getGreaterThanEnumLiteralDeclaration_0()); } + ('>=') + { after(grammarAccess.getComparisonOperatorRuleAccess().getGreaterThanEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getComparisonOperatorRuleAccess().getGreaterEqualEnumLiteralDeclaration_1()); } + ('>') + { after(grammarAccess.getComparisonOperatorRuleAccess().getGreaterEqualEnumLiteralDeclaration_1()); } + ) + | + ( + { before(grammarAccess.getComparisonOperatorRuleAccess().getEqualEnumLiteralDeclaration_2()); } + ('=') + { after(grammarAccess.getComparisonOperatorRuleAccess().getEqualEnumLiteralDeclaration_2()); } + ) + | + ( + { before(grammarAccess.getComparisonOperatorRuleAccess().getUnequalEnumLiteralDeclaration_3()); } + ('!=') + { after(grammarAccess.getComparisonOperatorRuleAccess().getUnequalEnumLiteralDeclaration_3()); } + ) + | + ( + { before(grammarAccess.getComparisonOperatorRuleAccess().getLessEqualEnumLiteralDeclaration_4()); } + ('<') + { after(grammarAccess.getComparisonOperatorRuleAccess().getLessEqualEnumLiteralDeclaration_4()); } + ) + | + ( + { before(grammarAccess.getComparisonOperatorRuleAccess().getLessThanEnumLiteralDeclaration_5()); } + ('<=') + { after(grammarAccess.getComparisonOperatorRuleAccess().getLessThanEnumLiteralDeclaration_5()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AddOrSubtractOperatorRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAddEnumLiteralDeclaration_0()); } + ('+') + { after(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAddEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getAddOrSubtractOperatorRuleAccess().getSubtractEnumLiteralDeclaration_1()); } + ('-') + { after(grammarAccess.getAddOrSubtractOperatorRuleAccess().getSubtractEnumLiteralDeclaration_1()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplyDivideModuloOperatorRule__Alternatives + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getMultiplyEnumLiteralDeclaration_0()); } + ('*') + { after(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getMultiplyEnumLiteralDeclaration_0()); } + ) + | + ( + { before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getDivideEnumLiteralDeclaration_1()); } + ('/') + { after(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getDivideEnumLiteralDeclaration_1()); } + ) + | + ( + { before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getModuloEnumLiteralDeclaration_2()); } + ('%') + { after(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getModuloEnumLiteralDeclaration_2()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConfigurationRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConfigurationRule__Group__0__Impl + rule__ConfigurationRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConfigurationRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConfigurationRuleAccess().getUsesAssignment_0()); } + (rule__ConfigurationRule__UsesAssignment_0)* + { after(grammarAccess.getConfigurationRuleAccess().getUsesAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConfigurationRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConfigurationRule__Group__1__Impl + rule__ConfigurationRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConfigurationRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConfigurationRuleAccess().getGeneratorsAssignment_1()); } + (rule__ConfigurationRule__GeneratorsAssignment_1)* + { after(grammarAccess.getConfigurationRuleAccess().getGeneratorsAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConfigurationRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConfigurationRule__Group__2__Impl + rule__ConfigurationRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ConfigurationRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConfigurationRuleAccess().getFunctionsAssignment_2()); } + (rule__ConfigurationRule__FunctionsAssignment_2)* + { after(grammarAccess.getConfigurationRuleAccess().getFunctionsAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConfigurationRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ConfigurationRule__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ConfigurationRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getConfigurationRuleAccess().getStatementsAssignment_3()); } + (rule__ConfigurationRule__StatementsAssignment_3)* + { after(grammarAccess.getConfigurationRuleAccess().getStatementsAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UseRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UseRule__Group__0__Impl + rule__UseRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UseRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUseRuleAccess().getUseKeyword_0()); } + 'use' + { after(grammarAccess.getUseRuleAccess().getUseKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UseRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UseRule__Group__1__Impl + rule__UseRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__UseRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUseRuleAccess().getImportURIAssignment_1()); } + (rule__UseRule__ImportURIAssignment_1) + { after(grammarAccess.getUseRuleAccess().getImportURIAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UseRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__UseRule__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UseRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUseRuleAccess().getSemicolonKeyword_2()); } + ';' + { after(grammarAccess.getUseRuleAccess().getSemicolonKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ParametrizedFunctionDefinitionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametrizedFunctionDefinitionRule__Group__0__Impl + rule__ParametrizedFunctionDefinitionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getFunctionKeyword_0()); } + 'function' + { after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getFunctionKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametrizedFunctionDefinitionRule__Group__1__Impl + rule__ParametrizedFunctionDefinitionRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameAssignment_1()); } + (rule__ParametrizedFunctionDefinitionRule__NameAssignment_1) + { after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametrizedFunctionDefinitionRule__Group__2__Impl + rule__ParametrizedFunctionDefinitionRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getUsingKeyword_2()); } + 'using' + { after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getUsingKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametrizedFunctionDefinitionRule__Group__3__Impl + rule__ParametrizedFunctionDefinitionRule__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionAssignment_3()); } + (rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3) + { after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionRule__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametrizedFunctionDefinitionRule__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionRule__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getSemicolonKeyword_4()); } + ';' + { after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getSemicolonKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GeneratorDefinitionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorDefinitionRule__Group__0__Impl + rule__GeneratorDefinitionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorDefinitionRuleAccess().getGeneratorKeyword_0()); } + 'generator' + { after(grammarAccess.getGeneratorDefinitionRuleAccess().getGeneratorKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorDefinitionRule__Group__1__Impl + rule__GeneratorDefinitionRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorDefinitionRuleAccess().getNameAssignment_1()); } + (rule__GeneratorDefinitionRule__NameAssignment_1) + { after(grammarAccess.getGeneratorDefinitionRuleAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorDefinitionRule__Group__2__Impl + rule__GeneratorDefinitionRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorDefinitionRuleAccess().getUsingKeyword_2()); } + 'using' + { after(grammarAccess.getGeneratorDefinitionRuleAccess().getUsingKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorDefinitionRule__Group__3__Impl + rule__GeneratorDefinitionRule__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionAssignment_3()); } + (rule__GeneratorDefinitionRule__DefinitionAssignment_3) + { after(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionRule__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorDefinitionRule__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionRule__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorDefinitionRuleAccess().getSemicolonKeyword_4()); } + ';' + { after(grammarAccess.getGeneratorDefinitionRuleAccess().getSemicolonKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ForStatementRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForStatementRule__Group__0__Impl + rule__ForStatementRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForStatementRuleAccess().getForKeyword_0()); } + 'for' + { after(grammarAccess.getForStatementRuleAccess().getForKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForStatementRule__Group__1__Impl + rule__ForStatementRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForStatementRuleAccess().getNameAssignment_1()); } + (rule__ForStatementRule__NameAssignment_1) + { after(grammarAccess.getForStatementRuleAccess().getNameAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForStatementRule__Group__2__Impl + rule__ForStatementRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForStatementRuleAccess().getInKeyword_2()); } + 'in' + { after(grammarAccess.getForStatementRuleAccess().getInKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForStatementRule__Group__3__Impl + rule__ForStatementRule__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForStatementRuleAccess().getRangeAssignment_3()); } + (rule__ForStatementRule__RangeAssignment_3) + { after(grammarAccess.getForStatementRuleAccess().getRangeAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForStatementRule__Group__4__Impl + rule__ForStatementRule__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForStatementRuleAccess().getLoopKeyword_4()); } + 'loop' + { after(grammarAccess.getForStatementRuleAccess().getLoopKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForStatementRule__Group__5__Impl + rule__ForStatementRule__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForStatementRuleAccess().getStatementsAssignment_5()); } + (rule__ForStatementRule__StatementsAssignment_5)* + { after(grammarAccess.getForStatementRuleAccess().getStatementsAssignment_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__ForStatementRule__Group__6__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getForStatementRuleAccess().getEndKeyword_6()); } + 'end' + { after(grammarAccess.getForStatementRuleAccess().getEndKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CounterRangeRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CounterRangeRule__Group__0__Impl + rule__CounterRangeRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CounterRangeRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCounterRangeRuleAccess().getLeftSquareBracketKeyword_0()); } + '[' + { after(grammarAccess.getCounterRangeRuleAccess().getLeftSquareBracketKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CounterRangeRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CounterRangeRule__Group__1__Impl + rule__CounterRangeRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CounterRangeRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCounterRangeRuleAccess().getStartAssignment_1()); } + (rule__CounterRangeRule__StartAssignment_1) + { after(grammarAccess.getCounterRangeRuleAccess().getStartAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CounterRangeRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CounterRangeRule__Group__2__Impl + rule__CounterRangeRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CounterRangeRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCounterRangeRuleAccess().getToKeyword_2()); } + 'to' + { after(grammarAccess.getCounterRangeRuleAccess().getToKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CounterRangeRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CounterRangeRule__Group__3__Impl + rule__CounterRangeRule__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__CounterRangeRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCounterRangeRuleAccess().getEndAssignment_3()); } + (rule__CounterRangeRule__EndAssignment_3) + { after(grammarAccess.getCounterRangeRuleAccess().getEndAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CounterRangeRule__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__CounterRangeRule__Group__4__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CounterRangeRule__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCounterRangeRuleAccess().getRightSquareBracketKeyword_4()); } + ']' + { after(grammarAccess.getCounterRangeRuleAccess().getRightSquareBracketKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FunctionsRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionsRule__Group__0__Impl + rule__FunctionsRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionsRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionsRuleAccess().getFunctionsAction_0()); } + () + { after(grammarAccess.getFunctionsRuleAccess().getFunctionsAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionsRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionsRule__Group__1__Impl + rule__FunctionsRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionsRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionsRuleAccess().getFunctionsKeyword_1()); } + 'functions' + { after(grammarAccess.getFunctionsRuleAccess().getFunctionsKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionsRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionsRule__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionsRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionsRuleAccess().getFunctionReferencesAssignment_2()); } + (rule__FunctionsRule__FunctionReferencesAssignment_2)? + { after(grammarAccess.getFunctionsRuleAccess().getFunctionReferencesAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FunctionReferencesRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionReferencesRule__Group__0__Impl + rule__FunctionReferencesRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionReferencesRuleAccess().getLeftSquareBracketKeyword_0()); } + '[' + { after(grammarAccess.getFunctionReferencesRuleAccess().getLeftSquareBracketKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionReferencesRule__Group__1__Impl + rule__FunctionReferencesRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsAssignment_1()); } + (rule__FunctionReferencesRule__FunctionsAssignment_1) + { after(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionReferencesRule__Group__2__Impl + rule__FunctionReferencesRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionReferencesRuleAccess().getGroup_2()); } + (rule__FunctionReferencesRule__Group_2__0)* + { after(grammarAccess.getFunctionReferencesRuleAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionReferencesRule__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionReferencesRuleAccess().getRightSquareBracketKeyword_3()); } + ']' + { after(grammarAccess.getFunctionReferencesRuleAccess().getRightSquareBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FunctionReferencesRule__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionReferencesRule__Group_2__0__Impl + rule__FunctionReferencesRule__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionReferencesRuleAccess().getCommaKeyword_2_0()); } + ',' + { after(grammarAccess.getFunctionReferencesRuleAccess().getCommaKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionReferencesRule__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsAssignment_2_1()); } + (rule__FunctionReferencesRule__FunctionsAssignment_2_1) + { after(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GeneratorsRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorsRule__Group__0__Impl + rule__GeneratorsRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorsRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorsRuleAccess().getGeneratorsAction_0()); } + () + { after(grammarAccess.getGeneratorsRuleAccess().getGeneratorsAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorsRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorsRule__Group__1__Impl + rule__GeneratorsRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorsRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorsRuleAccess().getGeneratorsKeyword_1()); } + 'generators' + { after(grammarAccess.getGeneratorsRuleAccess().getGeneratorsKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorsRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorsRule__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorsRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorsRuleAccess().getGeneratorReferencesAssignment_2()); } + (rule__GeneratorsRule__GeneratorReferencesAssignment_2)? + { after(grammarAccess.getGeneratorsRuleAccess().getGeneratorReferencesAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GeneratorReferencesRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorReferencesRule__Group__0__Impl + rule__GeneratorReferencesRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorReferencesRuleAccess().getLeftSquareBracketKeyword_0()); } + '[' + { after(grammarAccess.getGeneratorReferencesRuleAccess().getLeftSquareBracketKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorReferencesRule__Group__1__Impl + rule__GeneratorReferencesRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsAssignment_1()); } + (rule__GeneratorReferencesRule__GeneratorsAssignment_1) + { after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorReferencesRule__Group__2__Impl + rule__GeneratorReferencesRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorReferencesRuleAccess().getGroup_2()); } + (rule__GeneratorReferencesRule__Group_2__0)* + { after(grammarAccess.getGeneratorReferencesRuleAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorReferencesRule__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorReferencesRuleAccess().getRightSquareBracketKeyword_3()); } + ']' + { after(grammarAccess.getGeneratorReferencesRuleAccess().getRightSquareBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GeneratorReferencesRule__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorReferencesRule__Group_2__0__Impl + rule__GeneratorReferencesRule__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorReferencesRuleAccess().getCommaKeyword_2_0()); } + ',' + { after(grammarAccess.getGeneratorReferencesRuleAccess().getCommaKeyword_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorReferencesRule__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsAssignment_2_1()); } + (rule__GeneratorReferencesRule__GeneratorsAssignment_2_1) + { after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsAssignment_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ApplyStatementRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ApplyStatementRule__Group__0__Impl + rule__ApplyStatementRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getApplyStatementRuleAccess().getWriteKeyword_0()); } + 'write' + { after(grammarAccess.getApplyStatementRuleAccess().getWriteKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ApplyStatementRule__Group__1__Impl + rule__ApplyStatementRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getApplyStatementRuleAccess().getFileAssignment_1()); } + (rule__ApplyStatementRule__FileAssignment_1) + { after(grammarAccess.getApplyStatementRuleAccess().getFileAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ApplyStatementRule__Group__2__Impl + rule__ApplyStatementRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getApplyStatementRuleAccess().getWithKeyword_2()); } + 'with' + { after(grammarAccess.getApplyStatementRuleAccess().getWithKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ApplyStatementRule__Group__3__Impl + rule__ApplyStatementRule__Group__4 +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getApplyStatementRuleAccess().getCountAssignment_3()); } + (rule__ApplyStatementRule__CountAssignment_3) + { after(grammarAccess.getApplyStatementRuleAccess().getCountAssignment_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__4 + @init { + int stackSize = keepStackSize(); + } +: + rule__ApplyStatementRule__Group__4__Impl + rule__ApplyStatementRule__Group__5 +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__4__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getApplyStatementRuleAccess().getSamplesKeyword_4()); } + 'samples' + { after(grammarAccess.getApplyStatementRuleAccess().getSamplesKeyword_4()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__5 + @init { + int stackSize = keepStackSize(); + } +: + rule__ApplyStatementRule__Group__5__Impl + rule__ApplyStatementRule__Group__6 +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__5__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getApplyStatementRuleAccess().getFromKeyword_5()); } + 'from' + { after(grammarAccess.getApplyStatementRuleAccess().getFromKeyword_5()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__6 + @init { + int stackSize = keepStackSize(); + } +: + rule__ApplyStatementRule__Group__6__Impl + rule__ApplyStatementRule__Group__7 +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__6__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getApplyStatementRuleAccess().getApplyingKeyword_6()); } + 'applying' + { after(grammarAccess.getApplyStatementRuleAccess().getApplyingKeyword_6()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__7 + @init { + int stackSize = keepStackSize(); + } +: + rule__ApplyStatementRule__Group__7__Impl + rule__ApplyStatementRule__Group__8 +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__7__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getApplyStatementRuleAccess().getFunctionAssignment_7()); } + (rule__ApplyStatementRule__FunctionAssignment_7) + { after(grammarAccess.getApplyStatementRuleAccess().getFunctionAssignment_7()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__8 + @init { + int stackSize = keepStackSize(); + } +: + rule__ApplyStatementRule__Group__8__Impl + rule__ApplyStatementRule__Group__9 +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__8__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getApplyStatementRuleAccess().getOnKeyword_8()); } + 'on' + { after(grammarAccess.getApplyStatementRuleAccess().getOnKeyword_8()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__9 + @init { + int stackSize = keepStackSize(); + } +: + rule__ApplyStatementRule__Group__9__Impl + rule__ApplyStatementRule__Group__10 +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__9__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getApplyStatementRuleAccess().getGeneratorAssignment_9()); } + (rule__ApplyStatementRule__GeneratorAssignment_9) + { after(grammarAccess.getApplyStatementRuleAccess().getGeneratorAssignment_9()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__10 + @init { + int stackSize = keepStackSize(); + } +: + rule__ApplyStatementRule__Group__10__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__Group__10__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getApplyStatementRuleAccess().getSemicolonKeyword_10()); } + ';' + { after(grammarAccess.getApplyStatementRuleAccess().getSemicolonKeyword_10()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__GeneratorDefinitionReferenceRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorDefinitionReferenceRule__Group__0__Impl + rule__GeneratorDefinitionReferenceRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionReferenceRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getGeneratorKeyword_0()); } + 'generator' + { after(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getGeneratorKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionReferenceRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__GeneratorDefinitionReferenceRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionReferenceRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionAssignment_1()); } + (rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1) + { after(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__LoopVariableReference__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__LoopVariableReference__Group__0__Impl + rule__LoopVariableReference__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__LoopVariableReference__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLoopVariableReferenceAccess().getLoopVariableAction_0()); } + () + { after(grammarAccess.getLoopVariableReferenceAccess().getLoopVariableAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__LoopVariableReference__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__LoopVariableReference__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__LoopVariableReference__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getLoopVariableReferenceAccess().getDefinitionAssignment_1()); } + (rule__LoopVariableReference__DefinitionAssignment_1) + { after(grammarAccess.getLoopVariableReferenceAccess().getDefinitionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FunctionDefinitionReferenceRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDefinitionReferenceRule__Group__0__Impl + rule__FunctionDefinitionReferenceRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDefinitionReferenceRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getFunctionDefinitionReferenceAction_0()); } + () + { after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getFunctionDefinitionReferenceAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDefinitionReferenceRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDefinitionReferenceRule__Group__1__Impl + rule__FunctionDefinitionReferenceRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDefinitionReferenceRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionKeyword_1()); } + 'definition' + { after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDefinitionReferenceRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionDefinitionReferenceRule__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDefinitionReferenceRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionAssignment_2()); } + (rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2) + { after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ParametrizedFunctionDefinitionReferenceRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametrizedFunctionDefinitionReferenceRule__Group__0__Impl + rule__ParametrizedFunctionDefinitionReferenceRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionReferenceRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceAction_0()); } + () + { after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionReferenceRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametrizedFunctionDefinitionReferenceRule__Group__1__Impl + rule__ParametrizedFunctionDefinitionReferenceRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionReferenceRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getFunctionKeyword_1()); } + 'function' + { after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getFunctionKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionReferenceRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParametrizedFunctionDefinitionReferenceRule__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionReferenceRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionAssignment_2()); } + (rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2) + { after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InstanceRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InstanceRule__Group__0__Impl + rule__InstanceRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInstanceRuleAccess().getNameAssignment_0()); } + (rule__InstanceRule__NameAssignment_0) + { after(grammarAccess.getInstanceRuleAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InstanceRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInstanceRuleAccess().getGroup_1()); } + (rule__InstanceRule__Group_1__0)? + { after(grammarAccess.getInstanceRuleAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__InstanceRule__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__InstanceRule__Group_1__0__Impl + rule__InstanceRule__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceRule__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInstanceRuleAccess().getLeftCurlyBracketKeyword_1_0()); } + '{' + { after(grammarAccess.getInstanceRuleAccess().getLeftCurlyBracketKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceRule__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__InstanceRule__Group_1__1__Impl + rule__InstanceRule__Group_1__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceRule__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInstanceRuleAccess().getAttributesAssignment_1_1()); } + (rule__InstanceRule__AttributesAssignment_1_1)* + { after(grammarAccess.getInstanceRuleAccess().getAttributesAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceRule__Group_1__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__InstanceRule__Group_1__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceRule__Group_1__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getInstanceRuleAccess().getRightCurlyBracketKeyword_1_2()); } + '}' + { after(grammarAccess.getInstanceRuleAccess().getRightCurlyBracketKeyword_1_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AttributeRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AttributeRule__Group__0__Impl + rule__AttributeRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AttributeRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAttributeRuleAccess().getNameAssignment_0()); } + (rule__AttributeRule__NameAssignment_0) + { after(grammarAccess.getAttributeRuleAccess().getNameAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AttributeRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AttributeRule__Group__1__Impl + rule__AttributeRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__AttributeRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAttributeRuleAccess().getColonEqualsSignKeyword_1()); } + ':=' + { after(grammarAccess.getAttributeRuleAccess().getColonEqualsSignKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AttributeRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__AttributeRule__Group__2__Impl + rule__AttributeRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__AttributeRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAttributeRuleAccess().getValueAssignment_2()); } + (rule__AttributeRule__ValueAssignment_2) + { after(grammarAccess.getAttributeRuleAccess().getValueAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AttributeRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__AttributeRule__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AttributeRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAttributeRuleAccess().getSemicolonKeyword_3()); } + ';' + { after(grammarAccess.getAttributeRuleAccess().getSemicolonKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ArrayRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayRule__Group__0__Impl + rule__ArrayRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayRuleAccess().getArrayAction_0()); } + () + { after(grammarAccess.getArrayRuleAccess().getArrayAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayRule__Group__1__Impl + rule__ArrayRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayRuleAccess().getLeftSquareBracketKeyword_1()); } + '[' + { after(grammarAccess.getArrayRuleAccess().getLeftSquareBracketKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayRule__Group__2__Impl + rule__ArrayRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayRuleAccess().getGroup_2()); } + (rule__ArrayRule__Group_2__0)? + { after(grammarAccess.getArrayRuleAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayRule__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayRuleAccess().getRightSquareBracketKeyword_3()); } + ']' + { after(grammarAccess.getArrayRuleAccess().getRightSquareBracketKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ArrayRule__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayRule__Group_2__0__Impl + rule__ArrayRule__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_0()); } + (rule__ArrayRule__ValuesAssignment_2_0) + { after(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayRule__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayRuleAccess().getGroup_2_1()); } + (rule__ArrayRule__Group_2_1__0)* + { after(grammarAccess.getArrayRuleAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ArrayRule__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayRule__Group_2_1__0__Impl + rule__ArrayRule__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayRuleAccess().getCommaKeyword_2_1_0()); } + ',' + { after(grammarAccess.getArrayRuleAccess().getCommaKeyword_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ArrayRule__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_1_1()); } + (rule__ArrayRule__ValuesAssignment_2_1_1) + { after(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DataReferenceRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DataReferenceRule__Group__0__Impl + rule__DataReferenceRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DataReferenceRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDataReferenceRuleAccess().getDataReferenceAction_0()); } + () + { after(grammarAccess.getDataReferenceRuleAccess().getDataReferenceAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DataReferenceRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DataReferenceRule__Group__1__Impl + rule__DataReferenceRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__DataReferenceRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1()); } + 'data' + { after(grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DataReferenceRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__DataReferenceRule__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DataReferenceRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionAssignment_2()); } + (rule__DataReferenceRule__DefinitionAssignment_2) + { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionAssignment_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OrExpressionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpressionRule__Group__0__Impl + rule__OrExpressionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpressionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_0()); } + (rule__OrExpressionRule__SubExpressionsAssignment_0) + { after(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpressionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpressionRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpressionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionRuleAccess().getGroup_1()); } + (rule__OrExpressionRule__Group_1__0)* + { after(grammarAccess.getOrExpressionRuleAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__OrExpressionRule__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpressionRule__Group_1__0__Impl + rule__OrExpressionRule__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpressionRule__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionRuleAccess().getORKeyword_1_0()); } + 'OR' + { after(grammarAccess.getOrExpressionRuleAccess().getORKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpressionRule__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__OrExpressionRule__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpressionRule__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_1_1()); } + (rule__OrExpressionRule__SubExpressionsAssignment_1_1) + { after(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XorExpressionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XorExpressionRule__Group__0__Impl + rule__XorExpressionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XorExpressionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_0()); } + (rule__XorExpressionRule__SubExpressionsAssignment_0) + { after(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XorExpressionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XorExpressionRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XorExpressionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXorExpressionRuleAccess().getGroup_1()); } + (rule__XorExpressionRule__Group_1__0)* + { after(grammarAccess.getXorExpressionRuleAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__XorExpressionRule__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__XorExpressionRule__Group_1__0__Impl + rule__XorExpressionRule__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__XorExpressionRule__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXorExpressionRuleAccess().getXORKeyword_1_0()); } + 'XOR' + { after(grammarAccess.getXorExpressionRuleAccess().getXORKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__XorExpressionRule__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__XorExpressionRule__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__XorExpressionRule__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_1_1()); } + (rule__XorExpressionRule__SubExpressionsAssignment_1_1) + { after(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AndExpressionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpressionRule__Group__0__Impl + rule__AndExpressionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpressionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_0()); } + (rule__AndExpressionRule__SubExpressionsAssignment_0) + { after(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpressionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpressionRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpressionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionRuleAccess().getGroup_1()); } + (rule__AndExpressionRule__Group_1__0)* + { after(grammarAccess.getAndExpressionRuleAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AndExpressionRule__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpressionRule__Group_1__0__Impl + rule__AndExpressionRule__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpressionRule__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionRuleAccess().getANDKeyword_1_0()); } + 'AND' + { after(grammarAccess.getAndExpressionRuleAccess().getANDKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpressionRule__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AndExpressionRule__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpressionRule__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_1_1()); } + (rule__AndExpressionRule__SubExpressionsAssignment_1_1) + { after(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__NotExpressionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__NotExpressionRule__Group__0__Impl + rule__NotExpressionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__NotExpressionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNotExpressionRuleAccess().getNegatedAssignment_0()); } + (rule__NotExpressionRule__NegatedAssignment_0)? + { after(grammarAccess.getNotExpressionRuleAccess().getNegatedAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__NotExpressionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__NotExpressionRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__NotExpressionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getNotExpressionRuleAccess().getOperandAssignment_1()); } + (rule__NotExpressionRule__OperandAssignment_1) + { after(grammarAccess.getNotExpressionRuleAccess().getOperandAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ComparisonExpressionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComparisonExpressionRule__Group__0__Impl + rule__ComparisonExpressionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpressionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAssignment_0()); } + (rule__ComparisonExpressionRule__LeftOperandAssignment_0) + { after(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpressionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ComparisonExpressionRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpressionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getComparisonExpressionRuleAccess().getComparisonAssignment_1()); } + (rule__ComparisonExpressionRule__ComparisonAssignment_1)* + { after(grammarAccess.getComparisonExpressionRuleAccess().getComparisonAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PartialComparisonExpressionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PartialComparisonExpressionRule__Group__0__Impl + rule__PartialComparisonExpressionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PartialComparisonExpressionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorAssignment_0()); } + (rule__PartialComparisonExpressionRule__OperatorAssignment_0) + { after(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PartialComparisonExpressionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PartialComparisonExpressionRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PartialComparisonExpressionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAssignment_1()); } + (rule__PartialComparisonExpressionRule__SubExpressionAssignment_1) + { after(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AddOrSubtractExpressionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AddOrSubtractExpressionRule__Group__0__Impl + rule__AddOrSubtractExpressionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AddOrSubtractExpressionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandAssignment_0()); } + (rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0) + { after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AddOrSubtractExpressionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AddOrSubtractExpressionRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AddOrSubtractExpressionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup_1()); } + (rule__AddOrSubtractExpressionRule__Group_1__0)* + { after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__AddOrSubtractExpressionRule__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__AddOrSubtractExpressionRule__Group_1__0__Impl + rule__AddOrSubtractExpressionRule__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__AddOrSubtractExpressionRule__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_1_0()); } + (rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0) + { after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__AddOrSubtractExpressionRule__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__AddOrSubtractExpressionRule__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__AddOrSubtractExpressionRule__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsAssignment_1_1()); } + (rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1) + { after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MultiplyDivideModuloExpressionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplyDivideModuloExpressionRule__Group__0__Impl + rule__MultiplyDivideModuloExpressionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplyDivideModuloExpressionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandAssignment_0()); } + (rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0) + { after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplyDivideModuloExpressionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplyDivideModuloExpressionRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplyDivideModuloExpressionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup_1()); } + (rule__MultiplyDivideModuloExpressionRule__Group_1__0)* + { after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__MultiplyDivideModuloExpressionRule__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl + rule__MultiplyDivideModuloExpressionRule__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsAssignment_1_0()); } + (rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0) + { after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsAssignment_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplyDivideModuloExpressionRule__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsAssignment_1_1()); } + (rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1) + { after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PowerOfExpressionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PowerOfExpressionRule__Group__0__Impl + rule__PowerOfExpressionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PowerOfExpressionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandAssignment_0()); } + (rule__PowerOfExpressionRule__LeftOperandAssignment_0) + { after(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PowerOfExpressionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PowerOfExpressionRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PowerOfExpressionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPowerOfExpressionRuleAccess().getGroup_1()); } + (rule__PowerOfExpressionRule__Group_1__0)? + { after(grammarAccess.getPowerOfExpressionRuleAccess().getGroup_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__PowerOfExpressionRule__Group_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__PowerOfExpressionRule__Group_1__0__Impl + rule__PowerOfExpressionRule__Group_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__PowerOfExpressionRule__Group_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPowerOfExpressionRuleAccess().getCircumflexAccentKeyword_1_0()); } + '^' + { after(grammarAccess.getPowerOfExpressionRuleAccess().getCircumflexAccentKeyword_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__PowerOfExpressionRule__Group_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__PowerOfExpressionRule__Group_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__PowerOfExpressionRule__Group_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandAssignment_1_1()); } + (rule__PowerOfExpressionRule__RightOperandAssignment_1_1) + { after(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandAssignment_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__UnaryAddOrSubtractExpressionRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl + rule__UnaryAddOrSubtractExpressionRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_0()); } + (rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0)* + { after(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryAddOrSubtractExpressionRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionAssignment_1()); } + (rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1) + { after(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ParanthesesRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesesRule__Group__0__Impl + rule__ParanthesesRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesesRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesesRuleAccess().getLeftParenthesisKeyword_0()); } + '(' + { after(grammarAccess.getParanthesesRuleAccess().getLeftParenthesisKeyword_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesesRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesesRule__Group__1__Impl + rule__ParanthesesRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesesRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesesRuleAccess().getSubExpressionAssignment_1()); } + (rule__ParanthesesRule__SubExpressionAssignment_1) + { after(grammarAccess.getParanthesesRuleAccess().getSubExpressionAssignment_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesesRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__ParanthesesRule__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesesRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getParanthesesRuleAccess().getRightParenthesisKeyword_2()); } + ')' + { after(grammarAccess.getParanthesesRuleAccess().getRightParenthesisKeyword_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CallRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CallRule__Group__0__Impl + rule__CallRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCallRuleAccess().getFunctionAssignment_0()); } + (rule__CallRule__FunctionAssignment_0) + { after(grammarAccess.getCallRuleAccess().getFunctionAssignment_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CallRule__Group__1__Impl + rule__CallRule__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCallRuleAccess().getLeftParenthesisKeyword_1()); } + '(' + { after(grammarAccess.getCallRuleAccess().getLeftParenthesisKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__CallRule__Group__2__Impl + rule__CallRule__Group__3 +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCallRuleAccess().getGroup_2()); } + (rule__CallRule__Group_2__0)? + { after(grammarAccess.getCallRuleAccess().getGroup_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group__3 + @init { + int stackSize = keepStackSize(); + } +: + rule__CallRule__Group__3__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group__3__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCallRuleAccess().getRightParenthesisKeyword_3()); } + ')' + { after(grammarAccess.getCallRuleAccess().getRightParenthesisKeyword_3()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CallRule__Group_2__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CallRule__Group_2__0__Impl + rule__CallRule__Group_2__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group_2__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCallRuleAccess().getParametersAssignment_2_0()); } + (rule__CallRule__ParametersAssignment_2_0) + { after(grammarAccess.getCallRuleAccess().getParametersAssignment_2_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group_2__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CallRule__Group_2__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group_2__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCallRuleAccess().getGroup_2_1()); } + (rule__CallRule__Group_2_1__0)* + { after(grammarAccess.getCallRuleAccess().getGroup_2_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__CallRule__Group_2_1__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__CallRule__Group_2_1__0__Impl + rule__CallRule__Group_2_1__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group_2_1__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCallRuleAccess().getCommaKeyword_2_1_0()); } + ',' + { after(grammarAccess.getCallRuleAccess().getCommaKeyword_2_1_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group_2_1__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__CallRule__Group_2_1__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__Group_2_1__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getCallRuleAccess().getParametersAssignment_2_1_1()); } + (rule__CallRule__ParametersAssignment_2_1_1) + { after(grammarAccess.getCallRuleAccess().getParametersAssignment_2_1_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__FunctionNameRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionNameRule__Group__0__Impl + rule__FunctionNameRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionNameRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionNameRuleAccess().getFunctionNameAction_0()); } + () + { after(grammarAccess.getFunctionNameRuleAccess().getFunctionNameAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionNameRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__FunctionNameRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionNameRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getFunctionNameRuleAccess().getCallKeyword_1()); } + 'call' + { after(grammarAccess.getFunctionNameRuleAccess().getCallKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ValueReferenceRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__ValueReferenceRule__Group__0__Impl + rule__ValueReferenceRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__ValueReferenceRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getValueReferenceRuleAccess().getValueReferenceAction_0()); } + () + { after(grammarAccess.getValueReferenceRuleAccess().getValueReferenceAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__ValueReferenceRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__ValueReferenceRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__ValueReferenceRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getValueReferenceRuleAccess().getValueKeyword_1()); } + 'value' + { after(grammarAccess.getValueReferenceRuleAccess().getValueKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__BooleanLiteralRule__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__BooleanLiteralRule__Group__0__Impl + rule__BooleanLiteralRule__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteralRule__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBooleanLiteralRuleAccess().getBooleanLiteralAction_0()); } + () + { after(grammarAccess.getBooleanLiteralRuleAccess().getBooleanLiteralAction_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteralRule__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__BooleanLiteralRule__Group__1__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteralRule__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getBooleanLiteralRuleAccess().getAlternatives_1()); } + (rule__BooleanLiteralRule__Alternatives_1) + { after(grammarAccess.getBooleanLiteralRuleAccess().getAlternatives_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__DOUBLE__Group__0 + @init { + int stackSize = keepStackSize(); + } +: + rule__DOUBLE__Group__0__Impl + rule__DOUBLE__Group__1 +; +finally { + restoreStackSize(stackSize); +} + +rule__DOUBLE__Group__0__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_0()); } + RULE_INT + { after(grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_0()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DOUBLE__Group__1 + @init { + int stackSize = keepStackSize(); + } +: + rule__DOUBLE__Group__1__Impl + rule__DOUBLE__Group__2 +; +finally { + restoreStackSize(stackSize); +} + +rule__DOUBLE__Group__1__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDOUBLEAccess().getFullStopKeyword_1()); } + '.' + { after(grammarAccess.getDOUBLEAccess().getFullStopKeyword_1()); } +) +; +finally { + restoreStackSize(stackSize); +} + +rule__DOUBLE__Group__2 + @init { + int stackSize = keepStackSize(); + } +: + rule__DOUBLE__Group__2__Impl +; +finally { + restoreStackSize(stackSize); +} + +rule__DOUBLE__Group__2__Impl + @init { + int stackSize = keepStackSize(); + } +: +( + { before(grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_2()); } + RULE_INT + { after(grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_2()); } +) +; +finally { + restoreStackSize(stackSize); +} + + +rule__ConfigurationRule__UsesAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConfigurationRuleAccess().getUsesUseRuleParserRuleCall_0_0()); } + ruleUseRule + { after(grammarAccess.getConfigurationRuleAccess().getUsesUseRuleParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConfigurationRule__GeneratorsAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConfigurationRuleAccess().getGeneratorsGeneratorDefinitionRuleParserRuleCall_1_0()); } + ruleGeneratorDefinitionRule + { after(grammarAccess.getConfigurationRuleAccess().getGeneratorsGeneratorDefinitionRuleParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConfigurationRule__FunctionsAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConfigurationRuleAccess().getFunctionsParametrizedFunctionDefinitionRuleParserRuleCall_2_0()); } + ruleParametrizedFunctionDefinitionRule + { after(grammarAccess.getConfigurationRuleAccess().getFunctionsParametrizedFunctionDefinitionRuleParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ConfigurationRule__StatementsAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getConfigurationRuleAccess().getStatementsStatementRuleParserRuleCall_3_0()); } + ruleStatementRule + { after(grammarAccess.getConfigurationRuleAccess().getStatementsStatementRuleParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UseRule__ImportURIAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUseRuleAccess().getImportURISTRINGTerminalRuleCall_1_0()); } + RULE_STRING + { after(grammarAccess.getUseRuleAccess().getImportURISTRINGTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionRule__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); } + ruleStringOrId + { after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); } + ruleInstanceRule + { after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionRule__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGeneratorDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); } + ruleStringOrId + { after(grammarAccess.getGeneratorDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionRule__DefinitionAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); } + ruleInstanceRule + { after(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__NameAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getForStatementRuleAccess().getNameIDTerminalRuleCall_1_0()); } + RULE_ID + { after(grammarAccess.getForStatementRuleAccess().getNameIDTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__RangeAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getForStatementRuleAccess().getRangeRangeRuleParserRuleCall_3_0()); } + ruleRangeRule + { after(grammarAccess.getForStatementRuleAccess().getRangeRangeRuleParserRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ForStatementRule__StatementsAssignment_5 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getForStatementRuleAccess().getStatementsStatementRuleParserRuleCall_5_0()); } + ruleStatementRule + { after(grammarAccess.getForStatementRuleAccess().getStatementsStatementRuleParserRuleCall_5_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CounterRangeRule__StartAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCounterRangeRuleAccess().getStartINTTerminalRuleCall_1_0()); } + RULE_INT + { after(grammarAccess.getCounterRangeRuleAccess().getStartINTTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CounterRangeRule__EndAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCounterRangeRuleAccess().getEndINTTerminalRuleCall_3_0()); } + RULE_INT + { after(grammarAccess.getCounterRangeRuleAccess().getEndINTTerminalRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionsRule__FunctionReferencesAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionsRuleAccess().getFunctionReferencesFunctionReferencesRuleParserRuleCall_2_0()); } + ruleFunctionReferencesRule + { after(grammarAccess.getFunctionsRuleAccess().getFunctionReferencesFunctionReferencesRuleParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__FunctionsAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_1_0()); } + ruleFunctionDefReferenceRule + { after(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionReferencesRule__FunctionsAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_2_1_0()); } + ruleFunctionDefReferenceRule + { after(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorsRule__GeneratorReferencesAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGeneratorsRuleAccess().getGeneratorReferencesGeneratorReferencesRuleParserRuleCall_2_0()); } + ruleGeneratorReferencesRule + { after(grammarAccess.getGeneratorsRuleAccess().getGeneratorReferencesGeneratorReferencesRuleParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__GeneratorsAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_1_0()); } + ( + { before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_1_0_1()); } + ruleStringOrId + { after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_1_0_1()); } + ) + { after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorReferencesRule__GeneratorsAssignment_2_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_2_1_0()); } + ( + { before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_2_1_0_1()); } + ruleStringOrId + { after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_2_1_0_1()); } + ) + { after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_2_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__FileAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getApplyStatementRuleAccess().getFileSTRINGTerminalRuleCall_1_0()); } + RULE_STRING + { after(grammarAccess.getApplyStatementRuleAccess().getFileSTRINGTerminalRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__CountAssignment_3 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getApplyStatementRuleAccess().getCountINTTerminalRuleCall_3_0()); } + RULE_INT + { after(grammarAccess.getApplyStatementRuleAccess().getCountINTTerminalRuleCall_3_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__FunctionAssignment_7 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getApplyStatementRuleAccess().getFunctionFunctionReferenceRuleParserRuleCall_7_0()); } + ruleFunctionReferenceRule + { after(grammarAccess.getApplyStatementRuleAccess().getFunctionFunctionReferenceRuleParserRuleCall_7_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ApplyStatementRule__GeneratorAssignment_9 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getApplyStatementRuleAccess().getGeneratorGeneratorReferenceRuleParserRuleCall_9_0()); } + ruleGeneratorReferenceRule + { after(grammarAccess.getApplyStatementRuleAccess().getGeneratorGeneratorReferenceRuleParserRuleCall_9_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionGeneratorDefinitionCrossReference_1_0()); } + ( + { before(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionGeneratorDefinitionStringOrIdParserRuleCall_1_0_1()); } + ruleStringOrId + { after(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionGeneratorDefinitionStringOrIdParserRuleCall_1_0_1()); } + ) + { after(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionGeneratorDefinitionCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LoopVariableReference__DefinitionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLoopVariableReferenceAccess().getDefinitionForStatementCrossReference_1_0()); } + ( + { before(grammarAccess.getLoopVariableReferenceAccess().getDefinitionForStatementIDTerminalRuleCall_1_0_1()); } + RULE_ID + { after(grammarAccess.getLoopVariableReferenceAccess().getDefinitionForStatementIDTerminalRuleCall_1_0_1()); } + ) + { after(grammarAccess.getLoopVariableReferenceAccess().getDefinitionForStatementCrossReference_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionCrossReference_2_0()); } + ( + { before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionStringOrIdParserRuleCall_2_0_1()); } + ruleStringOrId + { after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionStringOrIdParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionCrossReference_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionReferenceCrossReference_2_0()); } + ( + { before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionReferenceStringOrIdParserRuleCall_2_0_1()); } + ruleStringOrId + { after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionReferenceStringOrIdParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionReferenceCrossReference_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceRule__NameAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionCrossReference_0_0()); } + ( + { before(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionStringOrIdParserRuleCall_0_0_1()); } + ruleStringOrId + { after(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionStringOrIdParserRuleCall_0_0_1()); } + ) + { after(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionCrossReference_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__InstanceRule__AttributesAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getInstanceRuleAccess().getAttributesAttributeRuleParserRuleCall_1_1_0()); } + ruleAttributeRule + { after(grammarAccess.getInstanceRuleAccess().getAttributesAttributeRuleParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AttributeRule__NameAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAttributeRuleAccess().getNameNameOrMiscRuleParserRuleCall_0_0()); } + ruleNameOrMiscRule + { after(grammarAccess.getAttributeRuleAccess().getNameNameOrMiscRuleParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AttributeRule__ValueAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAttributeRuleAccess().getValueValueRuleParserRuleCall_2_0()); } + ruleValueRule + { after(grammarAccess.getAttributeRuleAccess().getValueValueRuleParserRuleCall_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NameRule__NameAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionCrossReference_0()); } + ( + { before(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionStringOrIdParserRuleCall_0_1()); } + ruleStringOrId + { after(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionStringOrIdParserRuleCall_0_1()); } + ) + { after(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionCrossReference_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MiscRule__NameAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMiscRuleAccess().getNameSTRINGTerminalRuleCall_0()); } + RULE_STRING + { after(grammarAccess.getMiscRuleAccess().getNameSTRINGTerminalRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__ValuesAssignment_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_0_0()); } + ruleValueRule + { after(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ArrayRule__ValuesAssignment_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_1_1_0()); } + ruleValueRule + { after(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__LiteralValueRule__LiteralAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getLiteralValueRuleAccess().getLiteralLiteralRuleParserRuleCall_0()); } + ruleLiteralRule + { after(grammarAccess.getLiteralValueRuleAccess().getLiteralLiteralRuleParserRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DataReferenceRule__DefinitionAssignment_2 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } + ( + { before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); } + ruleStringOrId + { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); } + ) + { after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpressionRule__SubExpressionsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_0_0()); } + ruleXorExpressionRule + { after(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__OrExpressionRule__SubExpressionsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_1_1_0()); } + ruleXorExpressionRule + { after(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XorExpressionRule__SubExpressionsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_0_0()); } + ruleAndExpressionRule + { after(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__XorExpressionRule__SubExpressionsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_1_1_0()); } + ruleAndExpressionRule + { after(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpressionRule__SubExpressionsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_0_0()); } + ruleNotExpressionRule + { after(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AndExpressionRule__SubExpressionsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_1_1_0()); } + ruleNotExpressionRule + { after(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NotExpressionRule__NegatedAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); } + ( + { before(grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); } + '!' + { after(grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); } + ) + { after(grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__NotExpressionRule__OperandAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getNotExpressionRuleAccess().getOperandComparisonExpressionRuleParserRuleCall_1_0()); } + ruleComparisonExpressionRule + { after(grammarAccess.getNotExpressionRuleAccess().getOperandComparisonExpressionRuleParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpressionRule__LeftOperandAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAddOrSubtractExpressionRuleParserRuleCall_0_0()); } + ruleAddOrSubtractExpressionRule + { after(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAddOrSubtractExpressionRuleParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ComparisonExpressionRule__ComparisonAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getComparisonExpressionRuleAccess().getComparisonPartialComparisonExpressionRuleParserRuleCall_1_0()); } + rulePartialComparisonExpressionRule + { after(grammarAccess.getComparisonExpressionRuleAccess().getComparisonPartialComparisonExpressionRuleParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PartialComparisonExpressionRule__OperatorAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorComparisonOperatorRuleEnumRuleCall_0_0()); } + ruleComparisonOperatorRule + { after(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorComparisonOperatorRuleEnumRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAddOrSubtractExpressionRuleParserRuleCall_1_0()); } + ruleAddOrSubtractExpressionRule + { after(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAddOrSubtractExpressionRuleParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandMultiplyDivideModuloExpressionRuleParserRuleCall_0_0()); } + ruleMultiplyDivideModuloExpressionRule + { after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandMultiplyDivideModuloExpressionRuleParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_1_0_0()); } + ruleAddOrSubtractOperatorRule + { after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsMultiplyDivideModuloExpressionRuleParserRuleCall_1_1_0()); } + ruleMultiplyDivideModuloExpressionRule + { after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsMultiplyDivideModuloExpressionRuleParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandPowerOfExpressionRuleParserRuleCall_0_0()); } + rulePowerOfExpressionRule + { after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandPowerOfExpressionRuleParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsMultiplyDivideModuloOperatorRuleEnumRuleCall_1_0_0()); } + ruleMultiplyDivideModuloOperatorRule + { after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsMultiplyDivideModuloOperatorRuleEnumRuleCall_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsPowerOfExpressionRuleParserRuleCall_1_1_0()); } + rulePowerOfExpressionRule + { after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsPowerOfExpressionRuleParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PowerOfExpressionRule__LeftOperandAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandUnaryAddOrSubtractExpressionRuleParserRuleCall_0_0()); } + ruleUnaryAddOrSubtractExpressionRule + { after(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandUnaryAddOrSubtractExpressionRuleParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__PowerOfExpressionRule__RightOperandAssignment_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandPowerOfExpressionRuleParserRuleCall_1_1_0()); } + rulePowerOfExpressionRule + { after(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandPowerOfExpressionRuleParserRuleCall_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_0_0()); } + ruleAddOrSubtractOperatorRule + { after(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionLiteralOrReferenceRuleParserRuleCall_1_0()); } + ruleLiteralOrReferenceRule + { after(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionLiteralOrReferenceRuleParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__ParanthesesRule__SubExpressionAssignment_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getParanthesesRuleAccess().getSubExpressionExpressionRuleParserRuleCall_1_0()); } + ruleExpressionRule + { after(grammarAccess.getParanthesesRuleAccess().getSubExpressionExpressionRuleParserRuleCall_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__FunctionAssignment_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCallRuleAccess().getFunctionFunctionNameRuleParserRuleCall_0_0()); } + ruleFunctionNameRule + { after(grammarAccess.getCallRuleAccess().getFunctionFunctionNameRuleParserRuleCall_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__ParametersAssignment_2_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_0_0()); } + ruleExpressionRule + { after(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__CallRule__ParametersAssignment_2_1_1 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_1_1_0()); } + ruleExpressionRule + { after(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_1_1_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__DoubleLiteralRule__ValueAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getDoubleLiteralRuleAccess().getValueDOUBLEParserRuleCall_0()); } + ruleDOUBLE + { after(grammarAccess.getDoubleLiteralRuleAccess().getValueDOUBLEParserRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__IntegerLiteralRule__ValueAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getIntegerLiteralRuleAccess().getValueINTTerminalRuleCall_0()); } + RULE_INT + { after(grammarAccess.getIntegerLiteralRuleAccess().getValueINTTerminalRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__StringLiteralRule__ValueAssignment + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0()); } + RULE_STRING + { after(grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +rule__BooleanLiteralRule__ValueAssignment_1_0 + @init { + int stackSize = keepStackSize(); + } +: + ( + { before(grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); } + ( + { before(grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); } + 'true' + { after(grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); } + ) + { after(grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); } + ) +; +finally { + restoreStackSize(stackSize); +} + +RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; + +RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\''; + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +RULE_INT : ('0'..'9')+; + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSL.tokens b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSL.tokens new file mode 100644 index 0000000000000000000000000000000000000000..bc5f3c296f7a9365580c0dd3a103e87720387a42 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSL.tokens @@ -0,0 +1,106 @@ +'!'=59 +'!='=16 +'%'=23 +'('=54 +')'=55 +'*'=21 +'+'=19 +','=37 +'-'=20 +'.'=58 +'/'=22 +':='=48 +';'=25 +'<'=17 +'<='=18 +'='=15 +'>'=14 +'>='=13 +'AND'=52 +'OR'=50 +'XOR'=51 +'['=33 +']'=35 +'^'=53 +'applying'=43 +'call'=56 +'data'=49 +'definition'=45 +'end'=32 +'false'=12 +'for'=29 +'from'=42 +'function'=26 +'functions'=36 +'generator'=28 +'generators'=38 +'in'=30 +'loop'=31 +'on'=44 +'samples'=41 +'to'=34 +'true'=60 +'use'=24 +'using'=27 +'value'=57 +'with'=40 +'write'=39 +'{'=46 +'}'=47 +RULE_ANY_OTHER=11 +RULE_ID=5 +RULE_INT=6 +RULE_ML_COMMENT=8 +RULE_QUOTED_ID=4 +RULE_SL_COMMENT=9 +RULE_STRING=7 +RULE_WS=10 +T__12=12 +T__13=13 +T__14=14 +T__15=15 +T__16=16 +T__17=17 +T__18=18 +T__19=19 +T__20=20 +T__21=21 +T__22=22 +T__23=23 +T__24=24 +T__25=25 +T__26=26 +T__27=27 +T__28=28 +T__29=29 +T__30=30 +T__31=31 +T__32=32 +T__33=33 +T__34=34 +T__35=35 +T__36=36 +T__37=37 +T__38=38 +T__39=39 +T__40=40 +T__41=41 +T__42=42 +T__43=43 +T__44=44 +T__45=45 +T__46=46 +T__47=47 +T__48=48 +T__49=49 +T__50=50 +T__51=51 +T__52=52 +T__53=53 +T__54=54 +T__55=55 +T__56=56 +T__57=57 +T__58=58 +T__59=59 +T__60=60 diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSLLexer.java b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSLLexer.java new file mode 100644 index 0000000000000000000000000000000000000000..56e593ff87d080f91085f75f85655519ee0f821c --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSLLexer.java @@ -0,0 +1,2351 @@ +package de.evoal.languages.model.generator.dsl.ide.contentassist.antlr.internal; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalGeneratorDSLLexer extends Lexer { + public static final int T__50=50; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__59=59; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__55=55; + public static final int T__12=12; + public static final int T__56=56; + public static final int T__13=13; + public static final int T__57=57; + public static final int T__14=14; + public static final int T__58=58; + public static final int T__51=51; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int T__60=60; + public static final int RULE_ID=5; + public static final int RULE_QUOTED_ID=4; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int RULE_INT=6; + public static final int T__29=29; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=8; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int RULE_STRING=7; + public static final int RULE_SL_COMMENT=9; + public static final int T__37=37; + public static final int T__38=38; + public static final int T__39=39; + public static final int T__33=33; + public static final int T__34=34; + public static final int T__35=35; + public static final int T__36=36; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_WS=10; + public static final int RULE_ANY_OTHER=11; + public static final int T__48=48; + public static final int T__49=49; + public static final int T__44=44; + public static final int T__45=45; + public static final int T__46=46; + public static final int T__47=47; + public static final int T__40=40; + public static final int T__41=41; + public static final int T__42=42; + public static final int T__43=43; + + // delegates + // delegators + + public InternalGeneratorDSLLexer() {;} + public InternalGeneratorDSLLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalGeneratorDSLLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "InternalGeneratorDSL.g"; } + + // $ANTLR start "T__12" + public final void mT__12() throws RecognitionException { + try { + int _type = T__12; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:11:7: ( 'false' ) + // InternalGeneratorDSL.g:11:9: 'false' + { + match("false"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__12" + + // $ANTLR start "T__13" + public final void mT__13() throws RecognitionException { + try { + int _type = T__13; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:12:7: ( '>=' ) + // InternalGeneratorDSL.g:12:9: '>=' + { + match(">="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__13" + + // $ANTLR start "T__14" + public final void mT__14() throws RecognitionException { + try { + int _type = T__14; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:13:7: ( '>' ) + // InternalGeneratorDSL.g:13:9: '>' + { + match('>'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__14" + + // $ANTLR start "T__15" + public final void mT__15() throws RecognitionException { + try { + int _type = T__15; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:14:7: ( '=' ) + // InternalGeneratorDSL.g:14:9: '=' + { + match('='); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__15" + + // $ANTLR start "T__16" + public final void mT__16() throws RecognitionException { + try { + int _type = T__16; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:15:7: ( '!=' ) + // InternalGeneratorDSL.g:15:9: '!=' + { + match("!="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__16" + + // $ANTLR start "T__17" + public final void mT__17() throws RecognitionException { + try { + int _type = T__17; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:16:7: ( '<' ) + // InternalGeneratorDSL.g:16:9: '<' + { + match('<'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__17" + + // $ANTLR start "T__18" + public final void mT__18() throws RecognitionException { + try { + int _type = T__18; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:17:7: ( '<=' ) + // InternalGeneratorDSL.g:17:9: '<=' + { + match("<="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__18" + + // $ANTLR start "T__19" + public final void mT__19() throws RecognitionException { + try { + int _type = T__19; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:18:7: ( '+' ) + // InternalGeneratorDSL.g:18:9: '+' + { + match('+'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__19" + + // $ANTLR start "T__20" + public final void mT__20() throws RecognitionException { + try { + int _type = T__20; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:19:7: ( '-' ) + // InternalGeneratorDSL.g:19:9: '-' + { + match('-'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__20" + + // $ANTLR start "T__21" + public final void mT__21() throws RecognitionException { + try { + int _type = T__21; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:20:7: ( '*' ) + // InternalGeneratorDSL.g:20:9: '*' + { + match('*'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__21" + + // $ANTLR start "T__22" + public final void mT__22() throws RecognitionException { + try { + int _type = T__22; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:21:7: ( '/' ) + // InternalGeneratorDSL.g:21:9: '/' + { + match('/'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__22" + + // $ANTLR start "T__23" + public final void mT__23() throws RecognitionException { + try { + int _type = T__23; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:22:7: ( '%' ) + // InternalGeneratorDSL.g:22:9: '%' + { + match('%'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__23" + + // $ANTLR start "T__24" + public final void mT__24() throws RecognitionException { + try { + int _type = T__24; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:23:7: ( 'use' ) + // InternalGeneratorDSL.g:23:9: 'use' + { + match("use"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__24" + + // $ANTLR start "T__25" + public final void mT__25() throws RecognitionException { + try { + int _type = T__25; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:24:7: ( ';' ) + // InternalGeneratorDSL.g:24:9: ';' + { + match(';'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__25" + + // $ANTLR start "T__26" + public final void mT__26() throws RecognitionException { + try { + int _type = T__26; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:25:7: ( 'function' ) + // InternalGeneratorDSL.g:25:9: 'function' + { + match("function"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__26" + + // $ANTLR start "T__27" + public final void mT__27() throws RecognitionException { + try { + int _type = T__27; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:26:7: ( 'using' ) + // InternalGeneratorDSL.g:26:9: 'using' + { + match("using"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__27" + + // $ANTLR start "T__28" + public final void mT__28() throws RecognitionException { + try { + int _type = T__28; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:27:7: ( 'generator' ) + // InternalGeneratorDSL.g:27:9: 'generator' + { + match("generator"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__28" + + // $ANTLR start "T__29" + public final void mT__29() throws RecognitionException { + try { + int _type = T__29; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:28:7: ( 'for' ) + // InternalGeneratorDSL.g:28:9: 'for' + { + match("for"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__29" + + // $ANTLR start "T__30" + public final void mT__30() throws RecognitionException { + try { + int _type = T__30; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:29:7: ( 'in' ) + // InternalGeneratorDSL.g:29:9: 'in' + { + match("in"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__30" + + // $ANTLR start "T__31" + public final void mT__31() throws RecognitionException { + try { + int _type = T__31; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:30:7: ( 'loop' ) + // InternalGeneratorDSL.g:30:9: 'loop' + { + match("loop"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__31" + + // $ANTLR start "T__32" + public final void mT__32() throws RecognitionException { + try { + int _type = T__32; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:31:7: ( 'end' ) + // InternalGeneratorDSL.g:31:9: 'end' + { + match("end"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__32" + + // $ANTLR start "T__33" + public final void mT__33() throws RecognitionException { + try { + int _type = T__33; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:32:7: ( '[' ) + // InternalGeneratorDSL.g:32:9: '[' + { + match('['); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__33" + + // $ANTLR start "T__34" + public final void mT__34() throws RecognitionException { + try { + int _type = T__34; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:33:7: ( 'to' ) + // InternalGeneratorDSL.g:33:9: 'to' + { + match("to"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__34" + + // $ANTLR start "T__35" + public final void mT__35() throws RecognitionException { + try { + int _type = T__35; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:34:7: ( ']' ) + // InternalGeneratorDSL.g:34:9: ']' + { + match(']'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__35" + + // $ANTLR start "T__36" + public final void mT__36() throws RecognitionException { + try { + int _type = T__36; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:35:7: ( 'functions' ) + // InternalGeneratorDSL.g:35:9: 'functions' + { + match("functions"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__36" + + // $ANTLR start "T__37" + public final void mT__37() throws RecognitionException { + try { + int _type = T__37; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:36:7: ( ',' ) + // InternalGeneratorDSL.g:36:9: ',' + { + match(','); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__37" + + // $ANTLR start "T__38" + public final void mT__38() throws RecognitionException { + try { + int _type = T__38; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:37:7: ( 'generators' ) + // InternalGeneratorDSL.g:37:9: 'generators' + { + match("generators"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__38" + + // $ANTLR start "T__39" + public final void mT__39() throws RecognitionException { + try { + int _type = T__39; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:38:7: ( 'write' ) + // InternalGeneratorDSL.g:38:9: 'write' + { + match("write"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__39" + + // $ANTLR start "T__40" + public final void mT__40() throws RecognitionException { + try { + int _type = T__40; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:39:7: ( 'with' ) + // InternalGeneratorDSL.g:39:9: 'with' + { + match("with"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__40" + + // $ANTLR start "T__41" + public final void mT__41() throws RecognitionException { + try { + int _type = T__41; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:40:7: ( 'samples' ) + // InternalGeneratorDSL.g:40:9: 'samples' + { + match("samples"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__41" + + // $ANTLR start "T__42" + public final void mT__42() throws RecognitionException { + try { + int _type = T__42; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:41:7: ( 'from' ) + // InternalGeneratorDSL.g:41:9: 'from' + { + match("from"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__42" + + // $ANTLR start "T__43" + public final void mT__43() throws RecognitionException { + try { + int _type = T__43; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:42:7: ( 'applying' ) + // InternalGeneratorDSL.g:42:9: 'applying' + { + match("applying"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__43" + + // $ANTLR start "T__44" + public final void mT__44() throws RecognitionException { + try { + int _type = T__44; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:43:7: ( 'on' ) + // InternalGeneratorDSL.g:43:9: 'on' + { + match("on"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__44" + + // $ANTLR start "T__45" + public final void mT__45() throws RecognitionException { + try { + int _type = T__45; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:44:7: ( 'definition' ) + // InternalGeneratorDSL.g:44:9: 'definition' + { + match("definition"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__45" + + // $ANTLR start "T__46" + public final void mT__46() throws RecognitionException { + try { + int _type = T__46; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:45:7: ( '{' ) + // InternalGeneratorDSL.g:45:9: '{' + { + match('{'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__46" + + // $ANTLR start "T__47" + public final void mT__47() throws RecognitionException { + try { + int _type = T__47; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:46:7: ( '}' ) + // InternalGeneratorDSL.g:46:9: '}' + { + match('}'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__47" + + // $ANTLR start "T__48" + public final void mT__48() throws RecognitionException { + try { + int _type = T__48; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:47:7: ( ':=' ) + // InternalGeneratorDSL.g:47:9: ':=' + { + match(":="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__48" + + // $ANTLR start "T__49" + public final void mT__49() throws RecognitionException { + try { + int _type = T__49; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:48:7: ( 'data' ) + // InternalGeneratorDSL.g:48:9: 'data' + { + match("data"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__49" + + // $ANTLR start "T__50" + public final void mT__50() throws RecognitionException { + try { + int _type = T__50; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:49:7: ( 'OR' ) + // InternalGeneratorDSL.g:49:9: 'OR' + { + match("OR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__50" + + // $ANTLR start "T__51" + public final void mT__51() throws RecognitionException { + try { + int _type = T__51; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:50:7: ( 'XOR' ) + // InternalGeneratorDSL.g:50:9: 'XOR' + { + match("XOR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__51" + + // $ANTLR start "T__52" + public final void mT__52() throws RecognitionException { + try { + int _type = T__52; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:51:7: ( 'AND' ) + // InternalGeneratorDSL.g:51:9: 'AND' + { + match("AND"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__52" + + // $ANTLR start "T__53" + public final void mT__53() throws RecognitionException { + try { + int _type = T__53; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:52:7: ( '^' ) + // InternalGeneratorDSL.g:52:9: '^' + { + match('^'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__53" + + // $ANTLR start "T__54" + public final void mT__54() throws RecognitionException { + try { + int _type = T__54; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:53:7: ( '(' ) + // InternalGeneratorDSL.g:53:9: '(' + { + match('('); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__54" + + // $ANTLR start "T__55" + public final void mT__55() throws RecognitionException { + try { + int _type = T__55; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:54:7: ( ')' ) + // InternalGeneratorDSL.g:54:9: ')' + { + match(')'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__55" + + // $ANTLR start "T__56" + public final void mT__56() throws RecognitionException { + try { + int _type = T__56; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:55:7: ( 'call' ) + // InternalGeneratorDSL.g:55:9: 'call' + { + match("call"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__56" + + // $ANTLR start "T__57" + public final void mT__57() throws RecognitionException { + try { + int _type = T__57; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:56:7: ( 'value' ) + // InternalGeneratorDSL.g:56:9: 'value' + { + match("value"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__57" + + // $ANTLR start "T__58" + public final void mT__58() throws RecognitionException { + try { + int _type = T__58; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:57:7: ( '.' ) + // InternalGeneratorDSL.g:57:9: '.' + { + match('.'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__58" + + // $ANTLR start "T__59" + public final void mT__59() throws RecognitionException { + try { + int _type = T__59; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:58:7: ( '!' ) + // InternalGeneratorDSL.g:58:9: '!' + { + match('!'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__59" + + // $ANTLR start "T__60" + public final void mT__60() throws RecognitionException { + try { + int _type = T__60; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:59:7: ( 'true' ) + // InternalGeneratorDSL.g:59:9: 'true' + { + match("true"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__60" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:6650:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) + // InternalGeneratorDSL.g:6650:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // InternalGeneratorDSL.g:6650:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop1: + do { + int alt1=3; + int LA1_0 = input.LA(1); + + if ( (LA1_0=='\\') ) { + alt1=1; + } + else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) { + alt1=2; + } + + + switch (alt1) { + case 1 : + // InternalGeneratorDSL.g:6650:20: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalGeneratorDSL.g:6650:27: ~ ( ( '\\\\' | '\"' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop1; + } + } while (true); + + match('\"'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_QUOTED_ID" + public final void mRULE_QUOTED_ID() throws RecognitionException { + try { + int _type = RULE_QUOTED_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:6652:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalGeneratorDSL.g:6652:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // InternalGeneratorDSL.g:6652:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop2: + do { + int alt2=3; + int LA2_0 = input.LA(1); + + if ( (LA2_0=='\\') ) { + alt2=1; + } + else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) { + alt2=2; + } + + + switch (alt2) { + case 1 : + // InternalGeneratorDSL.g:6652:24: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalGeneratorDSL.g:6652:31: ~ ( ( '\\\\' | '\\'' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop2; + } + } while (true); + + match('\''); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_QUOTED_ID" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:6654:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalGeneratorDSL.g:6654:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // InternalGeneratorDSL.g:6654:11: ( '^' )? + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='^') ) { + alt3=1; + } + switch (alt3) { + case 1 : + // InternalGeneratorDSL.g:6654:11: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalGeneratorDSL.g:6654:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop4: + do { + int alt4=2; + int LA4_0 = input.LA(1); + + if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // InternalGeneratorDSL.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop4; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:6656:10: ( ( '0' .. '9' )+ ) + // InternalGeneratorDSL.g:6656:12: ( '0' .. '9' )+ + { + // InternalGeneratorDSL.g:6656:12: ( '0' .. '9' )+ + int cnt5=0; + loop5: + do { + int alt5=2; + int LA5_0 = input.LA(1); + + if ( ((LA5_0>='0' && LA5_0<='9')) ) { + alt5=1; + } + + + switch (alt5) { + case 1 : + // InternalGeneratorDSL.g:6656:13: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt5 >= 1 ) break loop5; + EarlyExitException eee = + new EarlyExitException(5, input); + throw eee; + } + cnt5++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_ML_COMMENT" + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:6658:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalGeneratorDSL.g:6658:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // InternalGeneratorDSL.g:6658:24: ( options {greedy=false; } : . )* + loop6: + do { + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='*') ) { + int LA6_1 = input.LA(2); + + if ( (LA6_1=='/') ) { + alt6=2; + } + else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) { + alt6=1; + } + + + } + else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // InternalGeneratorDSL.g:6658:52: . + { + matchAny(); + + } + break; + + default : + break loop6; + } + } while (true); + + match("*/"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ML_COMMENT" + + // $ANTLR start "RULE_SL_COMMENT" + public final void mRULE_SL_COMMENT() throws RecognitionException { + try { + int _type = RULE_SL_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:6660:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalGeneratorDSL.g:6660:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // InternalGeneratorDSL.g:6660:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // InternalGeneratorDSL.g:6660:24: ~ ( ( '\\n' | '\\r' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop7; + } + } while (true); + + // InternalGeneratorDSL.g:6660:40: ( ( '\\r' )? '\\n' )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='\n'||LA9_0=='\r') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalGeneratorDSL.g:6660:41: ( '\\r' )? '\\n' + { + // InternalGeneratorDSL.g:6660:41: ( '\\r' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='\r') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalGeneratorDSL.g:6660:41: '\\r' + { + match('\r'); + + } + break; + + } + + match('\n'); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_SL_COMMENT" + + // $ANTLR start "RULE_WS" + public final void mRULE_WS() throws RecognitionException { + try { + int _type = RULE_WS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:6662:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalGeneratorDSL.g:6662:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalGeneratorDSL.g:6662:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt10=0; + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); + + if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // InternalGeneratorDSL.g: + { + if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt10 >= 1 ) break loop10; + EarlyExitException eee = + new EarlyExitException(10, input); + throw eee; + } + cnt10++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_WS" + + // $ANTLR start "RULE_ANY_OTHER" + public final void mRULE_ANY_OTHER() throws RecognitionException { + try { + int _type = RULE_ANY_OTHER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:6664:16: ( . ) + // InternalGeneratorDSL.g:6664:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalGeneratorDSL.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt11=57; + alt11 = dfa11.predict(input); + switch (alt11) { + case 1 : + // InternalGeneratorDSL.g:1:10: T__12 + { + mT__12(); + + } + break; + case 2 : + // InternalGeneratorDSL.g:1:16: T__13 + { + mT__13(); + + } + break; + case 3 : + // InternalGeneratorDSL.g:1:22: T__14 + { + mT__14(); + + } + break; + case 4 : + // InternalGeneratorDSL.g:1:28: T__15 + { + mT__15(); + + } + break; + case 5 : + // InternalGeneratorDSL.g:1:34: T__16 + { + mT__16(); + + } + break; + case 6 : + // InternalGeneratorDSL.g:1:40: T__17 + { + mT__17(); + + } + break; + case 7 : + // InternalGeneratorDSL.g:1:46: T__18 + { + mT__18(); + + } + break; + case 8 : + // InternalGeneratorDSL.g:1:52: T__19 + { + mT__19(); + + } + break; + case 9 : + // InternalGeneratorDSL.g:1:58: T__20 + { + mT__20(); + + } + break; + case 10 : + // InternalGeneratorDSL.g:1:64: T__21 + { + mT__21(); + + } + break; + case 11 : + // InternalGeneratorDSL.g:1:70: T__22 + { + mT__22(); + + } + break; + case 12 : + // InternalGeneratorDSL.g:1:76: T__23 + { + mT__23(); + + } + break; + case 13 : + // InternalGeneratorDSL.g:1:82: T__24 + { + mT__24(); + + } + break; + case 14 : + // InternalGeneratorDSL.g:1:88: T__25 + { + mT__25(); + + } + break; + case 15 : + // InternalGeneratorDSL.g:1:94: T__26 + { + mT__26(); + + } + break; + case 16 : + // InternalGeneratorDSL.g:1:100: T__27 + { + mT__27(); + + } + break; + case 17 : + // InternalGeneratorDSL.g:1:106: T__28 + { + mT__28(); + + } + break; + case 18 : + // InternalGeneratorDSL.g:1:112: T__29 + { + mT__29(); + + } + break; + case 19 : + // InternalGeneratorDSL.g:1:118: T__30 + { + mT__30(); + + } + break; + case 20 : + // InternalGeneratorDSL.g:1:124: T__31 + { + mT__31(); + + } + break; + case 21 : + // InternalGeneratorDSL.g:1:130: T__32 + { + mT__32(); + + } + break; + case 22 : + // InternalGeneratorDSL.g:1:136: T__33 + { + mT__33(); + + } + break; + case 23 : + // InternalGeneratorDSL.g:1:142: T__34 + { + mT__34(); + + } + break; + case 24 : + // InternalGeneratorDSL.g:1:148: T__35 + { + mT__35(); + + } + break; + case 25 : + // InternalGeneratorDSL.g:1:154: T__36 + { + mT__36(); + + } + break; + case 26 : + // InternalGeneratorDSL.g:1:160: T__37 + { + mT__37(); + + } + break; + case 27 : + // InternalGeneratorDSL.g:1:166: T__38 + { + mT__38(); + + } + break; + case 28 : + // InternalGeneratorDSL.g:1:172: T__39 + { + mT__39(); + + } + break; + case 29 : + // InternalGeneratorDSL.g:1:178: T__40 + { + mT__40(); + + } + break; + case 30 : + // InternalGeneratorDSL.g:1:184: T__41 + { + mT__41(); + + } + break; + case 31 : + // InternalGeneratorDSL.g:1:190: T__42 + { + mT__42(); + + } + break; + case 32 : + // InternalGeneratorDSL.g:1:196: T__43 + { + mT__43(); + + } + break; + case 33 : + // InternalGeneratorDSL.g:1:202: T__44 + { + mT__44(); + + } + break; + case 34 : + // InternalGeneratorDSL.g:1:208: T__45 + { + mT__45(); + + } + break; + case 35 : + // InternalGeneratorDSL.g:1:214: T__46 + { + mT__46(); + + } + break; + case 36 : + // InternalGeneratorDSL.g:1:220: T__47 + { + mT__47(); + + } + break; + case 37 : + // InternalGeneratorDSL.g:1:226: T__48 + { + mT__48(); + + } + break; + case 38 : + // InternalGeneratorDSL.g:1:232: T__49 + { + mT__49(); + + } + break; + case 39 : + // InternalGeneratorDSL.g:1:238: T__50 + { + mT__50(); + + } + break; + case 40 : + // InternalGeneratorDSL.g:1:244: T__51 + { + mT__51(); + + } + break; + case 41 : + // InternalGeneratorDSL.g:1:250: T__52 + { + mT__52(); + + } + break; + case 42 : + // InternalGeneratorDSL.g:1:256: T__53 + { + mT__53(); + + } + break; + case 43 : + // InternalGeneratorDSL.g:1:262: T__54 + { + mT__54(); + + } + break; + case 44 : + // InternalGeneratorDSL.g:1:268: T__55 + { + mT__55(); + + } + break; + case 45 : + // InternalGeneratorDSL.g:1:274: T__56 + { + mT__56(); + + } + break; + case 46 : + // InternalGeneratorDSL.g:1:280: T__57 + { + mT__57(); + + } + break; + case 47 : + // InternalGeneratorDSL.g:1:286: T__58 + { + mT__58(); + + } + break; + case 48 : + // InternalGeneratorDSL.g:1:292: T__59 + { + mT__59(); + + } + break; + case 49 : + // InternalGeneratorDSL.g:1:298: T__60 + { + mT__60(); + + } + break; + case 50 : + // InternalGeneratorDSL.g:1:304: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 51 : + // InternalGeneratorDSL.g:1:316: RULE_QUOTED_ID + { + mRULE_QUOTED_ID(); + + } + break; + case 52 : + // InternalGeneratorDSL.g:1:331: RULE_ID + { + mRULE_ID(); + + } + break; + case 53 : + // InternalGeneratorDSL.g:1:339: RULE_INT + { + mRULE_INT(); + + } + break; + case 54 : + // InternalGeneratorDSL.g:1:348: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 55 : + // InternalGeneratorDSL.g:1:364: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 56 : + // InternalGeneratorDSL.g:1:380: RULE_WS + { + mRULE_WS(); + + } + break; + case 57 : + // InternalGeneratorDSL.g:1:388: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA11 dfa11 = new DFA11(this); + static final String DFA11_eotS = + "\1\uffff\1\60\1\62\1\uffff\1\65\1\67\3\uffff\1\75\1\uffff\1\60\1\uffff\4\60\1\uffff\1\60\2\uffff\5\60\2\uffff\1\53\3\60\1\127\2\uffff\2\60\1\uffff\2\53\4\uffff\4\60\17\uffff\1\60\1\uffff\1\60\1\150\2\60\1\uffff\1\153\1\60\2\uffff\4\60\1\161\2\60\3\uffff\1\164\2\60\3\uffff\2\60\5\uffff\2\60\1\173\1\60\1\175\2\60\1\uffff\1\60\1\u0081\1\uffff\5\60\1\uffff\2\60\1\uffff\1\u0089\1\u008a\4\60\1\uffff\1\u008f\1\uffff\2\60\1\u0092\1\uffff\1\u0093\1\60\1\u0095\3\60\1\u0099\2\uffff\1\u009a\1\60\1\u009c\1\60\1\uffff\1\u009e\1\60\2\uffff\1\u00a0\1\uffff\3\60\2\uffff\1\u00a4\1\uffff\1\60\1\uffff\1\60\1\uffff\3\60\1\uffff\2\60\1\u00ac\2\60\1\u00b0\1\60\1\uffff\1\u00b2\1\60\1\u00b4\1\uffff\1\u00b6\1\uffff\1\60\1\uffff\1\u00b8\1\uffff\1\u00b9\2\uffff"; + static final String DFA11_eofS = + "\u00ba\uffff"; + static final String DFA11_minS = + "\1\0\1\141\1\75\1\uffff\2\75\3\uffff\1\52\1\uffff\1\163\1\uffff\1\145\1\156\1\157\1\156\1\uffff\1\157\2\uffff\1\151\1\141\1\160\1\156\1\141\2\uffff\1\75\1\122\1\117\1\116\1\101\2\uffff\2\141\1\uffff\2\0\4\uffff\1\154\1\156\1\162\1\157\17\uffff\1\145\1\uffff\1\156\1\60\1\157\1\144\1\uffff\1\60\1\165\2\uffff\1\151\1\164\1\155\1\160\1\60\1\146\1\164\3\uffff\1\60\1\122\1\104\3\uffff\2\154\5\uffff\1\163\1\143\1\60\1\155\1\60\1\156\1\145\1\uffff\1\160\1\60\1\uffff\1\145\1\164\1\150\1\160\1\154\1\uffff\1\151\1\141\1\uffff\2\60\1\154\1\165\1\145\1\164\1\uffff\1\60\1\uffff\1\147\1\162\1\60\1\uffff\1\60\1\145\1\60\1\154\1\171\1\156\1\60\2\uffff\1\60\1\145\1\60\1\151\1\uffff\1\60\1\141\2\uffff\1\60\1\uffff\1\145\2\151\2\uffff\1\60\1\uffff\1\157\1\uffff\1\164\1\uffff\1\163\1\156\1\164\1\uffff\1\156\1\157\1\60\1\147\1\151\1\60\1\162\1\uffff\1\60\1\157\1\60\1\uffff\1\60\1\uffff\1\156\1\uffff\1\60\1\uffff\1\60\2\uffff"; + static final String DFA11_maxS = + "\1\uffff\1\165\1\75\1\uffff\2\75\3\uffff\1\57\1\uffff\1\163\1\uffff\1\145\1\156\1\157\1\156\1\uffff\1\162\2\uffff\1\162\1\141\1\160\1\156\1\145\2\uffff\1\75\1\122\1\117\1\116\1\172\2\uffff\2\141\1\uffff\2\uffff\4\uffff\1\154\1\156\1\162\1\157\17\uffff\1\151\1\uffff\1\156\1\172\1\157\1\144\1\uffff\1\172\1\165\2\uffff\1\151\1\164\1\155\1\160\1\172\1\146\1\164\3\uffff\1\172\1\122\1\104\3\uffff\2\154\5\uffff\1\163\1\143\1\172\1\155\1\172\1\156\1\145\1\uffff\1\160\1\172\1\uffff\1\145\1\164\1\150\1\160\1\154\1\uffff\1\151\1\141\1\uffff\2\172\1\154\1\165\1\145\1\164\1\uffff\1\172\1\uffff\1\147\1\162\1\172\1\uffff\1\172\1\145\1\172\1\154\1\171\1\156\1\172\2\uffff\1\172\1\145\1\172\1\151\1\uffff\1\172\1\141\2\uffff\1\172\1\uffff\1\145\2\151\2\uffff\1\172\1\uffff\1\157\1\uffff\1\164\1\uffff\1\163\1\156\1\164\1\uffff\1\156\1\157\1\172\1\147\1\151\1\172\1\162\1\uffff\1\172\1\157\1\172\1\uffff\1\172\1\uffff\1\156\1\uffff\1\172\1\uffff\1\172\2\uffff"; + static final String DFA11_acceptS = + "\3\uffff\1\4\2\uffff\1\10\1\11\1\12\1\uffff\1\14\1\uffff\1\16\4\uffff\1\26\1\uffff\1\30\1\32\5\uffff\1\43\1\44\5\uffff\1\53\1\54\2\uffff\1\57\2\uffff\1\64\1\65\1\70\1\71\4\uffff\1\64\1\2\1\3\1\4\1\5\1\60\1\7\1\6\1\10\1\11\1\12\1\66\1\67\1\13\1\14\1\uffff\1\16\4\uffff\1\26\2\uffff\1\30\1\32\7\uffff\1\43\1\44\1\45\3\uffff\1\52\1\53\1\54\2\uffff\1\57\1\62\1\63\1\65\1\70\7\uffff\1\23\2\uffff\1\27\5\uffff\1\41\2\uffff\1\47\6\uffff\1\22\1\uffff\1\15\3\uffff\1\25\7\uffff\1\50\1\51\4\uffff\1\37\2\uffff\1\24\1\61\1\uffff\1\35\3\uffff\1\46\1\55\1\uffff\1\1\1\uffff\1\20\1\uffff\1\34\3\uffff\1\56\7\uffff\1\36\3\uffff\1\17\1\uffff\1\40\1\uffff\1\31\1\uffff\1\21\1\uffff\1\33\1\42"; + static final String DFA11_specialS = + "\1\1\45\uffff\1\2\1\0\u0092\uffff}>"; + static final String[] DFA11_transitionS = { + "\11\53\2\52\2\53\1\52\22\53\1\52\1\4\1\46\2\53\1\12\1\53\1\47\1\41\1\42\1\10\1\6\1\24\1\7\1\45\1\11\12\51\1\34\1\14\1\5\1\3\1\2\2\53\1\37\15\50\1\35\10\50\1\36\2\50\1\21\1\53\1\23\1\40\1\50\1\53\1\27\1\50\1\43\1\31\1\20\1\1\1\15\1\50\1\16\2\50\1\17\2\50\1\30\3\50\1\26\1\22\1\13\1\44\1\25\3\50\1\32\1\53\1\33\uff82\53", + "\1\54\15\uffff\1\56\2\uffff\1\57\2\uffff\1\55", + "\1\61", + "", + "\1\64", + "\1\66", + "", + "", + "", + "\1\73\4\uffff\1\74", + "", + "\1\77", + "", + "\1\101", + "\1\102", + "\1\103", + "\1\104", + "", + "\1\106\2\uffff\1\107", + "", + "", + "\1\113\10\uffff\1\112", + "\1\114", + "\1\115", + "\1\116", + "\1\120\3\uffff\1\117", + "", + "", + "\1\123", + "\1\124", + "\1\125", + "\1\126", + "\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "", + "\1\132", + "\1\133", + "", + "\0\135", + "\0\136", + "", + "", + "", + "", + "\1\141", + "\1\142", + "\1\143", + "\1\144", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\1\145\3\uffff\1\146", + "", + "\1\147", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\151", + "\1\152", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\154", + "", + "", + "\1\155", + "\1\156", + "\1\157", + "\1\160", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\162", + "\1\163", + "", + "", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\165", + "\1\166", + "", + "", + "", + "\1\167", + "\1\170", + "", + "", + "", + "", + "", + "\1\171", + "\1\172", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\174", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\176", + "\1\177", + "", + "\1\u0080", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u0082", + "\1\u0083", + "\1\u0084", + "\1\u0085", + "\1\u0086", + "", + "\1\u0087", + "\1\u0088", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u008b", + "\1\u008c", + "\1\u008d", + "\1\u008e", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u0090", + "\1\u0091", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0094", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u0096", + "\1\u0097", + "\1\u0098", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u009b", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u009d", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u009f", + "", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u00a1", + "\1\u00a2", + "\1\u00a3", + "", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\1\u00a5", + "", + "\1\u00a6", + "", + "\1\u00a7", + "\1\u00a8", + "\1\u00a9", + "", + "\1\u00aa", + "\1\u00ab", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u00ad", + "\1\u00ae", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u00af\7\60", + "\1\u00b1", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "\1\u00b3", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\22\60\1\u00b5\7\60", + "", + "\1\u00b7", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "\12\60\7\uffff\32\60\4\uffff\1\60\1\uffff\32\60", + "", + "" + }; + + static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS); + static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS); + static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS); + static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS); + static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS); + static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS); + static final short[][] DFA11_transition; + + static { + int numStates = DFA11_transitionS.length; + DFA11_transition = new short[numStates][]; + for (int i=0; i<numStates; i++) { + DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]); + } + } + + class DFA11 extends DFA { + + public DFA11(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 11; + this.eot = DFA11_eot; + this.eof = DFA11_eof; + this.min = DFA11_min; + this.max = DFA11_max; + this.accept = DFA11_accept; + this.special = DFA11_special; + this.transition = DFA11_transition; + } + public String getDescription() { + return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + IntStream input = _input; + int _s = s; + switch ( s ) { + case 0 : + int LA11_39 = input.LA(1); + + s = -1; + if ( ((LA11_39>='\u0000' && LA11_39<='\uFFFF')) ) {s = 94;} + + else s = 43; + + if ( s>=0 ) return s; + break; + case 1 : + int LA11_0 = input.LA(1); + + s = -1; + if ( (LA11_0=='f') ) {s = 1;} + + else if ( (LA11_0=='>') ) {s = 2;} + + else if ( (LA11_0=='=') ) {s = 3;} + + else if ( (LA11_0=='!') ) {s = 4;} + + else if ( (LA11_0=='<') ) {s = 5;} + + else if ( (LA11_0=='+') ) {s = 6;} + + else if ( (LA11_0=='-') ) {s = 7;} + + else if ( (LA11_0=='*') ) {s = 8;} + + else if ( (LA11_0=='/') ) {s = 9;} + + else if ( (LA11_0=='%') ) {s = 10;} + + else if ( (LA11_0=='u') ) {s = 11;} + + else if ( (LA11_0==';') ) {s = 12;} + + else if ( (LA11_0=='g') ) {s = 13;} + + else if ( (LA11_0=='i') ) {s = 14;} + + else if ( (LA11_0=='l') ) {s = 15;} + + else if ( (LA11_0=='e') ) {s = 16;} + + else if ( (LA11_0=='[') ) {s = 17;} + + else if ( (LA11_0=='t') ) {s = 18;} + + else if ( (LA11_0==']') ) {s = 19;} + + else if ( (LA11_0==',') ) {s = 20;} + + else if ( (LA11_0=='w') ) {s = 21;} + + else if ( (LA11_0=='s') ) {s = 22;} + + else if ( (LA11_0=='a') ) {s = 23;} + + else if ( (LA11_0=='o') ) {s = 24;} + + else if ( (LA11_0=='d') ) {s = 25;} + + else if ( (LA11_0=='{') ) {s = 26;} + + else if ( (LA11_0=='}') ) {s = 27;} + + else if ( (LA11_0==':') ) {s = 28;} + + else if ( (LA11_0=='O') ) {s = 29;} + + else if ( (LA11_0=='X') ) {s = 30;} + + else if ( (LA11_0=='A') ) {s = 31;} + + else if ( (LA11_0=='^') ) {s = 32;} + + else if ( (LA11_0=='(') ) {s = 33;} + + else if ( (LA11_0==')') ) {s = 34;} + + else if ( (LA11_0=='c') ) {s = 35;} + + else if ( (LA11_0=='v') ) {s = 36;} + + else if ( (LA11_0=='.') ) {s = 37;} + + else if ( (LA11_0=='\"') ) {s = 38;} + + else if ( (LA11_0=='\'') ) {s = 39;} + + else if ( ((LA11_0>='B' && LA11_0<='N')||(LA11_0>='P' && LA11_0<='W')||(LA11_0>='Y' && LA11_0<='Z')||LA11_0=='_'||LA11_0=='b'||LA11_0=='h'||(LA11_0>='j' && LA11_0<='k')||(LA11_0>='m' && LA11_0<='n')||(LA11_0>='p' && LA11_0<='r')||(LA11_0>='x' && LA11_0<='z')) ) {s = 40;} + + else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 41;} + + else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 42;} + + else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='#' && LA11_0<='$')||LA11_0=='&'||(LA11_0>='?' && LA11_0<='@')||LA11_0=='\\'||LA11_0=='`'||LA11_0=='|'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 43;} + + if ( s>=0 ) return s; + break; + case 2 : + int LA11_38 = input.LA(1); + + s = -1; + if ( ((LA11_38>='\u0000' && LA11_38<='\uFFFF')) ) {s = 93;} + + else s = 43; + + if ( s>=0 ) return s; + break; + } + NoViableAltException nvae = + new NoViableAltException(getDescription(), 11, _s, input); + error(nvae); + throw nvae; + } + } + + +} \ No newline at end of file diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSLParser.java b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSLParser.java new file mode 100644 index 0000000000000000000000000000000000000000..2947bc612b7884bd513eaf7f07a872b93557d3ef --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src-gen/de/evoal/languages/model/generator/dsl/ide/contentassist/antlr/internal/InternalGeneratorDSLParser.java @@ -0,0 +1,20130 @@ +package de.evoal.languages.model.generator.dsl.ide.contentassist.antlr.internal; + +import java.io.InputStream; +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.DFA; +import de.evoal.languages.model.generator.dsl.services.GeneratorDSLGrammarAccess; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalGeneratorDSLParser extends AbstractInternalContentAssistParser { + public static final String[] tokenNames = new String[] { + "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_QUOTED_ID", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'false'", "'>='", "'>'", "'='", "'!='", "'<'", "'<='", "'+'", "'-'", "'*'", "'/'", "'%'", "'use'", "';'", "'function'", "'using'", "'generator'", "'for'", "'in'", "'loop'", "'end'", "'['", "'to'", "']'", "'functions'", "','", "'generators'", "'write'", "'with'", "'samples'", "'from'", "'applying'", "'on'", "'definition'", "'{'", "'}'", "':='", "'data'", "'OR'", "'XOR'", "'AND'", "'^'", "'('", "')'", "'call'", "'value'", "'.'", "'!'", "'true'" + }; + public static final int T__50=50; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__59=59; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__55=55; + public static final int T__12=12; + public static final int T__56=56; + public static final int T__13=13; + public static final int T__57=57; + public static final int T__14=14; + public static final int T__58=58; + public static final int T__51=51; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int T__60=60; + public static final int RULE_ID=5; + public static final int RULE_QUOTED_ID=4; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int RULE_INT=6; + public static final int T__29=29; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=8; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int RULE_STRING=7; + public static final int RULE_SL_COMMENT=9; + public static final int T__37=37; + public static final int T__38=38; + public static final int T__39=39; + public static final int T__33=33; + public static final int T__34=34; + public static final int T__35=35; + public static final int T__36=36; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_WS=10; + public static final int RULE_ANY_OTHER=11; + public static final int T__48=48; + public static final int T__49=49; + public static final int T__44=44; + public static final int T__45=45; + public static final int T__46=46; + public static final int T__47=47; + public static final int T__40=40; + public static final int T__41=41; + public static final int T__42=42; + public static final int T__43=43; + + // delegates + // delegators + + + public InternalGeneratorDSLParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public InternalGeneratorDSLParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + + } + + + public String[] getTokenNames() { return InternalGeneratorDSLParser.tokenNames; } + public String getGrammarFileName() { return "InternalGeneratorDSL.g"; } + + + private GeneratorDSLGrammarAccess grammarAccess; + + public void setGrammarAccess(GeneratorDSLGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } + + @Override + protected Grammar getGrammar() { + return grammarAccess.getGrammar(); + } + + @Override + protected String getValueForTokenName(String tokenName) { + return tokenName; + } + + + + // $ANTLR start "entryRuleConfigurationRule" + // InternalGeneratorDSL.g:53:1: entryRuleConfigurationRule : ruleConfigurationRule EOF ; + public final void entryRuleConfigurationRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:54:1: ( ruleConfigurationRule EOF ) + // InternalGeneratorDSL.g:55:1: ruleConfigurationRule EOF + { + before(grammarAccess.getConfigurationRuleRule()); + pushFollow(FOLLOW_1); + ruleConfigurationRule(); + + state._fsp--; + + after(grammarAccess.getConfigurationRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleConfigurationRule" + + + // $ANTLR start "ruleConfigurationRule" + // InternalGeneratorDSL.g:62:1: ruleConfigurationRule : ( ( rule__ConfigurationRule__Group__0 ) ) ; + public final void ruleConfigurationRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:66:2: ( ( ( rule__ConfigurationRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:67:2: ( ( rule__ConfigurationRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:67:2: ( ( rule__ConfigurationRule__Group__0 ) ) + // InternalGeneratorDSL.g:68:3: ( rule__ConfigurationRule__Group__0 ) + { + before(grammarAccess.getConfigurationRuleAccess().getGroup()); + // InternalGeneratorDSL.g:69:3: ( rule__ConfigurationRule__Group__0 ) + // InternalGeneratorDSL.g:69:4: rule__ConfigurationRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__ConfigurationRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getConfigurationRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleConfigurationRule" + + + // $ANTLR start "entryRuleUseRule" + // InternalGeneratorDSL.g:78:1: entryRuleUseRule : ruleUseRule EOF ; + public final void entryRuleUseRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:79:1: ( ruleUseRule EOF ) + // InternalGeneratorDSL.g:80:1: ruleUseRule EOF + { + before(grammarAccess.getUseRuleRule()); + pushFollow(FOLLOW_1); + ruleUseRule(); + + state._fsp--; + + after(grammarAccess.getUseRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleUseRule" + + + // $ANTLR start "ruleUseRule" + // InternalGeneratorDSL.g:87:1: ruleUseRule : ( ( rule__UseRule__Group__0 ) ) ; + public final void ruleUseRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:91:2: ( ( ( rule__UseRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:92:2: ( ( rule__UseRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:92:2: ( ( rule__UseRule__Group__0 ) ) + // InternalGeneratorDSL.g:93:3: ( rule__UseRule__Group__0 ) + { + before(grammarAccess.getUseRuleAccess().getGroup()); + // InternalGeneratorDSL.g:94:3: ( rule__UseRule__Group__0 ) + // InternalGeneratorDSL.g:94:4: rule__UseRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__UseRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getUseRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleUseRule" + + + // $ANTLR start "entryRuleParametrizedFunctionDefinitionRule" + // InternalGeneratorDSL.g:103:1: entryRuleParametrizedFunctionDefinitionRule : ruleParametrizedFunctionDefinitionRule EOF ; + public final void entryRuleParametrizedFunctionDefinitionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:104:1: ( ruleParametrizedFunctionDefinitionRule EOF ) + // InternalGeneratorDSL.g:105:1: ruleParametrizedFunctionDefinitionRule EOF + { + before(grammarAccess.getParametrizedFunctionDefinitionRuleRule()); + pushFollow(FOLLOW_1); + ruleParametrizedFunctionDefinitionRule(); + + state._fsp--; + + after(grammarAccess.getParametrizedFunctionDefinitionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleParametrizedFunctionDefinitionRule" + + + // $ANTLR start "ruleParametrizedFunctionDefinitionRule" + // InternalGeneratorDSL.g:112:1: ruleParametrizedFunctionDefinitionRule : ( ( rule__ParametrizedFunctionDefinitionRule__Group__0 ) ) ; + public final void ruleParametrizedFunctionDefinitionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:116:2: ( ( ( rule__ParametrizedFunctionDefinitionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:117:2: ( ( rule__ParametrizedFunctionDefinitionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:117:2: ( ( rule__ParametrizedFunctionDefinitionRule__Group__0 ) ) + // InternalGeneratorDSL.g:118:3: ( rule__ParametrizedFunctionDefinitionRule__Group__0 ) + { + before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:119:3: ( rule__ParametrizedFunctionDefinitionRule__Group__0 ) + // InternalGeneratorDSL.g:119:4: rule__ParametrizedFunctionDefinitionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleParametrizedFunctionDefinitionRule" + + + // $ANTLR start "entryRuleGeneratorDefinitionRule" + // InternalGeneratorDSL.g:128:1: entryRuleGeneratorDefinitionRule : ruleGeneratorDefinitionRule EOF ; + public final void entryRuleGeneratorDefinitionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:129:1: ( ruleGeneratorDefinitionRule EOF ) + // InternalGeneratorDSL.g:130:1: ruleGeneratorDefinitionRule EOF + { + before(grammarAccess.getGeneratorDefinitionRuleRule()); + pushFollow(FOLLOW_1); + ruleGeneratorDefinitionRule(); + + state._fsp--; + + after(grammarAccess.getGeneratorDefinitionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleGeneratorDefinitionRule" + + + // $ANTLR start "ruleGeneratorDefinitionRule" + // InternalGeneratorDSL.g:137:1: ruleGeneratorDefinitionRule : ( ( rule__GeneratorDefinitionRule__Group__0 ) ) ; + public final void ruleGeneratorDefinitionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:141:2: ( ( ( rule__GeneratorDefinitionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:142:2: ( ( rule__GeneratorDefinitionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:142:2: ( ( rule__GeneratorDefinitionRule__Group__0 ) ) + // InternalGeneratorDSL.g:143:3: ( rule__GeneratorDefinitionRule__Group__0 ) + { + before(grammarAccess.getGeneratorDefinitionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:144:3: ( rule__GeneratorDefinitionRule__Group__0 ) + // InternalGeneratorDSL.g:144:4: rule__GeneratorDefinitionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getGeneratorDefinitionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleGeneratorDefinitionRule" + + + // $ANTLR start "entryRuleStatementRule" + // InternalGeneratorDSL.g:153:1: entryRuleStatementRule : ruleStatementRule EOF ; + public final void entryRuleStatementRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:154:1: ( ruleStatementRule EOF ) + // InternalGeneratorDSL.g:155:1: ruleStatementRule EOF + { + before(grammarAccess.getStatementRuleRule()); + pushFollow(FOLLOW_1); + ruleStatementRule(); + + state._fsp--; + + after(grammarAccess.getStatementRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleStatementRule" + + + // $ANTLR start "ruleStatementRule" + // InternalGeneratorDSL.g:162:1: ruleStatementRule : ( ( rule__StatementRule__Alternatives ) ) ; + public final void ruleStatementRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:166:2: ( ( ( rule__StatementRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:167:2: ( ( rule__StatementRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:167:2: ( ( rule__StatementRule__Alternatives ) ) + // InternalGeneratorDSL.g:168:3: ( rule__StatementRule__Alternatives ) + { + before(grammarAccess.getStatementRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:169:3: ( rule__StatementRule__Alternatives ) + // InternalGeneratorDSL.g:169:4: rule__StatementRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__StatementRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getStatementRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleStatementRule" + + + // $ANTLR start "entryRuleForStatementRule" + // InternalGeneratorDSL.g:178:1: entryRuleForStatementRule : ruleForStatementRule EOF ; + public final void entryRuleForStatementRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:179:1: ( ruleForStatementRule EOF ) + // InternalGeneratorDSL.g:180:1: ruleForStatementRule EOF + { + before(grammarAccess.getForStatementRuleRule()); + pushFollow(FOLLOW_1); + ruleForStatementRule(); + + state._fsp--; + + after(grammarAccess.getForStatementRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleForStatementRule" + + + // $ANTLR start "ruleForStatementRule" + // InternalGeneratorDSL.g:187:1: ruleForStatementRule : ( ( rule__ForStatementRule__Group__0 ) ) ; + public final void ruleForStatementRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:191:2: ( ( ( rule__ForStatementRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:192:2: ( ( rule__ForStatementRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:192:2: ( ( rule__ForStatementRule__Group__0 ) ) + // InternalGeneratorDSL.g:193:3: ( rule__ForStatementRule__Group__0 ) + { + before(grammarAccess.getForStatementRuleAccess().getGroup()); + // InternalGeneratorDSL.g:194:3: ( rule__ForStatementRule__Group__0 ) + // InternalGeneratorDSL.g:194:4: rule__ForStatementRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__ForStatementRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getForStatementRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleForStatementRule" + + + // $ANTLR start "entryRuleRangeRule" + // InternalGeneratorDSL.g:203:1: entryRuleRangeRule : ruleRangeRule EOF ; + public final void entryRuleRangeRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:204:1: ( ruleRangeRule EOF ) + // InternalGeneratorDSL.g:205:1: ruleRangeRule EOF + { + before(grammarAccess.getRangeRuleRule()); + pushFollow(FOLLOW_1); + ruleRangeRule(); + + state._fsp--; + + after(grammarAccess.getRangeRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleRangeRule" + + + // $ANTLR start "ruleRangeRule" + // InternalGeneratorDSL.g:212:1: ruleRangeRule : ( ( rule__RangeRule__Alternatives ) ) ; + public final void ruleRangeRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:216:2: ( ( ( rule__RangeRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:217:2: ( ( rule__RangeRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:217:2: ( ( rule__RangeRule__Alternatives ) ) + // InternalGeneratorDSL.g:218:3: ( rule__RangeRule__Alternatives ) + { + before(grammarAccess.getRangeRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:219:3: ( rule__RangeRule__Alternatives ) + // InternalGeneratorDSL.g:219:4: rule__RangeRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__RangeRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getRangeRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleRangeRule" + + + // $ANTLR start "entryRuleCounterRangeRule" + // InternalGeneratorDSL.g:228:1: entryRuleCounterRangeRule : ruleCounterRangeRule EOF ; + public final void entryRuleCounterRangeRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:229:1: ( ruleCounterRangeRule EOF ) + // InternalGeneratorDSL.g:230:1: ruleCounterRangeRule EOF + { + before(grammarAccess.getCounterRangeRuleRule()); + pushFollow(FOLLOW_1); + ruleCounterRangeRule(); + + state._fsp--; + + after(grammarAccess.getCounterRangeRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleCounterRangeRule" + + + // $ANTLR start "ruleCounterRangeRule" + // InternalGeneratorDSL.g:237:1: ruleCounterRangeRule : ( ( rule__CounterRangeRule__Group__0 ) ) ; + public final void ruleCounterRangeRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:241:2: ( ( ( rule__CounterRangeRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:242:2: ( ( rule__CounterRangeRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:242:2: ( ( rule__CounterRangeRule__Group__0 ) ) + // InternalGeneratorDSL.g:243:3: ( rule__CounterRangeRule__Group__0 ) + { + before(grammarAccess.getCounterRangeRuleAccess().getGroup()); + // InternalGeneratorDSL.g:244:3: ( rule__CounterRangeRule__Group__0 ) + // InternalGeneratorDSL.g:244:4: rule__CounterRangeRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__CounterRangeRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getCounterRangeRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleCounterRangeRule" + + + // $ANTLR start "entryRuleFunctionsRule" + // InternalGeneratorDSL.g:253:1: entryRuleFunctionsRule : ruleFunctionsRule EOF ; + public final void entryRuleFunctionsRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:254:1: ( ruleFunctionsRule EOF ) + // InternalGeneratorDSL.g:255:1: ruleFunctionsRule EOF + { + before(grammarAccess.getFunctionsRuleRule()); + pushFollow(FOLLOW_1); + ruleFunctionsRule(); + + state._fsp--; + + after(grammarAccess.getFunctionsRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleFunctionsRule" + + + // $ANTLR start "ruleFunctionsRule" + // InternalGeneratorDSL.g:262:1: ruleFunctionsRule : ( ( rule__FunctionsRule__Group__0 ) ) ; + public final void ruleFunctionsRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:266:2: ( ( ( rule__FunctionsRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:267:2: ( ( rule__FunctionsRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:267:2: ( ( rule__FunctionsRule__Group__0 ) ) + // InternalGeneratorDSL.g:268:3: ( rule__FunctionsRule__Group__0 ) + { + before(grammarAccess.getFunctionsRuleAccess().getGroup()); + // InternalGeneratorDSL.g:269:3: ( rule__FunctionsRule__Group__0 ) + // InternalGeneratorDSL.g:269:4: rule__FunctionsRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__FunctionsRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionsRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleFunctionsRule" + + + // $ANTLR start "entryRuleFunctionReferencesRule" + // InternalGeneratorDSL.g:278:1: entryRuleFunctionReferencesRule : ruleFunctionReferencesRule EOF ; + public final void entryRuleFunctionReferencesRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:279:1: ( ruleFunctionReferencesRule EOF ) + // InternalGeneratorDSL.g:280:1: ruleFunctionReferencesRule EOF + { + before(grammarAccess.getFunctionReferencesRuleRule()); + pushFollow(FOLLOW_1); + ruleFunctionReferencesRule(); + + state._fsp--; + + after(grammarAccess.getFunctionReferencesRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleFunctionReferencesRule" + + + // $ANTLR start "ruleFunctionReferencesRule" + // InternalGeneratorDSL.g:287:1: ruleFunctionReferencesRule : ( ( rule__FunctionReferencesRule__Group__0 ) ) ; + public final void ruleFunctionReferencesRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:291:2: ( ( ( rule__FunctionReferencesRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:292:2: ( ( rule__FunctionReferencesRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:292:2: ( ( rule__FunctionReferencesRule__Group__0 ) ) + // InternalGeneratorDSL.g:293:3: ( rule__FunctionReferencesRule__Group__0 ) + { + before(grammarAccess.getFunctionReferencesRuleAccess().getGroup()); + // InternalGeneratorDSL.g:294:3: ( rule__FunctionReferencesRule__Group__0 ) + // InternalGeneratorDSL.g:294:4: rule__FunctionReferencesRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__FunctionReferencesRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionReferencesRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleFunctionReferencesRule" + + + // $ANTLR start "entryRuleGeneratorsRule" + // InternalGeneratorDSL.g:303:1: entryRuleGeneratorsRule : ruleGeneratorsRule EOF ; + public final void entryRuleGeneratorsRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:304:1: ( ruleGeneratorsRule EOF ) + // InternalGeneratorDSL.g:305:1: ruleGeneratorsRule EOF + { + before(grammarAccess.getGeneratorsRuleRule()); + pushFollow(FOLLOW_1); + ruleGeneratorsRule(); + + state._fsp--; + + after(grammarAccess.getGeneratorsRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleGeneratorsRule" + + + // $ANTLR start "ruleGeneratorsRule" + // InternalGeneratorDSL.g:312:1: ruleGeneratorsRule : ( ( rule__GeneratorsRule__Group__0 ) ) ; + public final void ruleGeneratorsRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:316:2: ( ( ( rule__GeneratorsRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:317:2: ( ( rule__GeneratorsRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:317:2: ( ( rule__GeneratorsRule__Group__0 ) ) + // InternalGeneratorDSL.g:318:3: ( rule__GeneratorsRule__Group__0 ) + { + before(grammarAccess.getGeneratorsRuleAccess().getGroup()); + // InternalGeneratorDSL.g:319:3: ( rule__GeneratorsRule__Group__0 ) + // InternalGeneratorDSL.g:319:4: rule__GeneratorsRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__GeneratorsRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getGeneratorsRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleGeneratorsRule" + + + // $ANTLR start "entryRuleGeneratorReferencesRule" + // InternalGeneratorDSL.g:328:1: entryRuleGeneratorReferencesRule : ruleGeneratorReferencesRule EOF ; + public final void entryRuleGeneratorReferencesRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:329:1: ( ruleGeneratorReferencesRule EOF ) + // InternalGeneratorDSL.g:330:1: ruleGeneratorReferencesRule EOF + { + before(grammarAccess.getGeneratorReferencesRuleRule()); + pushFollow(FOLLOW_1); + ruleGeneratorReferencesRule(); + + state._fsp--; + + after(grammarAccess.getGeneratorReferencesRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleGeneratorReferencesRule" + + + // $ANTLR start "ruleGeneratorReferencesRule" + // InternalGeneratorDSL.g:337:1: ruleGeneratorReferencesRule : ( ( rule__GeneratorReferencesRule__Group__0 ) ) ; + public final void ruleGeneratorReferencesRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:341:2: ( ( ( rule__GeneratorReferencesRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:342:2: ( ( rule__GeneratorReferencesRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:342:2: ( ( rule__GeneratorReferencesRule__Group__0 ) ) + // InternalGeneratorDSL.g:343:3: ( rule__GeneratorReferencesRule__Group__0 ) + { + before(grammarAccess.getGeneratorReferencesRuleAccess().getGroup()); + // InternalGeneratorDSL.g:344:3: ( rule__GeneratorReferencesRule__Group__0 ) + // InternalGeneratorDSL.g:344:4: rule__GeneratorReferencesRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__GeneratorReferencesRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getGeneratorReferencesRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleGeneratorReferencesRule" + + + // $ANTLR start "entryRuleApplyStatementRule" + // InternalGeneratorDSL.g:353:1: entryRuleApplyStatementRule : ruleApplyStatementRule EOF ; + public final void entryRuleApplyStatementRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:354:1: ( ruleApplyStatementRule EOF ) + // InternalGeneratorDSL.g:355:1: ruleApplyStatementRule EOF + { + before(grammarAccess.getApplyStatementRuleRule()); + pushFollow(FOLLOW_1); + ruleApplyStatementRule(); + + state._fsp--; + + after(grammarAccess.getApplyStatementRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleApplyStatementRule" + + + // $ANTLR start "ruleApplyStatementRule" + // InternalGeneratorDSL.g:362:1: ruleApplyStatementRule : ( ( rule__ApplyStatementRule__Group__0 ) ) ; + public final void ruleApplyStatementRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:366:2: ( ( ( rule__ApplyStatementRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:367:2: ( ( rule__ApplyStatementRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:367:2: ( ( rule__ApplyStatementRule__Group__0 ) ) + // InternalGeneratorDSL.g:368:3: ( rule__ApplyStatementRule__Group__0 ) + { + before(grammarAccess.getApplyStatementRuleAccess().getGroup()); + // InternalGeneratorDSL.g:369:3: ( rule__ApplyStatementRule__Group__0 ) + // InternalGeneratorDSL.g:369:4: rule__ApplyStatementRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getApplyStatementRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleApplyStatementRule" + + + // $ANTLR start "entryRuleGeneratorReferenceRule" + // InternalGeneratorDSL.g:378:1: entryRuleGeneratorReferenceRule : ruleGeneratorReferenceRule EOF ; + public final void entryRuleGeneratorReferenceRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:379:1: ( ruleGeneratorReferenceRule EOF ) + // InternalGeneratorDSL.g:380:1: ruleGeneratorReferenceRule EOF + { + before(grammarAccess.getGeneratorReferenceRuleRule()); + pushFollow(FOLLOW_1); + ruleGeneratorReferenceRule(); + + state._fsp--; + + after(grammarAccess.getGeneratorReferenceRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleGeneratorReferenceRule" + + + // $ANTLR start "ruleGeneratorReferenceRule" + // InternalGeneratorDSL.g:387:1: ruleGeneratorReferenceRule : ( ( rule__GeneratorReferenceRule__Alternatives ) ) ; + public final void ruleGeneratorReferenceRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:391:2: ( ( ( rule__GeneratorReferenceRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:392:2: ( ( rule__GeneratorReferenceRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:392:2: ( ( rule__GeneratorReferenceRule__Alternatives ) ) + // InternalGeneratorDSL.g:393:3: ( rule__GeneratorReferenceRule__Alternatives ) + { + before(grammarAccess.getGeneratorReferenceRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:394:3: ( rule__GeneratorReferenceRule__Alternatives ) + // InternalGeneratorDSL.g:394:4: rule__GeneratorReferenceRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__GeneratorReferenceRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getGeneratorReferenceRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleGeneratorReferenceRule" + + + // $ANTLR start "entryRuleGeneratorDefinitionReferenceRule" + // InternalGeneratorDSL.g:403:1: entryRuleGeneratorDefinitionReferenceRule : ruleGeneratorDefinitionReferenceRule EOF ; + public final void entryRuleGeneratorDefinitionReferenceRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:404:1: ( ruleGeneratorDefinitionReferenceRule EOF ) + // InternalGeneratorDSL.g:405:1: ruleGeneratorDefinitionReferenceRule EOF + { + before(grammarAccess.getGeneratorDefinitionReferenceRuleRule()); + pushFollow(FOLLOW_1); + ruleGeneratorDefinitionReferenceRule(); + + state._fsp--; + + after(grammarAccess.getGeneratorDefinitionReferenceRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleGeneratorDefinitionReferenceRule" + + + // $ANTLR start "ruleGeneratorDefinitionReferenceRule" + // InternalGeneratorDSL.g:412:1: ruleGeneratorDefinitionReferenceRule : ( ( rule__GeneratorDefinitionReferenceRule__Group__0 ) ) ; + public final void ruleGeneratorDefinitionReferenceRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:416:2: ( ( ( rule__GeneratorDefinitionReferenceRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:417:2: ( ( rule__GeneratorDefinitionReferenceRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:417:2: ( ( rule__GeneratorDefinitionReferenceRule__Group__0 ) ) + // InternalGeneratorDSL.g:418:3: ( rule__GeneratorDefinitionReferenceRule__Group__0 ) + { + before(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getGroup()); + // InternalGeneratorDSL.g:419:3: ( rule__GeneratorDefinitionReferenceRule__Group__0 ) + // InternalGeneratorDSL.g:419:4: rule__GeneratorDefinitionReferenceRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionReferenceRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleGeneratorDefinitionReferenceRule" + + + // $ANTLR start "entryRuleFunctionReferenceRule" + // InternalGeneratorDSL.g:428:1: entryRuleFunctionReferenceRule : ruleFunctionReferenceRule EOF ; + public final void entryRuleFunctionReferenceRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:429:1: ( ruleFunctionReferenceRule EOF ) + // InternalGeneratorDSL.g:430:1: ruleFunctionReferenceRule EOF + { + before(grammarAccess.getFunctionReferenceRuleRule()); + pushFollow(FOLLOW_1); + ruleFunctionReferenceRule(); + + state._fsp--; + + after(grammarAccess.getFunctionReferenceRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleFunctionReferenceRule" + + + // $ANTLR start "ruleFunctionReferenceRule" + // InternalGeneratorDSL.g:437:1: ruleFunctionReferenceRule : ( ( rule__FunctionReferenceRule__Alternatives ) ) ; + public final void ruleFunctionReferenceRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:441:2: ( ( ( rule__FunctionReferenceRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:442:2: ( ( rule__FunctionReferenceRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:442:2: ( ( rule__FunctionReferenceRule__Alternatives ) ) + // InternalGeneratorDSL.g:443:3: ( rule__FunctionReferenceRule__Alternatives ) + { + before(grammarAccess.getFunctionReferenceRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:444:3: ( rule__FunctionReferenceRule__Alternatives ) + // InternalGeneratorDSL.g:444:4: rule__FunctionReferenceRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__FunctionReferenceRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionReferenceRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleFunctionReferenceRule" + + + // $ANTLR start "entryRuleFunctionDefReferenceRule" + // InternalGeneratorDSL.g:453:1: entryRuleFunctionDefReferenceRule : ruleFunctionDefReferenceRule EOF ; + public final void entryRuleFunctionDefReferenceRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:454:1: ( ruleFunctionDefReferenceRule EOF ) + // InternalGeneratorDSL.g:455:1: ruleFunctionDefReferenceRule EOF + { + before(grammarAccess.getFunctionDefReferenceRuleRule()); + pushFollow(FOLLOW_1); + ruleFunctionDefReferenceRule(); + + state._fsp--; + + after(grammarAccess.getFunctionDefReferenceRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleFunctionDefReferenceRule" + + + // $ANTLR start "ruleFunctionDefReferenceRule" + // InternalGeneratorDSL.g:462:1: ruleFunctionDefReferenceRule : ( ( rule__FunctionDefReferenceRule__Alternatives ) ) ; + public final void ruleFunctionDefReferenceRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:466:2: ( ( ( rule__FunctionDefReferenceRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:467:2: ( ( rule__FunctionDefReferenceRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:467:2: ( ( rule__FunctionDefReferenceRule__Alternatives ) ) + // InternalGeneratorDSL.g:468:3: ( rule__FunctionDefReferenceRule__Alternatives ) + { + before(grammarAccess.getFunctionDefReferenceRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:469:3: ( rule__FunctionDefReferenceRule__Alternatives ) + // InternalGeneratorDSL.g:469:4: rule__FunctionDefReferenceRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__FunctionDefReferenceRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionDefReferenceRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleFunctionDefReferenceRule" + + + // $ANTLR start "entryRuleLoopVariableReference" + // InternalGeneratorDSL.g:478:1: entryRuleLoopVariableReference : ruleLoopVariableReference EOF ; + public final void entryRuleLoopVariableReference() throws RecognitionException { + try { + // InternalGeneratorDSL.g:479:1: ( ruleLoopVariableReference EOF ) + // InternalGeneratorDSL.g:480:1: ruleLoopVariableReference EOF + { + before(grammarAccess.getLoopVariableReferenceRule()); + pushFollow(FOLLOW_1); + ruleLoopVariableReference(); + + state._fsp--; + + after(grammarAccess.getLoopVariableReferenceRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLoopVariableReference" + + + // $ANTLR start "ruleLoopVariableReference" + // InternalGeneratorDSL.g:487:1: ruleLoopVariableReference : ( ( rule__LoopVariableReference__Group__0 ) ) ; + public final void ruleLoopVariableReference() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:491:2: ( ( ( rule__LoopVariableReference__Group__0 ) ) ) + // InternalGeneratorDSL.g:492:2: ( ( rule__LoopVariableReference__Group__0 ) ) + { + // InternalGeneratorDSL.g:492:2: ( ( rule__LoopVariableReference__Group__0 ) ) + // InternalGeneratorDSL.g:493:3: ( rule__LoopVariableReference__Group__0 ) + { + before(grammarAccess.getLoopVariableReferenceAccess().getGroup()); + // InternalGeneratorDSL.g:494:3: ( rule__LoopVariableReference__Group__0 ) + // InternalGeneratorDSL.g:494:4: rule__LoopVariableReference__Group__0 + { + pushFollow(FOLLOW_2); + rule__LoopVariableReference__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getLoopVariableReferenceAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLoopVariableReference" + + + // $ANTLR start "entryRuleFunctionDefinitionReferenceRule" + // InternalGeneratorDSL.g:503:1: entryRuleFunctionDefinitionReferenceRule : ruleFunctionDefinitionReferenceRule EOF ; + public final void entryRuleFunctionDefinitionReferenceRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:504:1: ( ruleFunctionDefinitionReferenceRule EOF ) + // InternalGeneratorDSL.g:505:1: ruleFunctionDefinitionReferenceRule EOF + { + before(grammarAccess.getFunctionDefinitionReferenceRuleRule()); + pushFollow(FOLLOW_1); + ruleFunctionDefinitionReferenceRule(); + + state._fsp--; + + after(grammarAccess.getFunctionDefinitionReferenceRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleFunctionDefinitionReferenceRule" + + + // $ANTLR start "ruleFunctionDefinitionReferenceRule" + // InternalGeneratorDSL.g:512:1: ruleFunctionDefinitionReferenceRule : ( ( rule__FunctionDefinitionReferenceRule__Group__0 ) ) ; + public final void ruleFunctionDefinitionReferenceRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:516:2: ( ( ( rule__FunctionDefinitionReferenceRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:517:2: ( ( rule__FunctionDefinitionReferenceRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:517:2: ( ( rule__FunctionDefinitionReferenceRule__Group__0 ) ) + // InternalGeneratorDSL.g:518:3: ( rule__FunctionDefinitionReferenceRule__Group__0 ) + { + before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getGroup()); + // InternalGeneratorDSL.g:519:3: ( rule__FunctionDefinitionReferenceRule__Group__0 ) + // InternalGeneratorDSL.g:519:4: rule__FunctionDefinitionReferenceRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__FunctionDefinitionReferenceRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleFunctionDefinitionReferenceRule" + + + // $ANTLR start "entryRuleParametrizedFunctionDefinitionReferenceRule" + // InternalGeneratorDSL.g:528:1: entryRuleParametrizedFunctionDefinitionReferenceRule : ruleParametrizedFunctionDefinitionReferenceRule EOF ; + public final void entryRuleParametrizedFunctionDefinitionReferenceRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:529:1: ( ruleParametrizedFunctionDefinitionReferenceRule EOF ) + // InternalGeneratorDSL.g:530:1: ruleParametrizedFunctionDefinitionReferenceRule EOF + { + before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleRule()); + pushFollow(FOLLOW_1); + ruleParametrizedFunctionDefinitionReferenceRule(); + + state._fsp--; + + after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleParametrizedFunctionDefinitionReferenceRule" + + + // $ANTLR start "ruleParametrizedFunctionDefinitionReferenceRule" + // InternalGeneratorDSL.g:537:1: ruleParametrizedFunctionDefinitionReferenceRule : ( ( rule__ParametrizedFunctionDefinitionReferenceRule__Group__0 ) ) ; + public final void ruleParametrizedFunctionDefinitionReferenceRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:541:2: ( ( ( rule__ParametrizedFunctionDefinitionReferenceRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:542:2: ( ( rule__ParametrizedFunctionDefinitionReferenceRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:542:2: ( ( rule__ParametrizedFunctionDefinitionReferenceRule__Group__0 ) ) + // InternalGeneratorDSL.g:543:3: ( rule__ParametrizedFunctionDefinitionReferenceRule__Group__0 ) + { + before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getGroup()); + // InternalGeneratorDSL.g:544:3: ( rule__ParametrizedFunctionDefinitionReferenceRule__Group__0 ) + // InternalGeneratorDSL.g:544:4: rule__ParametrizedFunctionDefinitionReferenceRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionReferenceRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleParametrizedFunctionDefinitionReferenceRule" + + + // $ANTLR start "entryRuleInstanceRule" + // InternalGeneratorDSL.g:553:1: entryRuleInstanceRule : ruleInstanceRule EOF ; + public final void entryRuleInstanceRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:554:1: ( ruleInstanceRule EOF ) + // InternalGeneratorDSL.g:555:1: ruleInstanceRule EOF + { + before(grammarAccess.getInstanceRuleRule()); + pushFollow(FOLLOW_1); + ruleInstanceRule(); + + state._fsp--; + + after(grammarAccess.getInstanceRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleInstanceRule" + + + // $ANTLR start "ruleInstanceRule" + // InternalGeneratorDSL.g:562:1: ruleInstanceRule : ( ( rule__InstanceRule__Group__0 ) ) ; + public final void ruleInstanceRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:566:2: ( ( ( rule__InstanceRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:567:2: ( ( rule__InstanceRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:567:2: ( ( rule__InstanceRule__Group__0 ) ) + // InternalGeneratorDSL.g:568:3: ( rule__InstanceRule__Group__0 ) + { + before(grammarAccess.getInstanceRuleAccess().getGroup()); + // InternalGeneratorDSL.g:569:3: ( rule__InstanceRule__Group__0 ) + // InternalGeneratorDSL.g:569:4: rule__InstanceRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__InstanceRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getInstanceRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleInstanceRule" + + + // $ANTLR start "entryRuleAttributeRule" + // InternalGeneratorDSL.g:578:1: entryRuleAttributeRule : ruleAttributeRule EOF ; + public final void entryRuleAttributeRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:579:1: ( ruleAttributeRule EOF ) + // InternalGeneratorDSL.g:580:1: ruleAttributeRule EOF + { + before(grammarAccess.getAttributeRuleRule()); + pushFollow(FOLLOW_1); + ruleAttributeRule(); + + state._fsp--; + + after(grammarAccess.getAttributeRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAttributeRule" + + + // $ANTLR start "ruleAttributeRule" + // InternalGeneratorDSL.g:587:1: ruleAttributeRule : ( ( rule__AttributeRule__Group__0 ) ) ; + public final void ruleAttributeRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:591:2: ( ( ( rule__AttributeRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:592:2: ( ( rule__AttributeRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:592:2: ( ( rule__AttributeRule__Group__0 ) ) + // InternalGeneratorDSL.g:593:3: ( rule__AttributeRule__Group__0 ) + { + before(grammarAccess.getAttributeRuleAccess().getGroup()); + // InternalGeneratorDSL.g:594:3: ( rule__AttributeRule__Group__0 ) + // InternalGeneratorDSL.g:594:4: rule__AttributeRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__AttributeRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getAttributeRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAttributeRule" + + + // $ANTLR start "entryRuleNameOrMiscRule" + // InternalGeneratorDSL.g:603:1: entryRuleNameOrMiscRule : ruleNameOrMiscRule EOF ; + public final void entryRuleNameOrMiscRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:604:1: ( ruleNameOrMiscRule EOF ) + // InternalGeneratorDSL.g:605:1: ruleNameOrMiscRule EOF + { + before(grammarAccess.getNameOrMiscRuleRule()); + pushFollow(FOLLOW_1); + ruleNameOrMiscRule(); + + state._fsp--; + + after(grammarAccess.getNameOrMiscRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNameOrMiscRule" + + + // $ANTLR start "ruleNameOrMiscRule" + // InternalGeneratorDSL.g:612:1: ruleNameOrMiscRule : ( ( rule__NameOrMiscRule__Alternatives ) ) ; + public final void ruleNameOrMiscRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:616:2: ( ( ( rule__NameOrMiscRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:617:2: ( ( rule__NameOrMiscRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:617:2: ( ( rule__NameOrMiscRule__Alternatives ) ) + // InternalGeneratorDSL.g:618:3: ( rule__NameOrMiscRule__Alternatives ) + { + before(grammarAccess.getNameOrMiscRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:619:3: ( rule__NameOrMiscRule__Alternatives ) + // InternalGeneratorDSL.g:619:4: rule__NameOrMiscRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__NameOrMiscRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getNameOrMiscRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNameOrMiscRule" + + + // $ANTLR start "entryRuleNameRule" + // InternalGeneratorDSL.g:628:1: entryRuleNameRule : ruleNameRule EOF ; + public final void entryRuleNameRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:629:1: ( ruleNameRule EOF ) + // InternalGeneratorDSL.g:630:1: ruleNameRule EOF + { + before(grammarAccess.getNameRuleRule()); + pushFollow(FOLLOW_1); + ruleNameRule(); + + state._fsp--; + + after(grammarAccess.getNameRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNameRule" + + + // $ANTLR start "ruleNameRule" + // InternalGeneratorDSL.g:637:1: ruleNameRule : ( ( rule__NameRule__NameAssignment ) ) ; + public final void ruleNameRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:641:2: ( ( ( rule__NameRule__NameAssignment ) ) ) + // InternalGeneratorDSL.g:642:2: ( ( rule__NameRule__NameAssignment ) ) + { + // InternalGeneratorDSL.g:642:2: ( ( rule__NameRule__NameAssignment ) ) + // InternalGeneratorDSL.g:643:3: ( rule__NameRule__NameAssignment ) + { + before(grammarAccess.getNameRuleAccess().getNameAssignment()); + // InternalGeneratorDSL.g:644:3: ( rule__NameRule__NameAssignment ) + // InternalGeneratorDSL.g:644:4: rule__NameRule__NameAssignment + { + pushFollow(FOLLOW_2); + rule__NameRule__NameAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getNameRuleAccess().getNameAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNameRule" + + + // $ANTLR start "entryRuleMiscRule" + // InternalGeneratorDSL.g:653:1: entryRuleMiscRule : ruleMiscRule EOF ; + public final void entryRuleMiscRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:654:1: ( ruleMiscRule EOF ) + // InternalGeneratorDSL.g:655:1: ruleMiscRule EOF + { + before(grammarAccess.getMiscRuleRule()); + pushFollow(FOLLOW_1); + ruleMiscRule(); + + state._fsp--; + + after(grammarAccess.getMiscRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleMiscRule" + + + // $ANTLR start "ruleMiscRule" + // InternalGeneratorDSL.g:662:1: ruleMiscRule : ( ( rule__MiscRule__NameAssignment ) ) ; + public final void ruleMiscRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:666:2: ( ( ( rule__MiscRule__NameAssignment ) ) ) + // InternalGeneratorDSL.g:667:2: ( ( rule__MiscRule__NameAssignment ) ) + { + // InternalGeneratorDSL.g:667:2: ( ( rule__MiscRule__NameAssignment ) ) + // InternalGeneratorDSL.g:668:3: ( rule__MiscRule__NameAssignment ) + { + before(grammarAccess.getMiscRuleAccess().getNameAssignment()); + // InternalGeneratorDSL.g:669:3: ( rule__MiscRule__NameAssignment ) + // InternalGeneratorDSL.g:669:4: rule__MiscRule__NameAssignment + { + pushFollow(FOLLOW_2); + rule__MiscRule__NameAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getMiscRuleAccess().getNameAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleMiscRule" + + + // $ANTLR start "entryRuleValueRule" + // InternalGeneratorDSL.g:678:1: entryRuleValueRule : ruleValueRule EOF ; + public final void entryRuleValueRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:679:1: ( ruleValueRule EOF ) + // InternalGeneratorDSL.g:680:1: ruleValueRule EOF + { + before(grammarAccess.getValueRuleRule()); + pushFollow(FOLLOW_1); + ruleValueRule(); + + state._fsp--; + + after(grammarAccess.getValueRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleValueRule" + + + // $ANTLR start "ruleValueRule" + // InternalGeneratorDSL.g:687:1: ruleValueRule : ( ( rule__ValueRule__Alternatives ) ) ; + public final void ruleValueRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:691:2: ( ( ( rule__ValueRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:692:2: ( ( rule__ValueRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:692:2: ( ( rule__ValueRule__Alternatives ) ) + // InternalGeneratorDSL.g:693:3: ( rule__ValueRule__Alternatives ) + { + before(grammarAccess.getValueRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:694:3: ( rule__ValueRule__Alternatives ) + // InternalGeneratorDSL.g:694:4: rule__ValueRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__ValueRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getValueRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleValueRule" + + + // $ANTLR start "entryRuleArrayRule" + // InternalGeneratorDSL.g:703:1: entryRuleArrayRule : ruleArrayRule EOF ; + public final void entryRuleArrayRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:704:1: ( ruleArrayRule EOF ) + // InternalGeneratorDSL.g:705:1: ruleArrayRule EOF + { + before(grammarAccess.getArrayRuleRule()); + pushFollow(FOLLOW_1); + ruleArrayRule(); + + state._fsp--; + + after(grammarAccess.getArrayRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleArrayRule" + + + // $ANTLR start "ruleArrayRule" + // InternalGeneratorDSL.g:712:1: ruleArrayRule : ( ( rule__ArrayRule__Group__0 ) ) ; + public final void ruleArrayRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:716:2: ( ( ( rule__ArrayRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:717:2: ( ( rule__ArrayRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:717:2: ( ( rule__ArrayRule__Group__0 ) ) + // InternalGeneratorDSL.g:718:3: ( rule__ArrayRule__Group__0 ) + { + before(grammarAccess.getArrayRuleAccess().getGroup()); + // InternalGeneratorDSL.g:719:3: ( rule__ArrayRule__Group__0 ) + // InternalGeneratorDSL.g:719:4: rule__ArrayRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__ArrayRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getArrayRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleArrayRule" + + + // $ANTLR start "entryRuleLiteralValueRule" + // InternalGeneratorDSL.g:728:1: entryRuleLiteralValueRule : ruleLiteralValueRule EOF ; + public final void entryRuleLiteralValueRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:729:1: ( ruleLiteralValueRule EOF ) + // InternalGeneratorDSL.g:730:1: ruleLiteralValueRule EOF + { + before(grammarAccess.getLiteralValueRuleRule()); + pushFollow(FOLLOW_1); + ruleLiteralValueRule(); + + state._fsp--; + + after(grammarAccess.getLiteralValueRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLiteralValueRule" + + + // $ANTLR start "ruleLiteralValueRule" + // InternalGeneratorDSL.g:737:1: ruleLiteralValueRule : ( ( rule__LiteralValueRule__LiteralAssignment ) ) ; + public final void ruleLiteralValueRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:741:2: ( ( ( rule__LiteralValueRule__LiteralAssignment ) ) ) + // InternalGeneratorDSL.g:742:2: ( ( rule__LiteralValueRule__LiteralAssignment ) ) + { + // InternalGeneratorDSL.g:742:2: ( ( rule__LiteralValueRule__LiteralAssignment ) ) + // InternalGeneratorDSL.g:743:3: ( rule__LiteralValueRule__LiteralAssignment ) + { + before(grammarAccess.getLiteralValueRuleAccess().getLiteralAssignment()); + // InternalGeneratorDSL.g:744:3: ( rule__LiteralValueRule__LiteralAssignment ) + // InternalGeneratorDSL.g:744:4: rule__LiteralValueRule__LiteralAssignment + { + pushFollow(FOLLOW_2); + rule__LiteralValueRule__LiteralAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getLiteralValueRuleAccess().getLiteralAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLiteralValueRule" + + + // $ANTLR start "entryRuleDataReferenceRule" + // InternalGeneratorDSL.g:753:1: entryRuleDataReferenceRule : ruleDataReferenceRule EOF ; + public final void entryRuleDataReferenceRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:754:1: ( ruleDataReferenceRule EOF ) + // InternalGeneratorDSL.g:755:1: ruleDataReferenceRule EOF + { + before(grammarAccess.getDataReferenceRuleRule()); + pushFollow(FOLLOW_1); + ruleDataReferenceRule(); + + state._fsp--; + + after(grammarAccess.getDataReferenceRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleDataReferenceRule" + + + // $ANTLR start "ruleDataReferenceRule" + // InternalGeneratorDSL.g:762:1: ruleDataReferenceRule : ( ( rule__DataReferenceRule__Group__0 ) ) ; + public final void ruleDataReferenceRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:766:2: ( ( ( rule__DataReferenceRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:767:2: ( ( rule__DataReferenceRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:767:2: ( ( rule__DataReferenceRule__Group__0 ) ) + // InternalGeneratorDSL.g:768:3: ( rule__DataReferenceRule__Group__0 ) + { + before(grammarAccess.getDataReferenceRuleAccess().getGroup()); + // InternalGeneratorDSL.g:769:3: ( rule__DataReferenceRule__Group__0 ) + // InternalGeneratorDSL.g:769:4: rule__DataReferenceRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__DataReferenceRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getDataReferenceRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleDataReferenceRule" + + + // $ANTLR start "entryRuleExpressionRule" + // InternalGeneratorDSL.g:778:1: entryRuleExpressionRule : ruleExpressionRule EOF ; + public final void entryRuleExpressionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:779:1: ( ruleExpressionRule EOF ) + // InternalGeneratorDSL.g:780:1: ruleExpressionRule EOF + { + before(grammarAccess.getExpressionRuleRule()); + pushFollow(FOLLOW_1); + ruleExpressionRule(); + + state._fsp--; + + after(grammarAccess.getExpressionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleExpressionRule" + + + // $ANTLR start "ruleExpressionRule" + // InternalGeneratorDSL.g:787:1: ruleExpressionRule : ( ruleOrExpressionRule ) ; + public final void ruleExpressionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:791:2: ( ( ruleOrExpressionRule ) ) + // InternalGeneratorDSL.g:792:2: ( ruleOrExpressionRule ) + { + // InternalGeneratorDSL.g:792:2: ( ruleOrExpressionRule ) + // InternalGeneratorDSL.g:793:3: ruleOrExpressionRule + { + before(grammarAccess.getExpressionRuleAccess().getOrExpressionRuleParserRuleCall()); + pushFollow(FOLLOW_2); + ruleOrExpressionRule(); + + state._fsp--; + + after(grammarAccess.getExpressionRuleAccess().getOrExpressionRuleParserRuleCall()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleExpressionRule" + + + // $ANTLR start "entryRuleOrExpressionRule" + // InternalGeneratorDSL.g:803:1: entryRuleOrExpressionRule : ruleOrExpressionRule EOF ; + public final void entryRuleOrExpressionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:804:1: ( ruleOrExpressionRule EOF ) + // InternalGeneratorDSL.g:805:1: ruleOrExpressionRule EOF + { + before(grammarAccess.getOrExpressionRuleRule()); + pushFollow(FOLLOW_1); + ruleOrExpressionRule(); + + state._fsp--; + + after(grammarAccess.getOrExpressionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleOrExpressionRule" + + + // $ANTLR start "ruleOrExpressionRule" + // InternalGeneratorDSL.g:812:1: ruleOrExpressionRule : ( ( rule__OrExpressionRule__Group__0 ) ) ; + public final void ruleOrExpressionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:816:2: ( ( ( rule__OrExpressionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:817:2: ( ( rule__OrExpressionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:817:2: ( ( rule__OrExpressionRule__Group__0 ) ) + // InternalGeneratorDSL.g:818:3: ( rule__OrExpressionRule__Group__0 ) + { + before(grammarAccess.getOrExpressionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:819:3: ( rule__OrExpressionRule__Group__0 ) + // InternalGeneratorDSL.g:819:4: rule__OrExpressionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__OrExpressionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getOrExpressionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleOrExpressionRule" + + + // $ANTLR start "entryRuleXorExpressionRule" + // InternalGeneratorDSL.g:828:1: entryRuleXorExpressionRule : ruleXorExpressionRule EOF ; + public final void entryRuleXorExpressionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:829:1: ( ruleXorExpressionRule EOF ) + // InternalGeneratorDSL.g:830:1: ruleXorExpressionRule EOF + { + before(grammarAccess.getXorExpressionRuleRule()); + pushFollow(FOLLOW_1); + ruleXorExpressionRule(); + + state._fsp--; + + after(grammarAccess.getXorExpressionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleXorExpressionRule" + + + // $ANTLR start "ruleXorExpressionRule" + // InternalGeneratorDSL.g:837:1: ruleXorExpressionRule : ( ( rule__XorExpressionRule__Group__0 ) ) ; + public final void ruleXorExpressionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:841:2: ( ( ( rule__XorExpressionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:842:2: ( ( rule__XorExpressionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:842:2: ( ( rule__XorExpressionRule__Group__0 ) ) + // InternalGeneratorDSL.g:843:3: ( rule__XorExpressionRule__Group__0 ) + { + before(grammarAccess.getXorExpressionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:844:3: ( rule__XorExpressionRule__Group__0 ) + // InternalGeneratorDSL.g:844:4: rule__XorExpressionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__XorExpressionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getXorExpressionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleXorExpressionRule" + + + // $ANTLR start "entryRuleAndExpressionRule" + // InternalGeneratorDSL.g:853:1: entryRuleAndExpressionRule : ruleAndExpressionRule EOF ; + public final void entryRuleAndExpressionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:854:1: ( ruleAndExpressionRule EOF ) + // InternalGeneratorDSL.g:855:1: ruleAndExpressionRule EOF + { + before(grammarAccess.getAndExpressionRuleRule()); + pushFollow(FOLLOW_1); + ruleAndExpressionRule(); + + state._fsp--; + + after(grammarAccess.getAndExpressionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAndExpressionRule" + + + // $ANTLR start "ruleAndExpressionRule" + // InternalGeneratorDSL.g:862:1: ruleAndExpressionRule : ( ( rule__AndExpressionRule__Group__0 ) ) ; + public final void ruleAndExpressionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:866:2: ( ( ( rule__AndExpressionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:867:2: ( ( rule__AndExpressionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:867:2: ( ( rule__AndExpressionRule__Group__0 ) ) + // InternalGeneratorDSL.g:868:3: ( rule__AndExpressionRule__Group__0 ) + { + before(grammarAccess.getAndExpressionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:869:3: ( rule__AndExpressionRule__Group__0 ) + // InternalGeneratorDSL.g:869:4: rule__AndExpressionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__AndExpressionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getAndExpressionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAndExpressionRule" + + + // $ANTLR start "entryRuleNotExpressionRule" + // InternalGeneratorDSL.g:878:1: entryRuleNotExpressionRule : ruleNotExpressionRule EOF ; + public final void entryRuleNotExpressionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:879:1: ( ruleNotExpressionRule EOF ) + // InternalGeneratorDSL.g:880:1: ruleNotExpressionRule EOF + { + before(grammarAccess.getNotExpressionRuleRule()); + pushFollow(FOLLOW_1); + ruleNotExpressionRule(); + + state._fsp--; + + after(grammarAccess.getNotExpressionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNotExpressionRule" + + + // $ANTLR start "ruleNotExpressionRule" + // InternalGeneratorDSL.g:887:1: ruleNotExpressionRule : ( ( rule__NotExpressionRule__Group__0 ) ) ; + public final void ruleNotExpressionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:891:2: ( ( ( rule__NotExpressionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:892:2: ( ( rule__NotExpressionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:892:2: ( ( rule__NotExpressionRule__Group__0 ) ) + // InternalGeneratorDSL.g:893:3: ( rule__NotExpressionRule__Group__0 ) + { + before(grammarAccess.getNotExpressionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:894:3: ( rule__NotExpressionRule__Group__0 ) + // InternalGeneratorDSL.g:894:4: rule__NotExpressionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__NotExpressionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getNotExpressionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNotExpressionRule" + + + // $ANTLR start "entryRuleComparisonExpressionRule" + // InternalGeneratorDSL.g:903:1: entryRuleComparisonExpressionRule : ruleComparisonExpressionRule EOF ; + public final void entryRuleComparisonExpressionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:904:1: ( ruleComparisonExpressionRule EOF ) + // InternalGeneratorDSL.g:905:1: ruleComparisonExpressionRule EOF + { + before(grammarAccess.getComparisonExpressionRuleRule()); + pushFollow(FOLLOW_1); + ruleComparisonExpressionRule(); + + state._fsp--; + + after(grammarAccess.getComparisonExpressionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleComparisonExpressionRule" + + + // $ANTLR start "ruleComparisonExpressionRule" + // InternalGeneratorDSL.g:912:1: ruleComparisonExpressionRule : ( ( rule__ComparisonExpressionRule__Group__0 ) ) ; + public final void ruleComparisonExpressionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:916:2: ( ( ( rule__ComparisonExpressionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:917:2: ( ( rule__ComparisonExpressionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:917:2: ( ( rule__ComparisonExpressionRule__Group__0 ) ) + // InternalGeneratorDSL.g:918:3: ( rule__ComparisonExpressionRule__Group__0 ) + { + before(grammarAccess.getComparisonExpressionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:919:3: ( rule__ComparisonExpressionRule__Group__0 ) + // InternalGeneratorDSL.g:919:4: rule__ComparisonExpressionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__ComparisonExpressionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getComparisonExpressionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleComparisonExpressionRule" + + + // $ANTLR start "entryRulePartialComparisonExpressionRule" + // InternalGeneratorDSL.g:928:1: entryRulePartialComparisonExpressionRule : rulePartialComparisonExpressionRule EOF ; + public final void entryRulePartialComparisonExpressionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:929:1: ( rulePartialComparisonExpressionRule EOF ) + // InternalGeneratorDSL.g:930:1: rulePartialComparisonExpressionRule EOF + { + before(grammarAccess.getPartialComparisonExpressionRuleRule()); + pushFollow(FOLLOW_1); + rulePartialComparisonExpressionRule(); + + state._fsp--; + + after(grammarAccess.getPartialComparisonExpressionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePartialComparisonExpressionRule" + + + // $ANTLR start "rulePartialComparisonExpressionRule" + // InternalGeneratorDSL.g:937:1: rulePartialComparisonExpressionRule : ( ( rule__PartialComparisonExpressionRule__Group__0 ) ) ; + public final void rulePartialComparisonExpressionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:941:2: ( ( ( rule__PartialComparisonExpressionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:942:2: ( ( rule__PartialComparisonExpressionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:942:2: ( ( rule__PartialComparisonExpressionRule__Group__0 ) ) + // InternalGeneratorDSL.g:943:3: ( rule__PartialComparisonExpressionRule__Group__0 ) + { + before(grammarAccess.getPartialComparisonExpressionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:944:3: ( rule__PartialComparisonExpressionRule__Group__0 ) + // InternalGeneratorDSL.g:944:4: rule__PartialComparisonExpressionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__PartialComparisonExpressionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getPartialComparisonExpressionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePartialComparisonExpressionRule" + + + // $ANTLR start "entryRuleAddOrSubtractExpressionRule" + // InternalGeneratorDSL.g:953:1: entryRuleAddOrSubtractExpressionRule : ruleAddOrSubtractExpressionRule EOF ; + public final void entryRuleAddOrSubtractExpressionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:954:1: ( ruleAddOrSubtractExpressionRule EOF ) + // InternalGeneratorDSL.g:955:1: ruleAddOrSubtractExpressionRule EOF + { + before(grammarAccess.getAddOrSubtractExpressionRuleRule()); + pushFollow(FOLLOW_1); + ruleAddOrSubtractExpressionRule(); + + state._fsp--; + + after(grammarAccess.getAddOrSubtractExpressionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleAddOrSubtractExpressionRule" + + + // $ANTLR start "ruleAddOrSubtractExpressionRule" + // InternalGeneratorDSL.g:962:1: ruleAddOrSubtractExpressionRule : ( ( rule__AddOrSubtractExpressionRule__Group__0 ) ) ; + public final void ruleAddOrSubtractExpressionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:966:2: ( ( ( rule__AddOrSubtractExpressionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:967:2: ( ( rule__AddOrSubtractExpressionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:967:2: ( ( rule__AddOrSubtractExpressionRule__Group__0 ) ) + // InternalGeneratorDSL.g:968:3: ( rule__AddOrSubtractExpressionRule__Group__0 ) + { + before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:969:3: ( rule__AddOrSubtractExpressionRule__Group__0 ) + // InternalGeneratorDSL.g:969:4: rule__AddOrSubtractExpressionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__AddOrSubtractExpressionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAddOrSubtractExpressionRule" + + + // $ANTLR start "entryRuleMultiplyDivideModuloExpressionRule" + // InternalGeneratorDSL.g:978:1: entryRuleMultiplyDivideModuloExpressionRule : ruleMultiplyDivideModuloExpressionRule EOF ; + public final void entryRuleMultiplyDivideModuloExpressionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:979:1: ( ruleMultiplyDivideModuloExpressionRule EOF ) + // InternalGeneratorDSL.g:980:1: ruleMultiplyDivideModuloExpressionRule EOF + { + before(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); + pushFollow(FOLLOW_1); + ruleMultiplyDivideModuloExpressionRule(); + + state._fsp--; + + after(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleMultiplyDivideModuloExpressionRule" + + + // $ANTLR start "ruleMultiplyDivideModuloExpressionRule" + // InternalGeneratorDSL.g:987:1: ruleMultiplyDivideModuloExpressionRule : ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) ) ; + public final void ruleMultiplyDivideModuloExpressionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:991:2: ( ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:992:2: ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:992:2: ( ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) ) + // InternalGeneratorDSL.g:993:3: ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) + { + before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:994:3: ( rule__MultiplyDivideModuloExpressionRule__Group__0 ) + // InternalGeneratorDSL.g:994:4: rule__MultiplyDivideModuloExpressionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__MultiplyDivideModuloExpressionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleMultiplyDivideModuloExpressionRule" + + + // $ANTLR start "entryRulePowerOfExpressionRule" + // InternalGeneratorDSL.g:1003:1: entryRulePowerOfExpressionRule : rulePowerOfExpressionRule EOF ; + public final void entryRulePowerOfExpressionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1004:1: ( rulePowerOfExpressionRule EOF ) + // InternalGeneratorDSL.g:1005:1: rulePowerOfExpressionRule EOF + { + before(grammarAccess.getPowerOfExpressionRuleRule()); + pushFollow(FOLLOW_1); + rulePowerOfExpressionRule(); + + state._fsp--; + + after(grammarAccess.getPowerOfExpressionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRulePowerOfExpressionRule" + + + // $ANTLR start "rulePowerOfExpressionRule" + // InternalGeneratorDSL.g:1012:1: rulePowerOfExpressionRule : ( ( rule__PowerOfExpressionRule__Group__0 ) ) ; + public final void rulePowerOfExpressionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1016:2: ( ( ( rule__PowerOfExpressionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:1017:2: ( ( rule__PowerOfExpressionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:1017:2: ( ( rule__PowerOfExpressionRule__Group__0 ) ) + // InternalGeneratorDSL.g:1018:3: ( rule__PowerOfExpressionRule__Group__0 ) + { + before(grammarAccess.getPowerOfExpressionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:1019:3: ( rule__PowerOfExpressionRule__Group__0 ) + // InternalGeneratorDSL.g:1019:4: rule__PowerOfExpressionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__PowerOfExpressionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getPowerOfExpressionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rulePowerOfExpressionRule" + + + // $ANTLR start "entryRuleUnaryAddOrSubtractExpressionRule" + // InternalGeneratorDSL.g:1028:1: entryRuleUnaryAddOrSubtractExpressionRule : ruleUnaryAddOrSubtractExpressionRule EOF ; + public final void entryRuleUnaryAddOrSubtractExpressionRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1029:1: ( ruleUnaryAddOrSubtractExpressionRule EOF ) + // InternalGeneratorDSL.g:1030:1: ruleUnaryAddOrSubtractExpressionRule EOF + { + before(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); + pushFollow(FOLLOW_1); + ruleUnaryAddOrSubtractExpressionRule(); + + state._fsp--; + + after(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleUnaryAddOrSubtractExpressionRule" + + + // $ANTLR start "ruleUnaryAddOrSubtractExpressionRule" + // InternalGeneratorDSL.g:1037:1: ruleUnaryAddOrSubtractExpressionRule : ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) ) ; + public final void ruleUnaryAddOrSubtractExpressionRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1041:2: ( ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:1042:2: ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:1042:2: ( ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) ) + // InternalGeneratorDSL.g:1043:3: ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) + { + before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getGroup()); + // InternalGeneratorDSL.g:1044:3: ( rule__UnaryAddOrSubtractExpressionRule__Group__0 ) + // InternalGeneratorDSL.g:1044:4: rule__UnaryAddOrSubtractExpressionRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__UnaryAddOrSubtractExpressionRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleUnaryAddOrSubtractExpressionRule" + + + // $ANTLR start "entryRuleLiteralOrReferenceRule" + // InternalGeneratorDSL.g:1053:1: entryRuleLiteralOrReferenceRule : ruleLiteralOrReferenceRule EOF ; + public final void entryRuleLiteralOrReferenceRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1054:1: ( ruleLiteralOrReferenceRule EOF ) + // InternalGeneratorDSL.g:1055:1: ruleLiteralOrReferenceRule EOF + { + before(grammarAccess.getLiteralOrReferenceRuleRule()); + pushFollow(FOLLOW_1); + ruleLiteralOrReferenceRule(); + + state._fsp--; + + after(grammarAccess.getLiteralOrReferenceRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLiteralOrReferenceRule" + + + // $ANTLR start "ruleLiteralOrReferenceRule" + // InternalGeneratorDSL.g:1062:1: ruleLiteralOrReferenceRule : ( ( rule__LiteralOrReferenceRule__Alternatives ) ) ; + public final void ruleLiteralOrReferenceRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1066:2: ( ( ( rule__LiteralOrReferenceRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:1067:2: ( ( rule__LiteralOrReferenceRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:1067:2: ( ( rule__LiteralOrReferenceRule__Alternatives ) ) + // InternalGeneratorDSL.g:1068:3: ( rule__LiteralOrReferenceRule__Alternatives ) + { + before(grammarAccess.getLiteralOrReferenceRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:1069:3: ( rule__LiteralOrReferenceRule__Alternatives ) + // InternalGeneratorDSL.g:1069:4: rule__LiteralOrReferenceRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__LiteralOrReferenceRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getLiteralOrReferenceRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLiteralOrReferenceRule" + + + // $ANTLR start "entryRuleParanthesesRule" + // InternalGeneratorDSL.g:1078:1: entryRuleParanthesesRule : ruleParanthesesRule EOF ; + public final void entryRuleParanthesesRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1079:1: ( ruleParanthesesRule EOF ) + // InternalGeneratorDSL.g:1080:1: ruleParanthesesRule EOF + { + before(grammarAccess.getParanthesesRuleRule()); + pushFollow(FOLLOW_1); + ruleParanthesesRule(); + + state._fsp--; + + after(grammarAccess.getParanthesesRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleParanthesesRule" + + + // $ANTLR start "ruleParanthesesRule" + // InternalGeneratorDSL.g:1087:1: ruleParanthesesRule : ( ( rule__ParanthesesRule__Group__0 ) ) ; + public final void ruleParanthesesRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1091:2: ( ( ( rule__ParanthesesRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:1092:2: ( ( rule__ParanthesesRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:1092:2: ( ( rule__ParanthesesRule__Group__0 ) ) + // InternalGeneratorDSL.g:1093:3: ( rule__ParanthesesRule__Group__0 ) + { + before(grammarAccess.getParanthesesRuleAccess().getGroup()); + // InternalGeneratorDSL.g:1094:3: ( rule__ParanthesesRule__Group__0 ) + // InternalGeneratorDSL.g:1094:4: rule__ParanthesesRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__ParanthesesRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getParanthesesRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleParanthesesRule" + + + // $ANTLR start "entryRuleCallRule" + // InternalGeneratorDSL.g:1103:1: entryRuleCallRule : ruleCallRule EOF ; + public final void entryRuleCallRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1104:1: ( ruleCallRule EOF ) + // InternalGeneratorDSL.g:1105:1: ruleCallRule EOF + { + before(grammarAccess.getCallRuleRule()); + pushFollow(FOLLOW_1); + ruleCallRule(); + + state._fsp--; + + after(grammarAccess.getCallRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleCallRule" + + + // $ANTLR start "ruleCallRule" + // InternalGeneratorDSL.g:1112:1: ruleCallRule : ( ( rule__CallRule__Group__0 ) ) ; + public final void ruleCallRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1116:2: ( ( ( rule__CallRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:1117:2: ( ( rule__CallRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:1117:2: ( ( rule__CallRule__Group__0 ) ) + // InternalGeneratorDSL.g:1118:3: ( rule__CallRule__Group__0 ) + { + before(grammarAccess.getCallRuleAccess().getGroup()); + // InternalGeneratorDSL.g:1119:3: ( rule__CallRule__Group__0 ) + // InternalGeneratorDSL.g:1119:4: rule__CallRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__CallRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getCallRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleCallRule" + + + // $ANTLR start "entryRuleFunctionNameRule" + // InternalGeneratorDSL.g:1128:1: entryRuleFunctionNameRule : ruleFunctionNameRule EOF ; + public final void entryRuleFunctionNameRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1129:1: ( ruleFunctionNameRule EOF ) + // InternalGeneratorDSL.g:1130:1: ruleFunctionNameRule EOF + { + before(grammarAccess.getFunctionNameRuleRule()); + pushFollow(FOLLOW_1); + ruleFunctionNameRule(); + + state._fsp--; + + after(grammarAccess.getFunctionNameRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleFunctionNameRule" + + + // $ANTLR start "ruleFunctionNameRule" + // InternalGeneratorDSL.g:1137:1: ruleFunctionNameRule : ( ( rule__FunctionNameRule__Group__0 ) ) ; + public final void ruleFunctionNameRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1141:2: ( ( ( rule__FunctionNameRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:1142:2: ( ( rule__FunctionNameRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:1142:2: ( ( rule__FunctionNameRule__Group__0 ) ) + // InternalGeneratorDSL.g:1143:3: ( rule__FunctionNameRule__Group__0 ) + { + before(grammarAccess.getFunctionNameRuleAccess().getGroup()); + // InternalGeneratorDSL.g:1144:3: ( rule__FunctionNameRule__Group__0 ) + // InternalGeneratorDSL.g:1144:4: rule__FunctionNameRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__FunctionNameRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionNameRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleFunctionNameRule" + + + // $ANTLR start "entryRuleValueReferenceRule" + // InternalGeneratorDSL.g:1153:1: entryRuleValueReferenceRule : ruleValueReferenceRule EOF ; + public final void entryRuleValueReferenceRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1154:1: ( ruleValueReferenceRule EOF ) + // InternalGeneratorDSL.g:1155:1: ruleValueReferenceRule EOF + { + before(grammarAccess.getValueReferenceRuleRule()); + pushFollow(FOLLOW_1); + ruleValueReferenceRule(); + + state._fsp--; + + after(grammarAccess.getValueReferenceRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleValueReferenceRule" + + + // $ANTLR start "ruleValueReferenceRule" + // InternalGeneratorDSL.g:1162:1: ruleValueReferenceRule : ( ( rule__ValueReferenceRule__Group__0 ) ) ; + public final void ruleValueReferenceRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1166:2: ( ( ( rule__ValueReferenceRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:1167:2: ( ( rule__ValueReferenceRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:1167:2: ( ( rule__ValueReferenceRule__Group__0 ) ) + // InternalGeneratorDSL.g:1168:3: ( rule__ValueReferenceRule__Group__0 ) + { + before(grammarAccess.getValueReferenceRuleAccess().getGroup()); + // InternalGeneratorDSL.g:1169:3: ( rule__ValueReferenceRule__Group__0 ) + // InternalGeneratorDSL.g:1169:4: rule__ValueReferenceRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__ValueReferenceRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getValueReferenceRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleValueReferenceRule" + + + // $ANTLR start "entryRuleLiteralRule" + // InternalGeneratorDSL.g:1178:1: entryRuleLiteralRule : ruleLiteralRule EOF ; + public final void entryRuleLiteralRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1179:1: ( ruleLiteralRule EOF ) + // InternalGeneratorDSL.g:1180:1: ruleLiteralRule EOF + { + before(grammarAccess.getLiteralRuleRule()); + pushFollow(FOLLOW_1); + ruleLiteralRule(); + + state._fsp--; + + after(grammarAccess.getLiteralRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleLiteralRule" + + + // $ANTLR start "ruleLiteralRule" + // InternalGeneratorDSL.g:1187:1: ruleLiteralRule : ( ( rule__LiteralRule__Alternatives ) ) ; + public final void ruleLiteralRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1191:2: ( ( ( rule__LiteralRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:1192:2: ( ( rule__LiteralRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:1192:2: ( ( rule__LiteralRule__Alternatives ) ) + // InternalGeneratorDSL.g:1193:3: ( rule__LiteralRule__Alternatives ) + { + before(grammarAccess.getLiteralRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:1194:3: ( rule__LiteralRule__Alternatives ) + // InternalGeneratorDSL.g:1194:4: rule__LiteralRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__LiteralRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getLiteralRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleLiteralRule" + + + // $ANTLR start "entryRuleNumberLiteralRule" + // InternalGeneratorDSL.g:1203:1: entryRuleNumberLiteralRule : ruleNumberLiteralRule EOF ; + public final void entryRuleNumberLiteralRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1204:1: ( ruleNumberLiteralRule EOF ) + // InternalGeneratorDSL.g:1205:1: ruleNumberLiteralRule EOF + { + before(grammarAccess.getNumberLiteralRuleRule()); + pushFollow(FOLLOW_1); + ruleNumberLiteralRule(); + + state._fsp--; + + after(grammarAccess.getNumberLiteralRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleNumberLiteralRule" + + + // $ANTLR start "ruleNumberLiteralRule" + // InternalGeneratorDSL.g:1212:1: ruleNumberLiteralRule : ( ( rule__NumberLiteralRule__Alternatives ) ) ; + public final void ruleNumberLiteralRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1216:2: ( ( ( rule__NumberLiteralRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:1217:2: ( ( rule__NumberLiteralRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:1217:2: ( ( rule__NumberLiteralRule__Alternatives ) ) + // InternalGeneratorDSL.g:1218:3: ( rule__NumberLiteralRule__Alternatives ) + { + before(grammarAccess.getNumberLiteralRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:1219:3: ( rule__NumberLiteralRule__Alternatives ) + // InternalGeneratorDSL.g:1219:4: rule__NumberLiteralRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__NumberLiteralRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getNumberLiteralRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleNumberLiteralRule" + + + // $ANTLR start "entryRuleDoubleLiteralRule" + // InternalGeneratorDSL.g:1228:1: entryRuleDoubleLiteralRule : ruleDoubleLiteralRule EOF ; + public final void entryRuleDoubleLiteralRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1229:1: ( ruleDoubleLiteralRule EOF ) + // InternalGeneratorDSL.g:1230:1: ruleDoubleLiteralRule EOF + { + before(grammarAccess.getDoubleLiteralRuleRule()); + pushFollow(FOLLOW_1); + ruleDoubleLiteralRule(); + + state._fsp--; + + after(grammarAccess.getDoubleLiteralRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleDoubleLiteralRule" + + + // $ANTLR start "ruleDoubleLiteralRule" + // InternalGeneratorDSL.g:1237:1: ruleDoubleLiteralRule : ( ( rule__DoubleLiteralRule__ValueAssignment ) ) ; + public final void ruleDoubleLiteralRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1241:2: ( ( ( rule__DoubleLiteralRule__ValueAssignment ) ) ) + // InternalGeneratorDSL.g:1242:2: ( ( rule__DoubleLiteralRule__ValueAssignment ) ) + { + // InternalGeneratorDSL.g:1242:2: ( ( rule__DoubleLiteralRule__ValueAssignment ) ) + // InternalGeneratorDSL.g:1243:3: ( rule__DoubleLiteralRule__ValueAssignment ) + { + before(grammarAccess.getDoubleLiteralRuleAccess().getValueAssignment()); + // InternalGeneratorDSL.g:1244:3: ( rule__DoubleLiteralRule__ValueAssignment ) + // InternalGeneratorDSL.g:1244:4: rule__DoubleLiteralRule__ValueAssignment + { + pushFollow(FOLLOW_2); + rule__DoubleLiteralRule__ValueAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getDoubleLiteralRuleAccess().getValueAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleDoubleLiteralRule" + + + // $ANTLR start "entryRuleIntegerLiteralRule" + // InternalGeneratorDSL.g:1253:1: entryRuleIntegerLiteralRule : ruleIntegerLiteralRule EOF ; + public final void entryRuleIntegerLiteralRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1254:1: ( ruleIntegerLiteralRule EOF ) + // InternalGeneratorDSL.g:1255:1: ruleIntegerLiteralRule EOF + { + before(grammarAccess.getIntegerLiteralRuleRule()); + pushFollow(FOLLOW_1); + ruleIntegerLiteralRule(); + + state._fsp--; + + after(grammarAccess.getIntegerLiteralRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleIntegerLiteralRule" + + + // $ANTLR start "ruleIntegerLiteralRule" + // InternalGeneratorDSL.g:1262:1: ruleIntegerLiteralRule : ( ( rule__IntegerLiteralRule__ValueAssignment ) ) ; + public final void ruleIntegerLiteralRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1266:2: ( ( ( rule__IntegerLiteralRule__ValueAssignment ) ) ) + // InternalGeneratorDSL.g:1267:2: ( ( rule__IntegerLiteralRule__ValueAssignment ) ) + { + // InternalGeneratorDSL.g:1267:2: ( ( rule__IntegerLiteralRule__ValueAssignment ) ) + // InternalGeneratorDSL.g:1268:3: ( rule__IntegerLiteralRule__ValueAssignment ) + { + before(grammarAccess.getIntegerLiteralRuleAccess().getValueAssignment()); + // InternalGeneratorDSL.g:1269:3: ( rule__IntegerLiteralRule__ValueAssignment ) + // InternalGeneratorDSL.g:1269:4: rule__IntegerLiteralRule__ValueAssignment + { + pushFollow(FOLLOW_2); + rule__IntegerLiteralRule__ValueAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getIntegerLiteralRuleAccess().getValueAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleIntegerLiteralRule" + + + // $ANTLR start "entryRuleStringLiteralRule" + // InternalGeneratorDSL.g:1278:1: entryRuleStringLiteralRule : ruleStringLiteralRule EOF ; + public final void entryRuleStringLiteralRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1279:1: ( ruleStringLiteralRule EOF ) + // InternalGeneratorDSL.g:1280:1: ruleStringLiteralRule EOF + { + before(grammarAccess.getStringLiteralRuleRule()); + pushFollow(FOLLOW_1); + ruleStringLiteralRule(); + + state._fsp--; + + after(grammarAccess.getStringLiteralRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleStringLiteralRule" + + + // $ANTLR start "ruleStringLiteralRule" + // InternalGeneratorDSL.g:1287:1: ruleStringLiteralRule : ( ( rule__StringLiteralRule__ValueAssignment ) ) ; + public final void ruleStringLiteralRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1291:2: ( ( ( rule__StringLiteralRule__ValueAssignment ) ) ) + // InternalGeneratorDSL.g:1292:2: ( ( rule__StringLiteralRule__ValueAssignment ) ) + { + // InternalGeneratorDSL.g:1292:2: ( ( rule__StringLiteralRule__ValueAssignment ) ) + // InternalGeneratorDSL.g:1293:3: ( rule__StringLiteralRule__ValueAssignment ) + { + before(grammarAccess.getStringLiteralRuleAccess().getValueAssignment()); + // InternalGeneratorDSL.g:1294:3: ( rule__StringLiteralRule__ValueAssignment ) + // InternalGeneratorDSL.g:1294:4: rule__StringLiteralRule__ValueAssignment + { + pushFollow(FOLLOW_2); + rule__StringLiteralRule__ValueAssignment(); + + state._fsp--; + + + } + + after(grammarAccess.getStringLiteralRuleAccess().getValueAssignment()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleStringLiteralRule" + + + // $ANTLR start "entryRuleBooleanLiteralRule" + // InternalGeneratorDSL.g:1303:1: entryRuleBooleanLiteralRule : ruleBooleanLiteralRule EOF ; + public final void entryRuleBooleanLiteralRule() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1304:1: ( ruleBooleanLiteralRule EOF ) + // InternalGeneratorDSL.g:1305:1: ruleBooleanLiteralRule EOF + { + before(grammarAccess.getBooleanLiteralRuleRule()); + pushFollow(FOLLOW_1); + ruleBooleanLiteralRule(); + + state._fsp--; + + after(grammarAccess.getBooleanLiteralRuleRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleBooleanLiteralRule" + + + // $ANTLR start "ruleBooleanLiteralRule" + // InternalGeneratorDSL.g:1312:1: ruleBooleanLiteralRule : ( ( rule__BooleanLiteralRule__Group__0 ) ) ; + public final void ruleBooleanLiteralRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1316:2: ( ( ( rule__BooleanLiteralRule__Group__0 ) ) ) + // InternalGeneratorDSL.g:1317:2: ( ( rule__BooleanLiteralRule__Group__0 ) ) + { + // InternalGeneratorDSL.g:1317:2: ( ( rule__BooleanLiteralRule__Group__0 ) ) + // InternalGeneratorDSL.g:1318:3: ( rule__BooleanLiteralRule__Group__0 ) + { + before(grammarAccess.getBooleanLiteralRuleAccess().getGroup()); + // InternalGeneratorDSL.g:1319:3: ( rule__BooleanLiteralRule__Group__0 ) + // InternalGeneratorDSL.g:1319:4: rule__BooleanLiteralRule__Group__0 + { + pushFollow(FOLLOW_2); + rule__BooleanLiteralRule__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getBooleanLiteralRuleAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleBooleanLiteralRule" + + + // $ANTLR start "entryRuleStringOrId" + // InternalGeneratorDSL.g:1328:1: entryRuleStringOrId : ruleStringOrId EOF ; + public final void entryRuleStringOrId() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1329:1: ( ruleStringOrId EOF ) + // InternalGeneratorDSL.g:1330:1: ruleStringOrId EOF + { + before(grammarAccess.getStringOrIdRule()); + pushFollow(FOLLOW_1); + ruleStringOrId(); + + state._fsp--; + + after(grammarAccess.getStringOrIdRule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleStringOrId" + + + // $ANTLR start "ruleStringOrId" + // InternalGeneratorDSL.g:1337:1: ruleStringOrId : ( ( rule__StringOrId__Alternatives ) ) ; + public final void ruleStringOrId() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1341:2: ( ( ( rule__StringOrId__Alternatives ) ) ) + // InternalGeneratorDSL.g:1342:2: ( ( rule__StringOrId__Alternatives ) ) + { + // InternalGeneratorDSL.g:1342:2: ( ( rule__StringOrId__Alternatives ) ) + // InternalGeneratorDSL.g:1343:3: ( rule__StringOrId__Alternatives ) + { + before(grammarAccess.getStringOrIdAccess().getAlternatives()); + // InternalGeneratorDSL.g:1344:3: ( rule__StringOrId__Alternatives ) + // InternalGeneratorDSL.g:1344:4: rule__StringOrId__Alternatives + { + pushFollow(FOLLOW_2); + rule__StringOrId__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getStringOrIdAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleStringOrId" + + + // $ANTLR start "entryRuleDOUBLE" + // InternalGeneratorDSL.g:1353:1: entryRuleDOUBLE : ruleDOUBLE EOF ; + public final void entryRuleDOUBLE() throws RecognitionException { + try { + // InternalGeneratorDSL.g:1354:1: ( ruleDOUBLE EOF ) + // InternalGeneratorDSL.g:1355:1: ruleDOUBLE EOF + { + before(grammarAccess.getDOUBLERule()); + pushFollow(FOLLOW_1); + ruleDOUBLE(); + + state._fsp--; + + after(grammarAccess.getDOUBLERule()); + match(input,EOF,FOLLOW_2); + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end "entryRuleDOUBLE" + + + // $ANTLR start "ruleDOUBLE" + // InternalGeneratorDSL.g:1362:1: ruleDOUBLE : ( ( rule__DOUBLE__Group__0 ) ) ; + public final void ruleDOUBLE() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1366:2: ( ( ( rule__DOUBLE__Group__0 ) ) ) + // InternalGeneratorDSL.g:1367:2: ( ( rule__DOUBLE__Group__0 ) ) + { + // InternalGeneratorDSL.g:1367:2: ( ( rule__DOUBLE__Group__0 ) ) + // InternalGeneratorDSL.g:1368:3: ( rule__DOUBLE__Group__0 ) + { + before(grammarAccess.getDOUBLEAccess().getGroup()); + // InternalGeneratorDSL.g:1369:3: ( rule__DOUBLE__Group__0 ) + // InternalGeneratorDSL.g:1369:4: rule__DOUBLE__Group__0 + { + pushFollow(FOLLOW_2); + rule__DOUBLE__Group__0(); + + state._fsp--; + + + } + + after(grammarAccess.getDOUBLEAccess().getGroup()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleDOUBLE" + + + // $ANTLR start "ruleComparisonOperatorRule" + // InternalGeneratorDSL.g:1378:1: ruleComparisonOperatorRule : ( ( rule__ComparisonOperatorRule__Alternatives ) ) ; + public final void ruleComparisonOperatorRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1382:1: ( ( ( rule__ComparisonOperatorRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:1383:2: ( ( rule__ComparisonOperatorRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:1383:2: ( ( rule__ComparisonOperatorRule__Alternatives ) ) + // InternalGeneratorDSL.g:1384:3: ( rule__ComparisonOperatorRule__Alternatives ) + { + before(grammarAccess.getComparisonOperatorRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:1385:3: ( rule__ComparisonOperatorRule__Alternatives ) + // InternalGeneratorDSL.g:1385:4: rule__ComparisonOperatorRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__ComparisonOperatorRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getComparisonOperatorRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleComparisonOperatorRule" + + + // $ANTLR start "ruleAddOrSubtractOperatorRule" + // InternalGeneratorDSL.g:1394:1: ruleAddOrSubtractOperatorRule : ( ( rule__AddOrSubtractOperatorRule__Alternatives ) ) ; + public final void ruleAddOrSubtractOperatorRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1398:1: ( ( ( rule__AddOrSubtractOperatorRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:1399:2: ( ( rule__AddOrSubtractOperatorRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:1399:2: ( ( rule__AddOrSubtractOperatorRule__Alternatives ) ) + // InternalGeneratorDSL.g:1400:3: ( rule__AddOrSubtractOperatorRule__Alternatives ) + { + before(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:1401:3: ( rule__AddOrSubtractOperatorRule__Alternatives ) + // InternalGeneratorDSL.g:1401:4: rule__AddOrSubtractOperatorRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__AddOrSubtractOperatorRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleAddOrSubtractOperatorRule" + + + // $ANTLR start "ruleMultiplyDivideModuloOperatorRule" + // InternalGeneratorDSL.g:1410:1: ruleMultiplyDivideModuloOperatorRule : ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) ) ; + public final void ruleMultiplyDivideModuloOperatorRule() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1414:1: ( ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) ) ) + // InternalGeneratorDSL.g:1415:2: ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) ) + { + // InternalGeneratorDSL.g:1415:2: ( ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) ) + // InternalGeneratorDSL.g:1416:3: ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) + { + before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getAlternatives()); + // InternalGeneratorDSL.g:1417:3: ( rule__MultiplyDivideModuloOperatorRule__Alternatives ) + // InternalGeneratorDSL.g:1417:4: rule__MultiplyDivideModuloOperatorRule__Alternatives + { + pushFollow(FOLLOW_2); + rule__MultiplyDivideModuloOperatorRule__Alternatives(); + + state._fsp--; + + + } + + after(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getAlternatives()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "ruleMultiplyDivideModuloOperatorRule" + + + // $ANTLR start "rule__StatementRule__Alternatives" + // InternalGeneratorDSL.g:1425:1: rule__StatementRule__Alternatives : ( ( ruleForStatementRule ) | ( ruleApplyStatementRule ) ); + public final void rule__StatementRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1429:1: ( ( ruleForStatementRule ) | ( ruleApplyStatementRule ) ) + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==29) ) { + alt1=1; + } + else if ( (LA1_0==39) ) { + alt1=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 1, 0, input); + + throw nvae; + } + switch (alt1) { + case 1 : + // InternalGeneratorDSL.g:1430:2: ( ruleForStatementRule ) + { + // InternalGeneratorDSL.g:1430:2: ( ruleForStatementRule ) + // InternalGeneratorDSL.g:1431:3: ruleForStatementRule + { + before(grammarAccess.getStatementRuleAccess().getForStatementRuleParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleForStatementRule(); + + state._fsp--; + + after(grammarAccess.getStatementRuleAccess().getForStatementRuleParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1436:2: ( ruleApplyStatementRule ) + { + // InternalGeneratorDSL.g:1436:2: ( ruleApplyStatementRule ) + // InternalGeneratorDSL.g:1437:3: ruleApplyStatementRule + { + before(grammarAccess.getStatementRuleAccess().getApplyStatementRuleParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleApplyStatementRule(); + + state._fsp--; + + after(grammarAccess.getStatementRuleAccess().getApplyStatementRuleParserRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StatementRule__Alternatives" + + + // $ANTLR start "rule__RangeRule__Alternatives" + // InternalGeneratorDSL.g:1446:1: rule__RangeRule__Alternatives : ( ( ruleFunctionsRule ) | ( ruleGeneratorsRule ) | ( ruleCounterRangeRule ) ); + public final void rule__RangeRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1450:1: ( ( ruleFunctionsRule ) | ( ruleGeneratorsRule ) | ( ruleCounterRangeRule ) ) + int alt2=3; + switch ( input.LA(1) ) { + case 36: + { + alt2=1; + } + break; + case 38: + { + alt2=2; + } + break; + case 33: + { + alt2=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 2, 0, input); + + throw nvae; + } + + switch (alt2) { + case 1 : + // InternalGeneratorDSL.g:1451:2: ( ruleFunctionsRule ) + { + // InternalGeneratorDSL.g:1451:2: ( ruleFunctionsRule ) + // InternalGeneratorDSL.g:1452:3: ruleFunctionsRule + { + before(grammarAccess.getRangeRuleAccess().getFunctionsRuleParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleFunctionsRule(); + + state._fsp--; + + after(grammarAccess.getRangeRuleAccess().getFunctionsRuleParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1457:2: ( ruleGeneratorsRule ) + { + // InternalGeneratorDSL.g:1457:2: ( ruleGeneratorsRule ) + // InternalGeneratorDSL.g:1458:3: ruleGeneratorsRule + { + before(grammarAccess.getRangeRuleAccess().getGeneratorsRuleParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleGeneratorsRule(); + + state._fsp--; + + after(grammarAccess.getRangeRuleAccess().getGeneratorsRuleParserRuleCall_1()); + + } + + + } + break; + case 3 : + // InternalGeneratorDSL.g:1463:2: ( ruleCounterRangeRule ) + { + // InternalGeneratorDSL.g:1463:2: ( ruleCounterRangeRule ) + // InternalGeneratorDSL.g:1464:3: ruleCounterRangeRule + { + before(grammarAccess.getRangeRuleAccess().getCounterRangeRuleParserRuleCall_2()); + pushFollow(FOLLOW_2); + ruleCounterRangeRule(); + + state._fsp--; + + after(grammarAccess.getRangeRuleAccess().getCounterRangeRuleParserRuleCall_2()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__RangeRule__Alternatives" + + + // $ANTLR start "rule__GeneratorReferenceRule__Alternatives" + // InternalGeneratorDSL.g:1473:1: rule__GeneratorReferenceRule__Alternatives : ( ( ruleGeneratorDefinitionReferenceRule ) | ( ruleLoopVariableReference ) ); + public final void rule__GeneratorReferenceRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1477:1: ( ( ruleGeneratorDefinitionReferenceRule ) | ( ruleLoopVariableReference ) ) + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0==28) ) { + alt3=1; + } + else if ( (LA3_0==RULE_ID) ) { + alt3=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 3, 0, input); + + throw nvae; + } + switch (alt3) { + case 1 : + // InternalGeneratorDSL.g:1478:2: ( ruleGeneratorDefinitionReferenceRule ) + { + // InternalGeneratorDSL.g:1478:2: ( ruleGeneratorDefinitionReferenceRule ) + // InternalGeneratorDSL.g:1479:3: ruleGeneratorDefinitionReferenceRule + { + before(grammarAccess.getGeneratorReferenceRuleAccess().getGeneratorDefinitionReferenceRuleParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleGeneratorDefinitionReferenceRule(); + + state._fsp--; + + after(grammarAccess.getGeneratorReferenceRuleAccess().getGeneratorDefinitionReferenceRuleParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1484:2: ( ruleLoopVariableReference ) + { + // InternalGeneratorDSL.g:1484:2: ( ruleLoopVariableReference ) + // InternalGeneratorDSL.g:1485:3: ruleLoopVariableReference + { + before(grammarAccess.getGeneratorReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleLoopVariableReference(); + + state._fsp--; + + after(grammarAccess.getGeneratorReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferenceRule__Alternatives" + + + // $ANTLR start "rule__FunctionReferenceRule__Alternatives" + // InternalGeneratorDSL.g:1494:1: rule__FunctionReferenceRule__Alternatives : ( ( ruleFunctionDefReferenceRule ) | ( ruleLoopVariableReference ) ); + public final void rule__FunctionReferenceRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1498:1: ( ( ruleFunctionDefReferenceRule ) | ( ruleLoopVariableReference ) ) + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0==26||LA4_0==45) ) { + alt4=1; + } + else if ( (LA4_0==RULE_ID) ) { + alt4=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 4, 0, input); + + throw nvae; + } + switch (alt4) { + case 1 : + // InternalGeneratorDSL.g:1499:2: ( ruleFunctionDefReferenceRule ) + { + // InternalGeneratorDSL.g:1499:2: ( ruleFunctionDefReferenceRule ) + // InternalGeneratorDSL.g:1500:3: ruleFunctionDefReferenceRule + { + before(grammarAccess.getFunctionReferenceRuleAccess().getFunctionDefReferenceRuleParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleFunctionDefReferenceRule(); + + state._fsp--; + + after(grammarAccess.getFunctionReferenceRuleAccess().getFunctionDefReferenceRuleParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1505:2: ( ruleLoopVariableReference ) + { + // InternalGeneratorDSL.g:1505:2: ( ruleLoopVariableReference ) + // InternalGeneratorDSL.g:1506:3: ruleLoopVariableReference + { + before(grammarAccess.getFunctionReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleLoopVariableReference(); + + state._fsp--; + + after(grammarAccess.getFunctionReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferenceRule__Alternatives" + + + // $ANTLR start "rule__FunctionDefReferenceRule__Alternatives" + // InternalGeneratorDSL.g:1515:1: rule__FunctionDefReferenceRule__Alternatives : ( ( ruleFunctionDefinitionReferenceRule ) | ( ruleParametrizedFunctionDefinitionReferenceRule ) ); + public final void rule__FunctionDefReferenceRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1519:1: ( ( ruleFunctionDefinitionReferenceRule ) | ( ruleParametrizedFunctionDefinitionReferenceRule ) ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0==45) ) { + alt5=1; + } + else if ( (LA5_0==26) ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalGeneratorDSL.g:1520:2: ( ruleFunctionDefinitionReferenceRule ) + { + // InternalGeneratorDSL.g:1520:2: ( ruleFunctionDefinitionReferenceRule ) + // InternalGeneratorDSL.g:1521:3: ruleFunctionDefinitionReferenceRule + { + before(grammarAccess.getFunctionDefReferenceRuleAccess().getFunctionDefinitionReferenceRuleParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleFunctionDefinitionReferenceRule(); + + state._fsp--; + + after(grammarAccess.getFunctionDefReferenceRuleAccess().getFunctionDefinitionReferenceRuleParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1526:2: ( ruleParametrizedFunctionDefinitionReferenceRule ) + { + // InternalGeneratorDSL.g:1526:2: ( ruleParametrizedFunctionDefinitionReferenceRule ) + // InternalGeneratorDSL.g:1527:3: ruleParametrizedFunctionDefinitionReferenceRule + { + before(grammarAccess.getFunctionDefReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceRuleParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleParametrizedFunctionDefinitionReferenceRule(); + + state._fsp--; + + after(grammarAccess.getFunctionDefReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceRuleParserRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDefReferenceRule__Alternatives" + + + // $ANTLR start "rule__NameOrMiscRule__Alternatives" + // InternalGeneratorDSL.g:1536:1: rule__NameOrMiscRule__Alternatives : ( ( ruleNameRule ) | ( ruleMiscRule ) ); + public final void rule__NameOrMiscRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1540:1: ( ( ruleNameRule ) | ( ruleMiscRule ) ) + int alt6=2; + int LA6_0 = input.LA(1); + + if ( ((LA6_0>=RULE_QUOTED_ID && LA6_0<=RULE_ID)) ) { + alt6=1; + } + else if ( (LA6_0==RULE_STRING) ) { + alt6=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 6, 0, input); + + throw nvae; + } + switch (alt6) { + case 1 : + // InternalGeneratorDSL.g:1541:2: ( ruleNameRule ) + { + // InternalGeneratorDSL.g:1541:2: ( ruleNameRule ) + // InternalGeneratorDSL.g:1542:3: ruleNameRule + { + before(grammarAccess.getNameOrMiscRuleAccess().getNameRuleParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleNameRule(); + + state._fsp--; + + after(grammarAccess.getNameOrMiscRuleAccess().getNameRuleParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1547:2: ( ruleMiscRule ) + { + // InternalGeneratorDSL.g:1547:2: ( ruleMiscRule ) + // InternalGeneratorDSL.g:1548:3: ruleMiscRule + { + before(grammarAccess.getNameOrMiscRuleAccess().getMiscRuleParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleMiscRule(); + + state._fsp--; + + after(grammarAccess.getNameOrMiscRuleAccess().getMiscRuleParserRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NameOrMiscRule__Alternatives" + + + // $ANTLR start "rule__ValueRule__Alternatives" + // InternalGeneratorDSL.g:1557:1: rule__ValueRule__Alternatives : ( ( ruleArrayRule ) | ( ruleDataReferenceRule ) | ( ruleInstanceRule ) | ( ruleLiteralValueRule ) ); + public final void rule__ValueRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1561:1: ( ( ruleArrayRule ) | ( ruleDataReferenceRule ) | ( ruleInstanceRule ) | ( ruleLiteralValueRule ) ) + int alt7=4; + switch ( input.LA(1) ) { + case 33: + { + alt7=1; + } + break; + case 49: + { + alt7=2; + } + break; + case RULE_QUOTED_ID: + case RULE_ID: + { + alt7=3; + } + break; + case RULE_INT: + case RULE_STRING: + case 12: + case 60: + { + alt7=4; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 7, 0, input); + + throw nvae; + } + + switch (alt7) { + case 1 : + // InternalGeneratorDSL.g:1562:2: ( ruleArrayRule ) + { + // InternalGeneratorDSL.g:1562:2: ( ruleArrayRule ) + // InternalGeneratorDSL.g:1563:3: ruleArrayRule + { + before(grammarAccess.getValueRuleAccess().getArrayRuleParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleArrayRule(); + + state._fsp--; + + after(grammarAccess.getValueRuleAccess().getArrayRuleParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1568:2: ( ruleDataReferenceRule ) + { + // InternalGeneratorDSL.g:1568:2: ( ruleDataReferenceRule ) + // InternalGeneratorDSL.g:1569:3: ruleDataReferenceRule + { + before(grammarAccess.getValueRuleAccess().getDataReferenceRuleParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleDataReferenceRule(); + + state._fsp--; + + after(grammarAccess.getValueRuleAccess().getDataReferenceRuleParserRuleCall_1()); + + } + + + } + break; + case 3 : + // InternalGeneratorDSL.g:1574:2: ( ruleInstanceRule ) + { + // InternalGeneratorDSL.g:1574:2: ( ruleInstanceRule ) + // InternalGeneratorDSL.g:1575:3: ruleInstanceRule + { + before(grammarAccess.getValueRuleAccess().getInstanceRuleParserRuleCall_2()); + pushFollow(FOLLOW_2); + ruleInstanceRule(); + + state._fsp--; + + after(grammarAccess.getValueRuleAccess().getInstanceRuleParserRuleCall_2()); + + } + + + } + break; + case 4 : + // InternalGeneratorDSL.g:1580:2: ( ruleLiteralValueRule ) + { + // InternalGeneratorDSL.g:1580:2: ( ruleLiteralValueRule ) + // InternalGeneratorDSL.g:1581:3: ruleLiteralValueRule + { + before(grammarAccess.getValueRuleAccess().getLiteralValueRuleParserRuleCall_3()); + pushFollow(FOLLOW_2); + ruleLiteralValueRule(); + + state._fsp--; + + after(grammarAccess.getValueRuleAccess().getLiteralValueRuleParserRuleCall_3()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ValueRule__Alternatives" + + + // $ANTLR start "rule__LiteralOrReferenceRule__Alternatives" + // InternalGeneratorDSL.g:1590:1: rule__LiteralOrReferenceRule__Alternatives : ( ( ruleCallRule ) | ( ruleLiteralRule ) | ( ruleParanthesesRule ) | ( ruleValueReferenceRule ) ); + public final void rule__LiteralOrReferenceRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1594:1: ( ( ruleCallRule ) | ( ruleLiteralRule ) | ( ruleParanthesesRule ) | ( ruleValueReferenceRule ) ) + int alt8=4; + switch ( input.LA(1) ) { + case 56: + { + alt8=1; + } + break; + case RULE_INT: + case RULE_STRING: + case 12: + case 60: + { + alt8=2; + } + break; + case 54: + { + alt8=3; + } + break; + case 57: + { + alt8=4; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 8, 0, input); + + throw nvae; + } + + switch (alt8) { + case 1 : + // InternalGeneratorDSL.g:1595:2: ( ruleCallRule ) + { + // InternalGeneratorDSL.g:1595:2: ( ruleCallRule ) + // InternalGeneratorDSL.g:1596:3: ruleCallRule + { + before(grammarAccess.getLiteralOrReferenceRuleAccess().getCallRuleParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleCallRule(); + + state._fsp--; + + after(grammarAccess.getLiteralOrReferenceRuleAccess().getCallRuleParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1601:2: ( ruleLiteralRule ) + { + // InternalGeneratorDSL.g:1601:2: ( ruleLiteralRule ) + // InternalGeneratorDSL.g:1602:3: ruleLiteralRule + { + before(grammarAccess.getLiteralOrReferenceRuleAccess().getLiteralRuleParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleLiteralRule(); + + state._fsp--; + + after(grammarAccess.getLiteralOrReferenceRuleAccess().getLiteralRuleParserRuleCall_1()); + + } + + + } + break; + case 3 : + // InternalGeneratorDSL.g:1607:2: ( ruleParanthesesRule ) + { + // InternalGeneratorDSL.g:1607:2: ( ruleParanthesesRule ) + // InternalGeneratorDSL.g:1608:3: ruleParanthesesRule + { + before(grammarAccess.getLiteralOrReferenceRuleAccess().getParanthesesRuleParserRuleCall_2()); + pushFollow(FOLLOW_2); + ruleParanthesesRule(); + + state._fsp--; + + after(grammarAccess.getLiteralOrReferenceRuleAccess().getParanthesesRuleParserRuleCall_2()); + + } + + + } + break; + case 4 : + // InternalGeneratorDSL.g:1613:2: ( ruleValueReferenceRule ) + { + // InternalGeneratorDSL.g:1613:2: ( ruleValueReferenceRule ) + // InternalGeneratorDSL.g:1614:3: ruleValueReferenceRule + { + before(grammarAccess.getLiteralOrReferenceRuleAccess().getValueReferenceRuleParserRuleCall_3()); + pushFollow(FOLLOW_2); + ruleValueReferenceRule(); + + state._fsp--; + + after(grammarAccess.getLiteralOrReferenceRuleAccess().getValueReferenceRuleParserRuleCall_3()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LiteralOrReferenceRule__Alternatives" + + + // $ANTLR start "rule__LiteralRule__Alternatives" + // InternalGeneratorDSL.g:1623:1: rule__LiteralRule__Alternatives : ( ( ruleNumberLiteralRule ) | ( ruleStringLiteralRule ) | ( ruleBooleanLiteralRule ) ); + public final void rule__LiteralRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1627:1: ( ( ruleNumberLiteralRule ) | ( ruleStringLiteralRule ) | ( ruleBooleanLiteralRule ) ) + int alt9=3; + switch ( input.LA(1) ) { + case RULE_INT: + { + alt9=1; + } + break; + case RULE_STRING: + { + alt9=2; + } + break; + case 12: + case 60: + { + alt9=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 9, 0, input); + + throw nvae; + } + + switch (alt9) { + case 1 : + // InternalGeneratorDSL.g:1628:2: ( ruleNumberLiteralRule ) + { + // InternalGeneratorDSL.g:1628:2: ( ruleNumberLiteralRule ) + // InternalGeneratorDSL.g:1629:3: ruleNumberLiteralRule + { + before(grammarAccess.getLiteralRuleAccess().getNumberLiteralRuleParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleNumberLiteralRule(); + + state._fsp--; + + after(grammarAccess.getLiteralRuleAccess().getNumberLiteralRuleParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1634:2: ( ruleStringLiteralRule ) + { + // InternalGeneratorDSL.g:1634:2: ( ruleStringLiteralRule ) + // InternalGeneratorDSL.g:1635:3: ruleStringLiteralRule + { + before(grammarAccess.getLiteralRuleAccess().getStringLiteralRuleParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleStringLiteralRule(); + + state._fsp--; + + after(grammarAccess.getLiteralRuleAccess().getStringLiteralRuleParserRuleCall_1()); + + } + + + } + break; + case 3 : + // InternalGeneratorDSL.g:1640:2: ( ruleBooleanLiteralRule ) + { + // InternalGeneratorDSL.g:1640:2: ( ruleBooleanLiteralRule ) + // InternalGeneratorDSL.g:1641:3: ruleBooleanLiteralRule + { + before(grammarAccess.getLiteralRuleAccess().getBooleanLiteralRuleParserRuleCall_2()); + pushFollow(FOLLOW_2); + ruleBooleanLiteralRule(); + + state._fsp--; + + after(grammarAccess.getLiteralRuleAccess().getBooleanLiteralRuleParserRuleCall_2()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LiteralRule__Alternatives" + + + // $ANTLR start "rule__NumberLiteralRule__Alternatives" + // InternalGeneratorDSL.g:1650:1: rule__NumberLiteralRule__Alternatives : ( ( ruleDoubleLiteralRule ) | ( ruleIntegerLiteralRule ) ); + public final void rule__NumberLiteralRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1654:1: ( ( ruleDoubleLiteralRule ) | ( ruleIntegerLiteralRule ) ) + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==RULE_INT) ) { + int LA10_1 = input.LA(2); + + if ( (LA10_1==EOF||(LA10_1>=13 && LA10_1<=23)||LA10_1==25||LA10_1==35||LA10_1==37||(LA10_1>=50 && LA10_1<=53)||LA10_1==55) ) { + alt10=2; + } + else if ( (LA10_1==58) ) { + alt10=1; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 10, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 10, 0, input); + + throw nvae; + } + switch (alt10) { + case 1 : + // InternalGeneratorDSL.g:1655:2: ( ruleDoubleLiteralRule ) + { + // InternalGeneratorDSL.g:1655:2: ( ruleDoubleLiteralRule ) + // InternalGeneratorDSL.g:1656:3: ruleDoubleLiteralRule + { + before(grammarAccess.getNumberLiteralRuleAccess().getDoubleLiteralRuleParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleDoubleLiteralRule(); + + state._fsp--; + + after(grammarAccess.getNumberLiteralRuleAccess().getDoubleLiteralRuleParserRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1661:2: ( ruleIntegerLiteralRule ) + { + // InternalGeneratorDSL.g:1661:2: ( ruleIntegerLiteralRule ) + // InternalGeneratorDSL.g:1662:3: ruleIntegerLiteralRule + { + before(grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_1()); + pushFollow(FOLLOW_2); + ruleIntegerLiteralRule(); + + state._fsp--; + + after(grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NumberLiteralRule__Alternatives" + + + // $ANTLR start "rule__BooleanLiteralRule__Alternatives_1" + // InternalGeneratorDSL.g:1671:1: rule__BooleanLiteralRule__Alternatives_1 : ( ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) ) | ( 'false' ) ); + public final void rule__BooleanLiteralRule__Alternatives_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1675:1: ( ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) ) | ( 'false' ) ) + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0==60) ) { + alt11=1; + } + else if ( (LA11_0==12) ) { + alt11=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 11, 0, input); + + throw nvae; + } + switch (alt11) { + case 1 : + // InternalGeneratorDSL.g:1676:2: ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) ) + { + // InternalGeneratorDSL.g:1676:2: ( ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) ) + // InternalGeneratorDSL.g:1677:3: ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) + { + before(grammarAccess.getBooleanLiteralRuleAccess().getValueAssignment_1_0()); + // InternalGeneratorDSL.g:1678:3: ( rule__BooleanLiteralRule__ValueAssignment_1_0 ) + // InternalGeneratorDSL.g:1678:4: rule__BooleanLiteralRule__ValueAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__BooleanLiteralRule__ValueAssignment_1_0(); + + state._fsp--; + + + } + + after(grammarAccess.getBooleanLiteralRuleAccess().getValueAssignment_1_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1682:2: ( 'false' ) + { + // InternalGeneratorDSL.g:1682:2: ( 'false' ) + // InternalGeneratorDSL.g:1683:3: 'false' + { + before(grammarAccess.getBooleanLiteralRuleAccess().getFalseKeyword_1_1()); + match(input,12,FOLLOW_2); + after(grammarAccess.getBooleanLiteralRuleAccess().getFalseKeyword_1_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteralRule__Alternatives_1" + + + // $ANTLR start "rule__StringOrId__Alternatives" + // InternalGeneratorDSL.g:1692:1: rule__StringOrId__Alternatives : ( ( RULE_QUOTED_ID ) | ( RULE_ID ) ); + public final void rule__StringOrId__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1696:1: ( ( RULE_QUOTED_ID ) | ( RULE_ID ) ) + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0==RULE_QUOTED_ID) ) { + alt12=1; + } + else if ( (LA12_0==RULE_ID) ) { + alt12=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 12, 0, input); + + throw nvae; + } + switch (alt12) { + case 1 : + // InternalGeneratorDSL.g:1697:2: ( RULE_QUOTED_ID ) + { + // InternalGeneratorDSL.g:1697:2: ( RULE_QUOTED_ID ) + // InternalGeneratorDSL.g:1698:3: RULE_QUOTED_ID + { + before(grammarAccess.getStringOrIdAccess().getQUOTED_IDTerminalRuleCall_0()); + match(input,RULE_QUOTED_ID,FOLLOW_2); + after(grammarAccess.getStringOrIdAccess().getQUOTED_IDTerminalRuleCall_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1703:2: ( RULE_ID ) + { + // InternalGeneratorDSL.g:1703:2: ( RULE_ID ) + // InternalGeneratorDSL.g:1704:3: RULE_ID + { + before(grammarAccess.getStringOrIdAccess().getIDTerminalRuleCall_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getStringOrIdAccess().getIDTerminalRuleCall_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StringOrId__Alternatives" + + + // $ANTLR start "rule__ComparisonOperatorRule__Alternatives" + // InternalGeneratorDSL.g:1713:1: rule__ComparisonOperatorRule__Alternatives : ( ( ( '>=' ) ) | ( ( '>' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '<=' ) ) ); + public final void rule__ComparisonOperatorRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1717:1: ( ( ( '>=' ) ) | ( ( '>' ) ) | ( ( '=' ) ) | ( ( '!=' ) ) | ( ( '<' ) ) | ( ( '<=' ) ) ) + int alt13=6; + switch ( input.LA(1) ) { + case 13: + { + alt13=1; + } + break; + case 14: + { + alt13=2; + } + break; + case 15: + { + alt13=3; + } + break; + case 16: + { + alt13=4; + } + break; + case 17: + { + alt13=5; + } + break; + case 18: + { + alt13=6; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 13, 0, input); + + throw nvae; + } + + switch (alt13) { + case 1 : + // InternalGeneratorDSL.g:1718:2: ( ( '>=' ) ) + { + // InternalGeneratorDSL.g:1718:2: ( ( '>=' ) ) + // InternalGeneratorDSL.g:1719:3: ( '>=' ) + { + before(grammarAccess.getComparisonOperatorRuleAccess().getGreaterThanEnumLiteralDeclaration_0()); + // InternalGeneratorDSL.g:1720:3: ( '>=' ) + // InternalGeneratorDSL.g:1720:4: '>=' + { + match(input,13,FOLLOW_2); + + } + + after(grammarAccess.getComparisonOperatorRuleAccess().getGreaterThanEnumLiteralDeclaration_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1724:2: ( ( '>' ) ) + { + // InternalGeneratorDSL.g:1724:2: ( ( '>' ) ) + // InternalGeneratorDSL.g:1725:3: ( '>' ) + { + before(grammarAccess.getComparisonOperatorRuleAccess().getGreaterEqualEnumLiteralDeclaration_1()); + // InternalGeneratorDSL.g:1726:3: ( '>' ) + // InternalGeneratorDSL.g:1726:4: '>' + { + match(input,14,FOLLOW_2); + + } + + after(grammarAccess.getComparisonOperatorRuleAccess().getGreaterEqualEnumLiteralDeclaration_1()); + + } + + + } + break; + case 3 : + // InternalGeneratorDSL.g:1730:2: ( ( '=' ) ) + { + // InternalGeneratorDSL.g:1730:2: ( ( '=' ) ) + // InternalGeneratorDSL.g:1731:3: ( '=' ) + { + before(grammarAccess.getComparisonOperatorRuleAccess().getEqualEnumLiteralDeclaration_2()); + // InternalGeneratorDSL.g:1732:3: ( '=' ) + // InternalGeneratorDSL.g:1732:4: '=' + { + match(input,15,FOLLOW_2); + + } + + after(grammarAccess.getComparisonOperatorRuleAccess().getEqualEnumLiteralDeclaration_2()); + + } + + + } + break; + case 4 : + // InternalGeneratorDSL.g:1736:2: ( ( '!=' ) ) + { + // InternalGeneratorDSL.g:1736:2: ( ( '!=' ) ) + // InternalGeneratorDSL.g:1737:3: ( '!=' ) + { + before(grammarAccess.getComparisonOperatorRuleAccess().getUnequalEnumLiteralDeclaration_3()); + // InternalGeneratorDSL.g:1738:3: ( '!=' ) + // InternalGeneratorDSL.g:1738:4: '!=' + { + match(input,16,FOLLOW_2); + + } + + after(grammarAccess.getComparisonOperatorRuleAccess().getUnequalEnumLiteralDeclaration_3()); + + } + + + } + break; + case 5 : + // InternalGeneratorDSL.g:1742:2: ( ( '<' ) ) + { + // InternalGeneratorDSL.g:1742:2: ( ( '<' ) ) + // InternalGeneratorDSL.g:1743:3: ( '<' ) + { + before(grammarAccess.getComparisonOperatorRuleAccess().getLessEqualEnumLiteralDeclaration_4()); + // InternalGeneratorDSL.g:1744:3: ( '<' ) + // InternalGeneratorDSL.g:1744:4: '<' + { + match(input,17,FOLLOW_2); + + } + + after(grammarAccess.getComparisonOperatorRuleAccess().getLessEqualEnumLiteralDeclaration_4()); + + } + + + } + break; + case 6 : + // InternalGeneratorDSL.g:1748:2: ( ( '<=' ) ) + { + // InternalGeneratorDSL.g:1748:2: ( ( '<=' ) ) + // InternalGeneratorDSL.g:1749:3: ( '<=' ) + { + before(grammarAccess.getComparisonOperatorRuleAccess().getLessThanEnumLiteralDeclaration_5()); + // InternalGeneratorDSL.g:1750:3: ( '<=' ) + // InternalGeneratorDSL.g:1750:4: '<=' + { + match(input,18,FOLLOW_2); + + } + + after(grammarAccess.getComparisonOperatorRuleAccess().getLessThanEnumLiteralDeclaration_5()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonOperatorRule__Alternatives" + + + // $ANTLR start "rule__AddOrSubtractOperatorRule__Alternatives" + // InternalGeneratorDSL.g:1758:1: rule__AddOrSubtractOperatorRule__Alternatives : ( ( ( '+' ) ) | ( ( '-' ) ) ); + public final void rule__AddOrSubtractOperatorRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1762:1: ( ( ( '+' ) ) | ( ( '-' ) ) ) + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0==19) ) { + alt14=1; + } + else if ( (LA14_0==20) ) { + alt14=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 14, 0, input); + + throw nvae; + } + switch (alt14) { + case 1 : + // InternalGeneratorDSL.g:1763:2: ( ( '+' ) ) + { + // InternalGeneratorDSL.g:1763:2: ( ( '+' ) ) + // InternalGeneratorDSL.g:1764:3: ( '+' ) + { + before(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAddEnumLiteralDeclaration_0()); + // InternalGeneratorDSL.g:1765:3: ( '+' ) + // InternalGeneratorDSL.g:1765:4: '+' + { + match(input,19,FOLLOW_2); + + } + + after(grammarAccess.getAddOrSubtractOperatorRuleAccess().getAddEnumLiteralDeclaration_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1769:2: ( ( '-' ) ) + { + // InternalGeneratorDSL.g:1769:2: ( ( '-' ) ) + // InternalGeneratorDSL.g:1770:3: ( '-' ) + { + before(grammarAccess.getAddOrSubtractOperatorRuleAccess().getSubtractEnumLiteralDeclaration_1()); + // InternalGeneratorDSL.g:1771:3: ( '-' ) + // InternalGeneratorDSL.g:1771:4: '-' + { + match(input,20,FOLLOW_2); + + } + + after(grammarAccess.getAddOrSubtractOperatorRuleAccess().getSubtractEnumLiteralDeclaration_1()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractOperatorRule__Alternatives" + + + // $ANTLR start "rule__MultiplyDivideModuloOperatorRule__Alternatives" + // InternalGeneratorDSL.g:1779:1: rule__MultiplyDivideModuloOperatorRule__Alternatives : ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) ); + public final void rule__MultiplyDivideModuloOperatorRule__Alternatives() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1783:1: ( ( ( '*' ) ) | ( ( '/' ) ) | ( ( '%' ) ) ) + int alt15=3; + switch ( input.LA(1) ) { + case 21: + { + alt15=1; + } + break; + case 22: + { + alt15=2; + } + break; + case 23: + { + alt15=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 15, 0, input); + + throw nvae; + } + + switch (alt15) { + case 1 : + // InternalGeneratorDSL.g:1784:2: ( ( '*' ) ) + { + // InternalGeneratorDSL.g:1784:2: ( ( '*' ) ) + // InternalGeneratorDSL.g:1785:3: ( '*' ) + { + before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getMultiplyEnumLiteralDeclaration_0()); + // InternalGeneratorDSL.g:1786:3: ( '*' ) + // InternalGeneratorDSL.g:1786:4: '*' + { + match(input,21,FOLLOW_2); + + } + + after(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getMultiplyEnumLiteralDeclaration_0()); + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1790:2: ( ( '/' ) ) + { + // InternalGeneratorDSL.g:1790:2: ( ( '/' ) ) + // InternalGeneratorDSL.g:1791:3: ( '/' ) + { + before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getDivideEnumLiteralDeclaration_1()); + // InternalGeneratorDSL.g:1792:3: ( '/' ) + // InternalGeneratorDSL.g:1792:4: '/' + { + match(input,22,FOLLOW_2); + + } + + after(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getDivideEnumLiteralDeclaration_1()); + + } + + + } + break; + case 3 : + // InternalGeneratorDSL.g:1796:2: ( ( '%' ) ) + { + // InternalGeneratorDSL.g:1796:2: ( ( '%' ) ) + // InternalGeneratorDSL.g:1797:3: ( '%' ) + { + before(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getModuloEnumLiteralDeclaration_2()); + // InternalGeneratorDSL.g:1798:3: ( '%' ) + // InternalGeneratorDSL.g:1798:4: '%' + { + match(input,23,FOLLOW_2); + + } + + after(grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getModuloEnumLiteralDeclaration_2()); + + } + + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloOperatorRule__Alternatives" + + + // $ANTLR start "rule__ConfigurationRule__Group__0" + // InternalGeneratorDSL.g:1806:1: rule__ConfigurationRule__Group__0 : rule__ConfigurationRule__Group__0__Impl rule__ConfigurationRule__Group__1 ; + public final void rule__ConfigurationRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1810:1: ( rule__ConfigurationRule__Group__0__Impl rule__ConfigurationRule__Group__1 ) + // InternalGeneratorDSL.g:1811:2: rule__ConfigurationRule__Group__0__Impl rule__ConfigurationRule__Group__1 + { + pushFollow(FOLLOW_3); + rule__ConfigurationRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ConfigurationRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__Group__0" + + + // $ANTLR start "rule__ConfigurationRule__Group__0__Impl" + // InternalGeneratorDSL.g:1818:1: rule__ConfigurationRule__Group__0__Impl : ( ( rule__ConfigurationRule__UsesAssignment_0 )* ) ; + public final void rule__ConfigurationRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1822:1: ( ( ( rule__ConfigurationRule__UsesAssignment_0 )* ) ) + // InternalGeneratorDSL.g:1823:1: ( ( rule__ConfigurationRule__UsesAssignment_0 )* ) + { + // InternalGeneratorDSL.g:1823:1: ( ( rule__ConfigurationRule__UsesAssignment_0 )* ) + // InternalGeneratorDSL.g:1824:2: ( rule__ConfigurationRule__UsesAssignment_0 )* + { + before(grammarAccess.getConfigurationRuleAccess().getUsesAssignment_0()); + // InternalGeneratorDSL.g:1825:2: ( rule__ConfigurationRule__UsesAssignment_0 )* + loop16: + do { + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0==24) ) { + alt16=1; + } + + + switch (alt16) { + case 1 : + // InternalGeneratorDSL.g:1825:3: rule__ConfigurationRule__UsesAssignment_0 + { + pushFollow(FOLLOW_4); + rule__ConfigurationRule__UsesAssignment_0(); + + state._fsp--; + + + } + break; + + default : + break loop16; + } + } while (true); + + after(grammarAccess.getConfigurationRuleAccess().getUsesAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__Group__0__Impl" + + + // $ANTLR start "rule__ConfigurationRule__Group__1" + // InternalGeneratorDSL.g:1833:1: rule__ConfigurationRule__Group__1 : rule__ConfigurationRule__Group__1__Impl rule__ConfigurationRule__Group__2 ; + public final void rule__ConfigurationRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1837:1: ( rule__ConfigurationRule__Group__1__Impl rule__ConfigurationRule__Group__2 ) + // InternalGeneratorDSL.g:1838:2: rule__ConfigurationRule__Group__1__Impl rule__ConfigurationRule__Group__2 + { + pushFollow(FOLLOW_3); + rule__ConfigurationRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ConfigurationRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__Group__1" + + + // $ANTLR start "rule__ConfigurationRule__Group__1__Impl" + // InternalGeneratorDSL.g:1845:1: rule__ConfigurationRule__Group__1__Impl : ( ( rule__ConfigurationRule__GeneratorsAssignment_1 )* ) ; + public final void rule__ConfigurationRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1849:1: ( ( ( rule__ConfigurationRule__GeneratorsAssignment_1 )* ) ) + // InternalGeneratorDSL.g:1850:1: ( ( rule__ConfigurationRule__GeneratorsAssignment_1 )* ) + { + // InternalGeneratorDSL.g:1850:1: ( ( rule__ConfigurationRule__GeneratorsAssignment_1 )* ) + // InternalGeneratorDSL.g:1851:2: ( rule__ConfigurationRule__GeneratorsAssignment_1 )* + { + before(grammarAccess.getConfigurationRuleAccess().getGeneratorsAssignment_1()); + // InternalGeneratorDSL.g:1852:2: ( rule__ConfigurationRule__GeneratorsAssignment_1 )* + loop17: + do { + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==28) ) { + alt17=1; + } + + + switch (alt17) { + case 1 : + // InternalGeneratorDSL.g:1852:3: rule__ConfigurationRule__GeneratorsAssignment_1 + { + pushFollow(FOLLOW_5); + rule__ConfigurationRule__GeneratorsAssignment_1(); + + state._fsp--; + + + } + break; + + default : + break loop17; + } + } while (true); + + after(grammarAccess.getConfigurationRuleAccess().getGeneratorsAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__Group__1__Impl" + + + // $ANTLR start "rule__ConfigurationRule__Group__2" + // InternalGeneratorDSL.g:1860:1: rule__ConfigurationRule__Group__2 : rule__ConfigurationRule__Group__2__Impl rule__ConfigurationRule__Group__3 ; + public final void rule__ConfigurationRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1864:1: ( rule__ConfigurationRule__Group__2__Impl rule__ConfigurationRule__Group__3 ) + // InternalGeneratorDSL.g:1865:2: rule__ConfigurationRule__Group__2__Impl rule__ConfigurationRule__Group__3 + { + pushFollow(FOLLOW_3); + rule__ConfigurationRule__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ConfigurationRule__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__Group__2" + + + // $ANTLR start "rule__ConfigurationRule__Group__2__Impl" + // InternalGeneratorDSL.g:1872:1: rule__ConfigurationRule__Group__2__Impl : ( ( rule__ConfigurationRule__FunctionsAssignment_2 )* ) ; + public final void rule__ConfigurationRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1876:1: ( ( ( rule__ConfigurationRule__FunctionsAssignment_2 )* ) ) + // InternalGeneratorDSL.g:1877:1: ( ( rule__ConfigurationRule__FunctionsAssignment_2 )* ) + { + // InternalGeneratorDSL.g:1877:1: ( ( rule__ConfigurationRule__FunctionsAssignment_2 )* ) + // InternalGeneratorDSL.g:1878:2: ( rule__ConfigurationRule__FunctionsAssignment_2 )* + { + before(grammarAccess.getConfigurationRuleAccess().getFunctionsAssignment_2()); + // InternalGeneratorDSL.g:1879:2: ( rule__ConfigurationRule__FunctionsAssignment_2 )* + loop18: + do { + int alt18=2; + int LA18_0 = input.LA(1); + + if ( (LA18_0==26) ) { + alt18=1; + } + + + switch (alt18) { + case 1 : + // InternalGeneratorDSL.g:1879:3: rule__ConfigurationRule__FunctionsAssignment_2 + { + pushFollow(FOLLOW_6); + rule__ConfigurationRule__FunctionsAssignment_2(); + + state._fsp--; + + + } + break; + + default : + break loop18; + } + } while (true); + + after(grammarAccess.getConfigurationRuleAccess().getFunctionsAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__Group__2__Impl" + + + // $ANTLR start "rule__ConfigurationRule__Group__3" + // InternalGeneratorDSL.g:1887:1: rule__ConfigurationRule__Group__3 : rule__ConfigurationRule__Group__3__Impl ; + public final void rule__ConfigurationRule__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1891:1: ( rule__ConfigurationRule__Group__3__Impl ) + // InternalGeneratorDSL.g:1892:2: rule__ConfigurationRule__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__ConfigurationRule__Group__3__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__Group__3" + + + // $ANTLR start "rule__ConfigurationRule__Group__3__Impl" + // InternalGeneratorDSL.g:1898:1: rule__ConfigurationRule__Group__3__Impl : ( ( rule__ConfigurationRule__StatementsAssignment_3 )* ) ; + public final void rule__ConfigurationRule__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1902:1: ( ( ( rule__ConfigurationRule__StatementsAssignment_3 )* ) ) + // InternalGeneratorDSL.g:1903:1: ( ( rule__ConfigurationRule__StatementsAssignment_3 )* ) + { + // InternalGeneratorDSL.g:1903:1: ( ( rule__ConfigurationRule__StatementsAssignment_3 )* ) + // InternalGeneratorDSL.g:1904:2: ( rule__ConfigurationRule__StatementsAssignment_3 )* + { + before(grammarAccess.getConfigurationRuleAccess().getStatementsAssignment_3()); + // InternalGeneratorDSL.g:1905:2: ( rule__ConfigurationRule__StatementsAssignment_3 )* + loop19: + do { + int alt19=2; + int LA19_0 = input.LA(1); + + if ( (LA19_0==29||LA19_0==39) ) { + alt19=1; + } + + + switch (alt19) { + case 1 : + // InternalGeneratorDSL.g:1905:3: rule__ConfigurationRule__StatementsAssignment_3 + { + pushFollow(FOLLOW_7); + rule__ConfigurationRule__StatementsAssignment_3(); + + state._fsp--; + + + } + break; + + default : + break loop19; + } + } while (true); + + after(grammarAccess.getConfigurationRuleAccess().getStatementsAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__Group__3__Impl" + + + // $ANTLR start "rule__UseRule__Group__0" + // InternalGeneratorDSL.g:1914:1: rule__UseRule__Group__0 : rule__UseRule__Group__0__Impl rule__UseRule__Group__1 ; + public final void rule__UseRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1918:1: ( rule__UseRule__Group__0__Impl rule__UseRule__Group__1 ) + // InternalGeneratorDSL.g:1919:2: rule__UseRule__Group__0__Impl rule__UseRule__Group__1 + { + pushFollow(FOLLOW_8); + rule__UseRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__UseRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UseRule__Group__0" + + + // $ANTLR start "rule__UseRule__Group__0__Impl" + // InternalGeneratorDSL.g:1926:1: rule__UseRule__Group__0__Impl : ( 'use' ) ; + public final void rule__UseRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1930:1: ( ( 'use' ) ) + // InternalGeneratorDSL.g:1931:1: ( 'use' ) + { + // InternalGeneratorDSL.g:1931:1: ( 'use' ) + // InternalGeneratorDSL.g:1932:2: 'use' + { + before(grammarAccess.getUseRuleAccess().getUseKeyword_0()); + match(input,24,FOLLOW_2); + after(grammarAccess.getUseRuleAccess().getUseKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UseRule__Group__0__Impl" + + + // $ANTLR start "rule__UseRule__Group__1" + // InternalGeneratorDSL.g:1941:1: rule__UseRule__Group__1 : rule__UseRule__Group__1__Impl rule__UseRule__Group__2 ; + public final void rule__UseRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1945:1: ( rule__UseRule__Group__1__Impl rule__UseRule__Group__2 ) + // InternalGeneratorDSL.g:1946:2: rule__UseRule__Group__1__Impl rule__UseRule__Group__2 + { + pushFollow(FOLLOW_9); + rule__UseRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__UseRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UseRule__Group__1" + + + // $ANTLR start "rule__UseRule__Group__1__Impl" + // InternalGeneratorDSL.g:1953:1: rule__UseRule__Group__1__Impl : ( ( rule__UseRule__ImportURIAssignment_1 ) ) ; + public final void rule__UseRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1957:1: ( ( ( rule__UseRule__ImportURIAssignment_1 ) ) ) + // InternalGeneratorDSL.g:1958:1: ( ( rule__UseRule__ImportURIAssignment_1 ) ) + { + // InternalGeneratorDSL.g:1958:1: ( ( rule__UseRule__ImportURIAssignment_1 ) ) + // InternalGeneratorDSL.g:1959:2: ( rule__UseRule__ImportURIAssignment_1 ) + { + before(grammarAccess.getUseRuleAccess().getImportURIAssignment_1()); + // InternalGeneratorDSL.g:1960:2: ( rule__UseRule__ImportURIAssignment_1 ) + // InternalGeneratorDSL.g:1960:3: rule__UseRule__ImportURIAssignment_1 + { + pushFollow(FOLLOW_2); + rule__UseRule__ImportURIAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getUseRuleAccess().getImportURIAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UseRule__Group__1__Impl" + + + // $ANTLR start "rule__UseRule__Group__2" + // InternalGeneratorDSL.g:1968:1: rule__UseRule__Group__2 : rule__UseRule__Group__2__Impl ; + public final void rule__UseRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1972:1: ( rule__UseRule__Group__2__Impl ) + // InternalGeneratorDSL.g:1973:2: rule__UseRule__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__UseRule__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UseRule__Group__2" + + + // $ANTLR start "rule__UseRule__Group__2__Impl" + // InternalGeneratorDSL.g:1979:1: rule__UseRule__Group__2__Impl : ( ';' ) ; + public final void rule__UseRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1983:1: ( ( ';' ) ) + // InternalGeneratorDSL.g:1984:1: ( ';' ) + { + // InternalGeneratorDSL.g:1984:1: ( ';' ) + // InternalGeneratorDSL.g:1985:2: ';' + { + before(grammarAccess.getUseRuleAccess().getSemicolonKeyword_2()); + match(input,25,FOLLOW_2); + after(grammarAccess.getUseRuleAccess().getSemicolonKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UseRule__Group__2__Impl" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__Group__0" + // InternalGeneratorDSL.g:1995:1: rule__ParametrizedFunctionDefinitionRule__Group__0 : rule__ParametrizedFunctionDefinitionRule__Group__0__Impl rule__ParametrizedFunctionDefinitionRule__Group__1 ; + public final void rule__ParametrizedFunctionDefinitionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:1999:1: ( rule__ParametrizedFunctionDefinitionRule__Group__0__Impl rule__ParametrizedFunctionDefinitionRule__Group__1 ) + // InternalGeneratorDSL.g:2000:2: rule__ParametrizedFunctionDefinitionRule__Group__0__Impl rule__ParametrizedFunctionDefinitionRule__Group__1 + { + pushFollow(FOLLOW_10); + rule__ParametrizedFunctionDefinitionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__Group__0" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__Group__0__Impl" + // InternalGeneratorDSL.g:2007:1: rule__ParametrizedFunctionDefinitionRule__Group__0__Impl : ( 'function' ) ; + public final void rule__ParametrizedFunctionDefinitionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2011:1: ( ( 'function' ) ) + // InternalGeneratorDSL.g:2012:1: ( 'function' ) + { + // InternalGeneratorDSL.g:2012:1: ( 'function' ) + // InternalGeneratorDSL.g:2013:2: 'function' + { + before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getFunctionKeyword_0()); + match(input,26,FOLLOW_2); + after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getFunctionKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__Group__0__Impl" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__Group__1" + // InternalGeneratorDSL.g:2022:1: rule__ParametrizedFunctionDefinitionRule__Group__1 : rule__ParametrizedFunctionDefinitionRule__Group__1__Impl rule__ParametrizedFunctionDefinitionRule__Group__2 ; + public final void rule__ParametrizedFunctionDefinitionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2026:1: ( rule__ParametrizedFunctionDefinitionRule__Group__1__Impl rule__ParametrizedFunctionDefinitionRule__Group__2 ) + // InternalGeneratorDSL.g:2027:2: rule__ParametrizedFunctionDefinitionRule__Group__1__Impl rule__ParametrizedFunctionDefinitionRule__Group__2 + { + pushFollow(FOLLOW_11); + rule__ParametrizedFunctionDefinitionRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__Group__1" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__Group__1__Impl" + // InternalGeneratorDSL.g:2034:1: rule__ParametrizedFunctionDefinitionRule__Group__1__Impl : ( ( rule__ParametrizedFunctionDefinitionRule__NameAssignment_1 ) ) ; + public final void rule__ParametrizedFunctionDefinitionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2038:1: ( ( ( rule__ParametrizedFunctionDefinitionRule__NameAssignment_1 ) ) ) + // InternalGeneratorDSL.g:2039:1: ( ( rule__ParametrizedFunctionDefinitionRule__NameAssignment_1 ) ) + { + // InternalGeneratorDSL.g:2039:1: ( ( rule__ParametrizedFunctionDefinitionRule__NameAssignment_1 ) ) + // InternalGeneratorDSL.g:2040:2: ( rule__ParametrizedFunctionDefinitionRule__NameAssignment_1 ) + { + before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameAssignment_1()); + // InternalGeneratorDSL.g:2041:2: ( rule__ParametrizedFunctionDefinitionRule__NameAssignment_1 ) + // InternalGeneratorDSL.g:2041:3: rule__ParametrizedFunctionDefinitionRule__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionRule__NameAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__Group__1__Impl" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__Group__2" + // InternalGeneratorDSL.g:2049:1: rule__ParametrizedFunctionDefinitionRule__Group__2 : rule__ParametrizedFunctionDefinitionRule__Group__2__Impl rule__ParametrizedFunctionDefinitionRule__Group__3 ; + public final void rule__ParametrizedFunctionDefinitionRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2053:1: ( rule__ParametrizedFunctionDefinitionRule__Group__2__Impl rule__ParametrizedFunctionDefinitionRule__Group__3 ) + // InternalGeneratorDSL.g:2054:2: rule__ParametrizedFunctionDefinitionRule__Group__2__Impl rule__ParametrizedFunctionDefinitionRule__Group__3 + { + pushFollow(FOLLOW_10); + rule__ParametrizedFunctionDefinitionRule__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionRule__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__Group__2" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__Group__2__Impl" + // InternalGeneratorDSL.g:2061:1: rule__ParametrizedFunctionDefinitionRule__Group__2__Impl : ( 'using' ) ; + public final void rule__ParametrizedFunctionDefinitionRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2065:1: ( ( 'using' ) ) + // InternalGeneratorDSL.g:2066:1: ( 'using' ) + { + // InternalGeneratorDSL.g:2066:1: ( 'using' ) + // InternalGeneratorDSL.g:2067:2: 'using' + { + before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getUsingKeyword_2()); + match(input,27,FOLLOW_2); + after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getUsingKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__Group__2__Impl" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__Group__3" + // InternalGeneratorDSL.g:2076:1: rule__ParametrizedFunctionDefinitionRule__Group__3 : rule__ParametrizedFunctionDefinitionRule__Group__3__Impl rule__ParametrizedFunctionDefinitionRule__Group__4 ; + public final void rule__ParametrizedFunctionDefinitionRule__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2080:1: ( rule__ParametrizedFunctionDefinitionRule__Group__3__Impl rule__ParametrizedFunctionDefinitionRule__Group__4 ) + // InternalGeneratorDSL.g:2081:2: rule__ParametrizedFunctionDefinitionRule__Group__3__Impl rule__ParametrizedFunctionDefinitionRule__Group__4 + { + pushFollow(FOLLOW_9); + rule__ParametrizedFunctionDefinitionRule__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionRule__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__Group__3" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__Group__3__Impl" + // InternalGeneratorDSL.g:2088:1: rule__ParametrizedFunctionDefinitionRule__Group__3__Impl : ( ( rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3 ) ) ; + public final void rule__ParametrizedFunctionDefinitionRule__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2092:1: ( ( ( rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3 ) ) ) + // InternalGeneratorDSL.g:2093:1: ( ( rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3 ) ) + { + // InternalGeneratorDSL.g:2093:1: ( ( rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3 ) ) + // InternalGeneratorDSL.g:2094:2: ( rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3 ) + { + before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionAssignment_3()); + // InternalGeneratorDSL.g:2095:2: ( rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3 ) + // InternalGeneratorDSL.g:2095:3: rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3 + { + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3(); + + state._fsp--; + + + } + + after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__Group__3__Impl" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__Group__4" + // InternalGeneratorDSL.g:2103:1: rule__ParametrizedFunctionDefinitionRule__Group__4 : rule__ParametrizedFunctionDefinitionRule__Group__4__Impl ; + public final void rule__ParametrizedFunctionDefinitionRule__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2107:1: ( rule__ParametrizedFunctionDefinitionRule__Group__4__Impl ) + // InternalGeneratorDSL.g:2108:2: rule__ParametrizedFunctionDefinitionRule__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionRule__Group__4__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__Group__4" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__Group__4__Impl" + // InternalGeneratorDSL.g:2114:1: rule__ParametrizedFunctionDefinitionRule__Group__4__Impl : ( ';' ) ; + public final void rule__ParametrizedFunctionDefinitionRule__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2118:1: ( ( ';' ) ) + // InternalGeneratorDSL.g:2119:1: ( ';' ) + { + // InternalGeneratorDSL.g:2119:1: ( ';' ) + // InternalGeneratorDSL.g:2120:2: ';' + { + before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getSemicolonKeyword_4()); + match(input,25,FOLLOW_2); + after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getSemicolonKeyword_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__Group__4__Impl" + + + // $ANTLR start "rule__GeneratorDefinitionRule__Group__0" + // InternalGeneratorDSL.g:2130:1: rule__GeneratorDefinitionRule__Group__0 : rule__GeneratorDefinitionRule__Group__0__Impl rule__GeneratorDefinitionRule__Group__1 ; + public final void rule__GeneratorDefinitionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2134:1: ( rule__GeneratorDefinitionRule__Group__0__Impl rule__GeneratorDefinitionRule__Group__1 ) + // InternalGeneratorDSL.g:2135:2: rule__GeneratorDefinitionRule__Group__0__Impl rule__GeneratorDefinitionRule__Group__1 + { + pushFollow(FOLLOW_10); + rule__GeneratorDefinitionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__Group__0" + + + // $ANTLR start "rule__GeneratorDefinitionRule__Group__0__Impl" + // InternalGeneratorDSL.g:2142:1: rule__GeneratorDefinitionRule__Group__0__Impl : ( 'generator' ) ; + public final void rule__GeneratorDefinitionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2146:1: ( ( 'generator' ) ) + // InternalGeneratorDSL.g:2147:1: ( 'generator' ) + { + // InternalGeneratorDSL.g:2147:1: ( 'generator' ) + // InternalGeneratorDSL.g:2148:2: 'generator' + { + before(grammarAccess.getGeneratorDefinitionRuleAccess().getGeneratorKeyword_0()); + match(input,28,FOLLOW_2); + after(grammarAccess.getGeneratorDefinitionRuleAccess().getGeneratorKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__Group__0__Impl" + + + // $ANTLR start "rule__GeneratorDefinitionRule__Group__1" + // InternalGeneratorDSL.g:2157:1: rule__GeneratorDefinitionRule__Group__1 : rule__GeneratorDefinitionRule__Group__1__Impl rule__GeneratorDefinitionRule__Group__2 ; + public final void rule__GeneratorDefinitionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2161:1: ( rule__GeneratorDefinitionRule__Group__1__Impl rule__GeneratorDefinitionRule__Group__2 ) + // InternalGeneratorDSL.g:2162:2: rule__GeneratorDefinitionRule__Group__1__Impl rule__GeneratorDefinitionRule__Group__2 + { + pushFollow(FOLLOW_11); + rule__GeneratorDefinitionRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__Group__1" + + + // $ANTLR start "rule__GeneratorDefinitionRule__Group__1__Impl" + // InternalGeneratorDSL.g:2169:1: rule__GeneratorDefinitionRule__Group__1__Impl : ( ( rule__GeneratorDefinitionRule__NameAssignment_1 ) ) ; + public final void rule__GeneratorDefinitionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2173:1: ( ( ( rule__GeneratorDefinitionRule__NameAssignment_1 ) ) ) + // InternalGeneratorDSL.g:2174:1: ( ( rule__GeneratorDefinitionRule__NameAssignment_1 ) ) + { + // InternalGeneratorDSL.g:2174:1: ( ( rule__GeneratorDefinitionRule__NameAssignment_1 ) ) + // InternalGeneratorDSL.g:2175:2: ( rule__GeneratorDefinitionRule__NameAssignment_1 ) + { + before(grammarAccess.getGeneratorDefinitionRuleAccess().getNameAssignment_1()); + // InternalGeneratorDSL.g:2176:2: ( rule__GeneratorDefinitionRule__NameAssignment_1 ) + // InternalGeneratorDSL.g:2176:3: rule__GeneratorDefinitionRule__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionRule__NameAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getGeneratorDefinitionRuleAccess().getNameAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__Group__1__Impl" + + + // $ANTLR start "rule__GeneratorDefinitionRule__Group__2" + // InternalGeneratorDSL.g:2184:1: rule__GeneratorDefinitionRule__Group__2 : rule__GeneratorDefinitionRule__Group__2__Impl rule__GeneratorDefinitionRule__Group__3 ; + public final void rule__GeneratorDefinitionRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2188:1: ( rule__GeneratorDefinitionRule__Group__2__Impl rule__GeneratorDefinitionRule__Group__3 ) + // InternalGeneratorDSL.g:2189:2: rule__GeneratorDefinitionRule__Group__2__Impl rule__GeneratorDefinitionRule__Group__3 + { + pushFollow(FOLLOW_10); + rule__GeneratorDefinitionRule__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionRule__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__Group__2" + + + // $ANTLR start "rule__GeneratorDefinitionRule__Group__2__Impl" + // InternalGeneratorDSL.g:2196:1: rule__GeneratorDefinitionRule__Group__2__Impl : ( 'using' ) ; + public final void rule__GeneratorDefinitionRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2200:1: ( ( 'using' ) ) + // InternalGeneratorDSL.g:2201:1: ( 'using' ) + { + // InternalGeneratorDSL.g:2201:1: ( 'using' ) + // InternalGeneratorDSL.g:2202:2: 'using' + { + before(grammarAccess.getGeneratorDefinitionRuleAccess().getUsingKeyword_2()); + match(input,27,FOLLOW_2); + after(grammarAccess.getGeneratorDefinitionRuleAccess().getUsingKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__Group__2__Impl" + + + // $ANTLR start "rule__GeneratorDefinitionRule__Group__3" + // InternalGeneratorDSL.g:2211:1: rule__GeneratorDefinitionRule__Group__3 : rule__GeneratorDefinitionRule__Group__3__Impl rule__GeneratorDefinitionRule__Group__4 ; + public final void rule__GeneratorDefinitionRule__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2215:1: ( rule__GeneratorDefinitionRule__Group__3__Impl rule__GeneratorDefinitionRule__Group__4 ) + // InternalGeneratorDSL.g:2216:2: rule__GeneratorDefinitionRule__Group__3__Impl rule__GeneratorDefinitionRule__Group__4 + { + pushFollow(FOLLOW_9); + rule__GeneratorDefinitionRule__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionRule__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__Group__3" + + + // $ANTLR start "rule__GeneratorDefinitionRule__Group__3__Impl" + // InternalGeneratorDSL.g:2223:1: rule__GeneratorDefinitionRule__Group__3__Impl : ( ( rule__GeneratorDefinitionRule__DefinitionAssignment_3 ) ) ; + public final void rule__GeneratorDefinitionRule__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2227:1: ( ( ( rule__GeneratorDefinitionRule__DefinitionAssignment_3 ) ) ) + // InternalGeneratorDSL.g:2228:1: ( ( rule__GeneratorDefinitionRule__DefinitionAssignment_3 ) ) + { + // InternalGeneratorDSL.g:2228:1: ( ( rule__GeneratorDefinitionRule__DefinitionAssignment_3 ) ) + // InternalGeneratorDSL.g:2229:2: ( rule__GeneratorDefinitionRule__DefinitionAssignment_3 ) + { + before(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionAssignment_3()); + // InternalGeneratorDSL.g:2230:2: ( rule__GeneratorDefinitionRule__DefinitionAssignment_3 ) + // InternalGeneratorDSL.g:2230:3: rule__GeneratorDefinitionRule__DefinitionAssignment_3 + { + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionRule__DefinitionAssignment_3(); + + state._fsp--; + + + } + + after(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__Group__3__Impl" + + + // $ANTLR start "rule__GeneratorDefinitionRule__Group__4" + // InternalGeneratorDSL.g:2238:1: rule__GeneratorDefinitionRule__Group__4 : rule__GeneratorDefinitionRule__Group__4__Impl ; + public final void rule__GeneratorDefinitionRule__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2242:1: ( rule__GeneratorDefinitionRule__Group__4__Impl ) + // InternalGeneratorDSL.g:2243:2: rule__GeneratorDefinitionRule__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionRule__Group__4__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__Group__4" + + + // $ANTLR start "rule__GeneratorDefinitionRule__Group__4__Impl" + // InternalGeneratorDSL.g:2249:1: rule__GeneratorDefinitionRule__Group__4__Impl : ( ';' ) ; + public final void rule__GeneratorDefinitionRule__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2253:1: ( ( ';' ) ) + // InternalGeneratorDSL.g:2254:1: ( ';' ) + { + // InternalGeneratorDSL.g:2254:1: ( ';' ) + // InternalGeneratorDSL.g:2255:2: ';' + { + before(grammarAccess.getGeneratorDefinitionRuleAccess().getSemicolonKeyword_4()); + match(input,25,FOLLOW_2); + after(grammarAccess.getGeneratorDefinitionRuleAccess().getSemicolonKeyword_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__Group__4__Impl" + + + // $ANTLR start "rule__ForStatementRule__Group__0" + // InternalGeneratorDSL.g:2265:1: rule__ForStatementRule__Group__0 : rule__ForStatementRule__Group__0__Impl rule__ForStatementRule__Group__1 ; + public final void rule__ForStatementRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2269:1: ( rule__ForStatementRule__Group__0__Impl rule__ForStatementRule__Group__1 ) + // InternalGeneratorDSL.g:2270:2: rule__ForStatementRule__Group__0__Impl rule__ForStatementRule__Group__1 + { + pushFollow(FOLLOW_12); + rule__ForStatementRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ForStatementRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__0" + + + // $ANTLR start "rule__ForStatementRule__Group__0__Impl" + // InternalGeneratorDSL.g:2277:1: rule__ForStatementRule__Group__0__Impl : ( 'for' ) ; + public final void rule__ForStatementRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2281:1: ( ( 'for' ) ) + // InternalGeneratorDSL.g:2282:1: ( 'for' ) + { + // InternalGeneratorDSL.g:2282:1: ( 'for' ) + // InternalGeneratorDSL.g:2283:2: 'for' + { + before(grammarAccess.getForStatementRuleAccess().getForKeyword_0()); + match(input,29,FOLLOW_2); + after(grammarAccess.getForStatementRuleAccess().getForKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__0__Impl" + + + // $ANTLR start "rule__ForStatementRule__Group__1" + // InternalGeneratorDSL.g:2292:1: rule__ForStatementRule__Group__1 : rule__ForStatementRule__Group__1__Impl rule__ForStatementRule__Group__2 ; + public final void rule__ForStatementRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2296:1: ( rule__ForStatementRule__Group__1__Impl rule__ForStatementRule__Group__2 ) + // InternalGeneratorDSL.g:2297:2: rule__ForStatementRule__Group__1__Impl rule__ForStatementRule__Group__2 + { + pushFollow(FOLLOW_13); + rule__ForStatementRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ForStatementRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__1" + + + // $ANTLR start "rule__ForStatementRule__Group__1__Impl" + // InternalGeneratorDSL.g:2304:1: rule__ForStatementRule__Group__1__Impl : ( ( rule__ForStatementRule__NameAssignment_1 ) ) ; + public final void rule__ForStatementRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2308:1: ( ( ( rule__ForStatementRule__NameAssignment_1 ) ) ) + // InternalGeneratorDSL.g:2309:1: ( ( rule__ForStatementRule__NameAssignment_1 ) ) + { + // InternalGeneratorDSL.g:2309:1: ( ( rule__ForStatementRule__NameAssignment_1 ) ) + // InternalGeneratorDSL.g:2310:2: ( rule__ForStatementRule__NameAssignment_1 ) + { + before(grammarAccess.getForStatementRuleAccess().getNameAssignment_1()); + // InternalGeneratorDSL.g:2311:2: ( rule__ForStatementRule__NameAssignment_1 ) + // InternalGeneratorDSL.g:2311:3: rule__ForStatementRule__NameAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ForStatementRule__NameAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getForStatementRuleAccess().getNameAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__1__Impl" + + + // $ANTLR start "rule__ForStatementRule__Group__2" + // InternalGeneratorDSL.g:2319:1: rule__ForStatementRule__Group__2 : rule__ForStatementRule__Group__2__Impl rule__ForStatementRule__Group__3 ; + public final void rule__ForStatementRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2323:1: ( rule__ForStatementRule__Group__2__Impl rule__ForStatementRule__Group__3 ) + // InternalGeneratorDSL.g:2324:2: rule__ForStatementRule__Group__2__Impl rule__ForStatementRule__Group__3 + { + pushFollow(FOLLOW_14); + rule__ForStatementRule__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ForStatementRule__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__2" + + + // $ANTLR start "rule__ForStatementRule__Group__2__Impl" + // InternalGeneratorDSL.g:2331:1: rule__ForStatementRule__Group__2__Impl : ( 'in' ) ; + public final void rule__ForStatementRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2335:1: ( ( 'in' ) ) + // InternalGeneratorDSL.g:2336:1: ( 'in' ) + { + // InternalGeneratorDSL.g:2336:1: ( 'in' ) + // InternalGeneratorDSL.g:2337:2: 'in' + { + before(grammarAccess.getForStatementRuleAccess().getInKeyword_2()); + match(input,30,FOLLOW_2); + after(grammarAccess.getForStatementRuleAccess().getInKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__2__Impl" + + + // $ANTLR start "rule__ForStatementRule__Group__3" + // InternalGeneratorDSL.g:2346:1: rule__ForStatementRule__Group__3 : rule__ForStatementRule__Group__3__Impl rule__ForStatementRule__Group__4 ; + public final void rule__ForStatementRule__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2350:1: ( rule__ForStatementRule__Group__3__Impl rule__ForStatementRule__Group__4 ) + // InternalGeneratorDSL.g:2351:2: rule__ForStatementRule__Group__3__Impl rule__ForStatementRule__Group__4 + { + pushFollow(FOLLOW_15); + rule__ForStatementRule__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ForStatementRule__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__3" + + + // $ANTLR start "rule__ForStatementRule__Group__3__Impl" + // InternalGeneratorDSL.g:2358:1: rule__ForStatementRule__Group__3__Impl : ( ( rule__ForStatementRule__RangeAssignment_3 ) ) ; + public final void rule__ForStatementRule__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2362:1: ( ( ( rule__ForStatementRule__RangeAssignment_3 ) ) ) + // InternalGeneratorDSL.g:2363:1: ( ( rule__ForStatementRule__RangeAssignment_3 ) ) + { + // InternalGeneratorDSL.g:2363:1: ( ( rule__ForStatementRule__RangeAssignment_3 ) ) + // InternalGeneratorDSL.g:2364:2: ( rule__ForStatementRule__RangeAssignment_3 ) + { + before(grammarAccess.getForStatementRuleAccess().getRangeAssignment_3()); + // InternalGeneratorDSL.g:2365:2: ( rule__ForStatementRule__RangeAssignment_3 ) + // InternalGeneratorDSL.g:2365:3: rule__ForStatementRule__RangeAssignment_3 + { + pushFollow(FOLLOW_2); + rule__ForStatementRule__RangeAssignment_3(); + + state._fsp--; + + + } + + after(grammarAccess.getForStatementRuleAccess().getRangeAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__3__Impl" + + + // $ANTLR start "rule__ForStatementRule__Group__4" + // InternalGeneratorDSL.g:2373:1: rule__ForStatementRule__Group__4 : rule__ForStatementRule__Group__4__Impl rule__ForStatementRule__Group__5 ; + public final void rule__ForStatementRule__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2377:1: ( rule__ForStatementRule__Group__4__Impl rule__ForStatementRule__Group__5 ) + // InternalGeneratorDSL.g:2378:2: rule__ForStatementRule__Group__4__Impl rule__ForStatementRule__Group__5 + { + pushFollow(FOLLOW_16); + rule__ForStatementRule__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ForStatementRule__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__4" + + + // $ANTLR start "rule__ForStatementRule__Group__4__Impl" + // InternalGeneratorDSL.g:2385:1: rule__ForStatementRule__Group__4__Impl : ( 'loop' ) ; + public final void rule__ForStatementRule__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2389:1: ( ( 'loop' ) ) + // InternalGeneratorDSL.g:2390:1: ( 'loop' ) + { + // InternalGeneratorDSL.g:2390:1: ( 'loop' ) + // InternalGeneratorDSL.g:2391:2: 'loop' + { + before(grammarAccess.getForStatementRuleAccess().getLoopKeyword_4()); + match(input,31,FOLLOW_2); + after(grammarAccess.getForStatementRuleAccess().getLoopKeyword_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__4__Impl" + + + // $ANTLR start "rule__ForStatementRule__Group__5" + // InternalGeneratorDSL.g:2400:1: rule__ForStatementRule__Group__5 : rule__ForStatementRule__Group__5__Impl rule__ForStatementRule__Group__6 ; + public final void rule__ForStatementRule__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2404:1: ( rule__ForStatementRule__Group__5__Impl rule__ForStatementRule__Group__6 ) + // InternalGeneratorDSL.g:2405:2: rule__ForStatementRule__Group__5__Impl rule__ForStatementRule__Group__6 + { + pushFollow(FOLLOW_16); + rule__ForStatementRule__Group__5__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ForStatementRule__Group__6(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__5" + + + // $ANTLR start "rule__ForStatementRule__Group__5__Impl" + // InternalGeneratorDSL.g:2412:1: rule__ForStatementRule__Group__5__Impl : ( ( rule__ForStatementRule__StatementsAssignment_5 )* ) ; + public final void rule__ForStatementRule__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2416:1: ( ( ( rule__ForStatementRule__StatementsAssignment_5 )* ) ) + // InternalGeneratorDSL.g:2417:1: ( ( rule__ForStatementRule__StatementsAssignment_5 )* ) + { + // InternalGeneratorDSL.g:2417:1: ( ( rule__ForStatementRule__StatementsAssignment_5 )* ) + // InternalGeneratorDSL.g:2418:2: ( rule__ForStatementRule__StatementsAssignment_5 )* + { + before(grammarAccess.getForStatementRuleAccess().getStatementsAssignment_5()); + // InternalGeneratorDSL.g:2419:2: ( rule__ForStatementRule__StatementsAssignment_5 )* + loop20: + do { + int alt20=2; + int LA20_0 = input.LA(1); + + if ( (LA20_0==29||LA20_0==39) ) { + alt20=1; + } + + + switch (alt20) { + case 1 : + // InternalGeneratorDSL.g:2419:3: rule__ForStatementRule__StatementsAssignment_5 + { + pushFollow(FOLLOW_7); + rule__ForStatementRule__StatementsAssignment_5(); + + state._fsp--; + + + } + break; + + default : + break loop20; + } + } while (true); + + after(grammarAccess.getForStatementRuleAccess().getStatementsAssignment_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__5__Impl" + + + // $ANTLR start "rule__ForStatementRule__Group__6" + // InternalGeneratorDSL.g:2427:1: rule__ForStatementRule__Group__6 : rule__ForStatementRule__Group__6__Impl ; + public final void rule__ForStatementRule__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2431:1: ( rule__ForStatementRule__Group__6__Impl ) + // InternalGeneratorDSL.g:2432:2: rule__ForStatementRule__Group__6__Impl + { + pushFollow(FOLLOW_2); + rule__ForStatementRule__Group__6__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__6" + + + // $ANTLR start "rule__ForStatementRule__Group__6__Impl" + // InternalGeneratorDSL.g:2438:1: rule__ForStatementRule__Group__6__Impl : ( 'end' ) ; + public final void rule__ForStatementRule__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2442:1: ( ( 'end' ) ) + // InternalGeneratorDSL.g:2443:1: ( 'end' ) + { + // InternalGeneratorDSL.g:2443:1: ( 'end' ) + // InternalGeneratorDSL.g:2444:2: 'end' + { + before(grammarAccess.getForStatementRuleAccess().getEndKeyword_6()); + match(input,32,FOLLOW_2); + after(grammarAccess.getForStatementRuleAccess().getEndKeyword_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__Group__6__Impl" + + + // $ANTLR start "rule__CounterRangeRule__Group__0" + // InternalGeneratorDSL.g:2454:1: rule__CounterRangeRule__Group__0 : rule__CounterRangeRule__Group__0__Impl rule__CounterRangeRule__Group__1 ; + public final void rule__CounterRangeRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2458:1: ( rule__CounterRangeRule__Group__0__Impl rule__CounterRangeRule__Group__1 ) + // InternalGeneratorDSL.g:2459:2: rule__CounterRangeRule__Group__0__Impl rule__CounterRangeRule__Group__1 + { + pushFollow(FOLLOW_17); + rule__CounterRangeRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CounterRangeRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__Group__0" + + + // $ANTLR start "rule__CounterRangeRule__Group__0__Impl" + // InternalGeneratorDSL.g:2466:1: rule__CounterRangeRule__Group__0__Impl : ( '[' ) ; + public final void rule__CounterRangeRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2470:1: ( ( '[' ) ) + // InternalGeneratorDSL.g:2471:1: ( '[' ) + { + // InternalGeneratorDSL.g:2471:1: ( '[' ) + // InternalGeneratorDSL.g:2472:2: '[' + { + before(grammarAccess.getCounterRangeRuleAccess().getLeftSquareBracketKeyword_0()); + match(input,33,FOLLOW_2); + after(grammarAccess.getCounterRangeRuleAccess().getLeftSquareBracketKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__Group__0__Impl" + + + // $ANTLR start "rule__CounterRangeRule__Group__1" + // InternalGeneratorDSL.g:2481:1: rule__CounterRangeRule__Group__1 : rule__CounterRangeRule__Group__1__Impl rule__CounterRangeRule__Group__2 ; + public final void rule__CounterRangeRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2485:1: ( rule__CounterRangeRule__Group__1__Impl rule__CounterRangeRule__Group__2 ) + // InternalGeneratorDSL.g:2486:2: rule__CounterRangeRule__Group__1__Impl rule__CounterRangeRule__Group__2 + { + pushFollow(FOLLOW_18); + rule__CounterRangeRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CounterRangeRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__Group__1" + + + // $ANTLR start "rule__CounterRangeRule__Group__1__Impl" + // InternalGeneratorDSL.g:2493:1: rule__CounterRangeRule__Group__1__Impl : ( ( rule__CounterRangeRule__StartAssignment_1 ) ) ; + public final void rule__CounterRangeRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2497:1: ( ( ( rule__CounterRangeRule__StartAssignment_1 ) ) ) + // InternalGeneratorDSL.g:2498:1: ( ( rule__CounterRangeRule__StartAssignment_1 ) ) + { + // InternalGeneratorDSL.g:2498:1: ( ( rule__CounterRangeRule__StartAssignment_1 ) ) + // InternalGeneratorDSL.g:2499:2: ( rule__CounterRangeRule__StartAssignment_1 ) + { + before(grammarAccess.getCounterRangeRuleAccess().getStartAssignment_1()); + // InternalGeneratorDSL.g:2500:2: ( rule__CounterRangeRule__StartAssignment_1 ) + // InternalGeneratorDSL.g:2500:3: rule__CounterRangeRule__StartAssignment_1 + { + pushFollow(FOLLOW_2); + rule__CounterRangeRule__StartAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getCounterRangeRuleAccess().getStartAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__Group__1__Impl" + + + // $ANTLR start "rule__CounterRangeRule__Group__2" + // InternalGeneratorDSL.g:2508:1: rule__CounterRangeRule__Group__2 : rule__CounterRangeRule__Group__2__Impl rule__CounterRangeRule__Group__3 ; + public final void rule__CounterRangeRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2512:1: ( rule__CounterRangeRule__Group__2__Impl rule__CounterRangeRule__Group__3 ) + // InternalGeneratorDSL.g:2513:2: rule__CounterRangeRule__Group__2__Impl rule__CounterRangeRule__Group__3 + { + pushFollow(FOLLOW_17); + rule__CounterRangeRule__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CounterRangeRule__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__Group__2" + + + // $ANTLR start "rule__CounterRangeRule__Group__2__Impl" + // InternalGeneratorDSL.g:2520:1: rule__CounterRangeRule__Group__2__Impl : ( 'to' ) ; + public final void rule__CounterRangeRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2524:1: ( ( 'to' ) ) + // InternalGeneratorDSL.g:2525:1: ( 'to' ) + { + // InternalGeneratorDSL.g:2525:1: ( 'to' ) + // InternalGeneratorDSL.g:2526:2: 'to' + { + before(grammarAccess.getCounterRangeRuleAccess().getToKeyword_2()); + match(input,34,FOLLOW_2); + after(grammarAccess.getCounterRangeRuleAccess().getToKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__Group__2__Impl" + + + // $ANTLR start "rule__CounterRangeRule__Group__3" + // InternalGeneratorDSL.g:2535:1: rule__CounterRangeRule__Group__3 : rule__CounterRangeRule__Group__3__Impl rule__CounterRangeRule__Group__4 ; + public final void rule__CounterRangeRule__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2539:1: ( rule__CounterRangeRule__Group__3__Impl rule__CounterRangeRule__Group__4 ) + // InternalGeneratorDSL.g:2540:2: rule__CounterRangeRule__Group__3__Impl rule__CounterRangeRule__Group__4 + { + pushFollow(FOLLOW_19); + rule__CounterRangeRule__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CounterRangeRule__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__Group__3" + + + // $ANTLR start "rule__CounterRangeRule__Group__3__Impl" + // InternalGeneratorDSL.g:2547:1: rule__CounterRangeRule__Group__3__Impl : ( ( rule__CounterRangeRule__EndAssignment_3 ) ) ; + public final void rule__CounterRangeRule__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2551:1: ( ( ( rule__CounterRangeRule__EndAssignment_3 ) ) ) + // InternalGeneratorDSL.g:2552:1: ( ( rule__CounterRangeRule__EndAssignment_3 ) ) + { + // InternalGeneratorDSL.g:2552:1: ( ( rule__CounterRangeRule__EndAssignment_3 ) ) + // InternalGeneratorDSL.g:2553:2: ( rule__CounterRangeRule__EndAssignment_3 ) + { + before(grammarAccess.getCounterRangeRuleAccess().getEndAssignment_3()); + // InternalGeneratorDSL.g:2554:2: ( rule__CounterRangeRule__EndAssignment_3 ) + // InternalGeneratorDSL.g:2554:3: rule__CounterRangeRule__EndAssignment_3 + { + pushFollow(FOLLOW_2); + rule__CounterRangeRule__EndAssignment_3(); + + state._fsp--; + + + } + + after(grammarAccess.getCounterRangeRuleAccess().getEndAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__Group__3__Impl" + + + // $ANTLR start "rule__CounterRangeRule__Group__4" + // InternalGeneratorDSL.g:2562:1: rule__CounterRangeRule__Group__4 : rule__CounterRangeRule__Group__4__Impl ; + public final void rule__CounterRangeRule__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2566:1: ( rule__CounterRangeRule__Group__4__Impl ) + // InternalGeneratorDSL.g:2567:2: rule__CounterRangeRule__Group__4__Impl + { + pushFollow(FOLLOW_2); + rule__CounterRangeRule__Group__4__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__Group__4" + + + // $ANTLR start "rule__CounterRangeRule__Group__4__Impl" + // InternalGeneratorDSL.g:2573:1: rule__CounterRangeRule__Group__4__Impl : ( ']' ) ; + public final void rule__CounterRangeRule__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2577:1: ( ( ']' ) ) + // InternalGeneratorDSL.g:2578:1: ( ']' ) + { + // InternalGeneratorDSL.g:2578:1: ( ']' ) + // InternalGeneratorDSL.g:2579:2: ']' + { + before(grammarAccess.getCounterRangeRuleAccess().getRightSquareBracketKeyword_4()); + match(input,35,FOLLOW_2); + after(grammarAccess.getCounterRangeRuleAccess().getRightSquareBracketKeyword_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__Group__4__Impl" + + + // $ANTLR start "rule__FunctionsRule__Group__0" + // InternalGeneratorDSL.g:2589:1: rule__FunctionsRule__Group__0 : rule__FunctionsRule__Group__0__Impl rule__FunctionsRule__Group__1 ; + public final void rule__FunctionsRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2593:1: ( rule__FunctionsRule__Group__0__Impl rule__FunctionsRule__Group__1 ) + // InternalGeneratorDSL.g:2594:2: rule__FunctionsRule__Group__0__Impl rule__FunctionsRule__Group__1 + { + pushFollow(FOLLOW_20); + rule__FunctionsRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__FunctionsRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionsRule__Group__0" + + + // $ANTLR start "rule__FunctionsRule__Group__0__Impl" + // InternalGeneratorDSL.g:2601:1: rule__FunctionsRule__Group__0__Impl : ( () ) ; + public final void rule__FunctionsRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2605:1: ( ( () ) ) + // InternalGeneratorDSL.g:2606:1: ( () ) + { + // InternalGeneratorDSL.g:2606:1: ( () ) + // InternalGeneratorDSL.g:2607:2: () + { + before(grammarAccess.getFunctionsRuleAccess().getFunctionsAction_0()); + // InternalGeneratorDSL.g:2608:2: () + // InternalGeneratorDSL.g:2608:3: + { + } + + after(grammarAccess.getFunctionsRuleAccess().getFunctionsAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionsRule__Group__0__Impl" + + + // $ANTLR start "rule__FunctionsRule__Group__1" + // InternalGeneratorDSL.g:2616:1: rule__FunctionsRule__Group__1 : rule__FunctionsRule__Group__1__Impl rule__FunctionsRule__Group__2 ; + public final void rule__FunctionsRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2620:1: ( rule__FunctionsRule__Group__1__Impl rule__FunctionsRule__Group__2 ) + // InternalGeneratorDSL.g:2621:2: rule__FunctionsRule__Group__1__Impl rule__FunctionsRule__Group__2 + { + pushFollow(FOLLOW_21); + rule__FunctionsRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__FunctionsRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionsRule__Group__1" + + + // $ANTLR start "rule__FunctionsRule__Group__1__Impl" + // InternalGeneratorDSL.g:2628:1: rule__FunctionsRule__Group__1__Impl : ( 'functions' ) ; + public final void rule__FunctionsRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2632:1: ( ( 'functions' ) ) + // InternalGeneratorDSL.g:2633:1: ( 'functions' ) + { + // InternalGeneratorDSL.g:2633:1: ( 'functions' ) + // InternalGeneratorDSL.g:2634:2: 'functions' + { + before(grammarAccess.getFunctionsRuleAccess().getFunctionsKeyword_1()); + match(input,36,FOLLOW_2); + after(grammarAccess.getFunctionsRuleAccess().getFunctionsKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionsRule__Group__1__Impl" + + + // $ANTLR start "rule__FunctionsRule__Group__2" + // InternalGeneratorDSL.g:2643:1: rule__FunctionsRule__Group__2 : rule__FunctionsRule__Group__2__Impl ; + public final void rule__FunctionsRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2647:1: ( rule__FunctionsRule__Group__2__Impl ) + // InternalGeneratorDSL.g:2648:2: rule__FunctionsRule__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__FunctionsRule__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionsRule__Group__2" + + + // $ANTLR start "rule__FunctionsRule__Group__2__Impl" + // InternalGeneratorDSL.g:2654:1: rule__FunctionsRule__Group__2__Impl : ( ( rule__FunctionsRule__FunctionReferencesAssignment_2 )? ) ; + public final void rule__FunctionsRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2658:1: ( ( ( rule__FunctionsRule__FunctionReferencesAssignment_2 )? ) ) + // InternalGeneratorDSL.g:2659:1: ( ( rule__FunctionsRule__FunctionReferencesAssignment_2 )? ) + { + // InternalGeneratorDSL.g:2659:1: ( ( rule__FunctionsRule__FunctionReferencesAssignment_2 )? ) + // InternalGeneratorDSL.g:2660:2: ( rule__FunctionsRule__FunctionReferencesAssignment_2 )? + { + before(grammarAccess.getFunctionsRuleAccess().getFunctionReferencesAssignment_2()); + // InternalGeneratorDSL.g:2661:2: ( rule__FunctionsRule__FunctionReferencesAssignment_2 )? + int alt21=2; + int LA21_0 = input.LA(1); + + if ( (LA21_0==33) ) { + alt21=1; + } + switch (alt21) { + case 1 : + // InternalGeneratorDSL.g:2661:3: rule__FunctionsRule__FunctionReferencesAssignment_2 + { + pushFollow(FOLLOW_2); + rule__FunctionsRule__FunctionReferencesAssignment_2(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getFunctionsRuleAccess().getFunctionReferencesAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionsRule__Group__2__Impl" + + + // $ANTLR start "rule__FunctionReferencesRule__Group__0" + // InternalGeneratorDSL.g:2670:1: rule__FunctionReferencesRule__Group__0 : rule__FunctionReferencesRule__Group__0__Impl rule__FunctionReferencesRule__Group__1 ; + public final void rule__FunctionReferencesRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2674:1: ( rule__FunctionReferencesRule__Group__0__Impl rule__FunctionReferencesRule__Group__1 ) + // InternalGeneratorDSL.g:2675:2: rule__FunctionReferencesRule__Group__0__Impl rule__FunctionReferencesRule__Group__1 + { + pushFollow(FOLLOW_22); + rule__FunctionReferencesRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__FunctionReferencesRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group__0" + + + // $ANTLR start "rule__FunctionReferencesRule__Group__0__Impl" + // InternalGeneratorDSL.g:2682:1: rule__FunctionReferencesRule__Group__0__Impl : ( '[' ) ; + public final void rule__FunctionReferencesRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2686:1: ( ( '[' ) ) + // InternalGeneratorDSL.g:2687:1: ( '[' ) + { + // InternalGeneratorDSL.g:2687:1: ( '[' ) + // InternalGeneratorDSL.g:2688:2: '[' + { + before(grammarAccess.getFunctionReferencesRuleAccess().getLeftSquareBracketKeyword_0()); + match(input,33,FOLLOW_2); + after(grammarAccess.getFunctionReferencesRuleAccess().getLeftSquareBracketKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group__0__Impl" + + + // $ANTLR start "rule__FunctionReferencesRule__Group__1" + // InternalGeneratorDSL.g:2697:1: rule__FunctionReferencesRule__Group__1 : rule__FunctionReferencesRule__Group__1__Impl rule__FunctionReferencesRule__Group__2 ; + public final void rule__FunctionReferencesRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2701:1: ( rule__FunctionReferencesRule__Group__1__Impl rule__FunctionReferencesRule__Group__2 ) + // InternalGeneratorDSL.g:2702:2: rule__FunctionReferencesRule__Group__1__Impl rule__FunctionReferencesRule__Group__2 + { + pushFollow(FOLLOW_23); + rule__FunctionReferencesRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__FunctionReferencesRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group__1" + + + // $ANTLR start "rule__FunctionReferencesRule__Group__1__Impl" + // InternalGeneratorDSL.g:2709:1: rule__FunctionReferencesRule__Group__1__Impl : ( ( rule__FunctionReferencesRule__FunctionsAssignment_1 ) ) ; + public final void rule__FunctionReferencesRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2713:1: ( ( ( rule__FunctionReferencesRule__FunctionsAssignment_1 ) ) ) + // InternalGeneratorDSL.g:2714:1: ( ( rule__FunctionReferencesRule__FunctionsAssignment_1 ) ) + { + // InternalGeneratorDSL.g:2714:1: ( ( rule__FunctionReferencesRule__FunctionsAssignment_1 ) ) + // InternalGeneratorDSL.g:2715:2: ( rule__FunctionReferencesRule__FunctionsAssignment_1 ) + { + before(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsAssignment_1()); + // InternalGeneratorDSL.g:2716:2: ( rule__FunctionReferencesRule__FunctionsAssignment_1 ) + // InternalGeneratorDSL.g:2716:3: rule__FunctionReferencesRule__FunctionsAssignment_1 + { + pushFollow(FOLLOW_2); + rule__FunctionReferencesRule__FunctionsAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group__1__Impl" + + + // $ANTLR start "rule__FunctionReferencesRule__Group__2" + // InternalGeneratorDSL.g:2724:1: rule__FunctionReferencesRule__Group__2 : rule__FunctionReferencesRule__Group__2__Impl rule__FunctionReferencesRule__Group__3 ; + public final void rule__FunctionReferencesRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2728:1: ( rule__FunctionReferencesRule__Group__2__Impl rule__FunctionReferencesRule__Group__3 ) + // InternalGeneratorDSL.g:2729:2: rule__FunctionReferencesRule__Group__2__Impl rule__FunctionReferencesRule__Group__3 + { + pushFollow(FOLLOW_23); + rule__FunctionReferencesRule__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__FunctionReferencesRule__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group__2" + + + // $ANTLR start "rule__FunctionReferencesRule__Group__2__Impl" + // InternalGeneratorDSL.g:2736:1: rule__FunctionReferencesRule__Group__2__Impl : ( ( rule__FunctionReferencesRule__Group_2__0 )* ) ; + public final void rule__FunctionReferencesRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2740:1: ( ( ( rule__FunctionReferencesRule__Group_2__0 )* ) ) + // InternalGeneratorDSL.g:2741:1: ( ( rule__FunctionReferencesRule__Group_2__0 )* ) + { + // InternalGeneratorDSL.g:2741:1: ( ( rule__FunctionReferencesRule__Group_2__0 )* ) + // InternalGeneratorDSL.g:2742:2: ( rule__FunctionReferencesRule__Group_2__0 )* + { + before(grammarAccess.getFunctionReferencesRuleAccess().getGroup_2()); + // InternalGeneratorDSL.g:2743:2: ( rule__FunctionReferencesRule__Group_2__0 )* + loop22: + do { + int alt22=2; + int LA22_0 = input.LA(1); + + if ( (LA22_0==37) ) { + alt22=1; + } + + + switch (alt22) { + case 1 : + // InternalGeneratorDSL.g:2743:3: rule__FunctionReferencesRule__Group_2__0 + { + pushFollow(FOLLOW_24); + rule__FunctionReferencesRule__Group_2__0(); + + state._fsp--; + + + } + break; + + default : + break loop22; + } + } while (true); + + after(grammarAccess.getFunctionReferencesRuleAccess().getGroup_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group__2__Impl" + + + // $ANTLR start "rule__FunctionReferencesRule__Group__3" + // InternalGeneratorDSL.g:2751:1: rule__FunctionReferencesRule__Group__3 : rule__FunctionReferencesRule__Group__3__Impl ; + public final void rule__FunctionReferencesRule__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2755:1: ( rule__FunctionReferencesRule__Group__3__Impl ) + // InternalGeneratorDSL.g:2756:2: rule__FunctionReferencesRule__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__FunctionReferencesRule__Group__3__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group__3" + + + // $ANTLR start "rule__FunctionReferencesRule__Group__3__Impl" + // InternalGeneratorDSL.g:2762:1: rule__FunctionReferencesRule__Group__3__Impl : ( ']' ) ; + public final void rule__FunctionReferencesRule__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2766:1: ( ( ']' ) ) + // InternalGeneratorDSL.g:2767:1: ( ']' ) + { + // InternalGeneratorDSL.g:2767:1: ( ']' ) + // InternalGeneratorDSL.g:2768:2: ']' + { + before(grammarAccess.getFunctionReferencesRuleAccess().getRightSquareBracketKeyword_3()); + match(input,35,FOLLOW_2); + after(grammarAccess.getFunctionReferencesRuleAccess().getRightSquareBracketKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group__3__Impl" + + + // $ANTLR start "rule__FunctionReferencesRule__Group_2__0" + // InternalGeneratorDSL.g:2778:1: rule__FunctionReferencesRule__Group_2__0 : rule__FunctionReferencesRule__Group_2__0__Impl rule__FunctionReferencesRule__Group_2__1 ; + public final void rule__FunctionReferencesRule__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2782:1: ( rule__FunctionReferencesRule__Group_2__0__Impl rule__FunctionReferencesRule__Group_2__1 ) + // InternalGeneratorDSL.g:2783:2: rule__FunctionReferencesRule__Group_2__0__Impl rule__FunctionReferencesRule__Group_2__1 + { + pushFollow(FOLLOW_22); + rule__FunctionReferencesRule__Group_2__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__FunctionReferencesRule__Group_2__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group_2__0" + + + // $ANTLR start "rule__FunctionReferencesRule__Group_2__0__Impl" + // InternalGeneratorDSL.g:2790:1: rule__FunctionReferencesRule__Group_2__0__Impl : ( ',' ) ; + public final void rule__FunctionReferencesRule__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2794:1: ( ( ',' ) ) + // InternalGeneratorDSL.g:2795:1: ( ',' ) + { + // InternalGeneratorDSL.g:2795:1: ( ',' ) + // InternalGeneratorDSL.g:2796:2: ',' + { + before(grammarAccess.getFunctionReferencesRuleAccess().getCommaKeyword_2_0()); + match(input,37,FOLLOW_2); + after(grammarAccess.getFunctionReferencesRuleAccess().getCommaKeyword_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group_2__0__Impl" + + + // $ANTLR start "rule__FunctionReferencesRule__Group_2__1" + // InternalGeneratorDSL.g:2805:1: rule__FunctionReferencesRule__Group_2__1 : rule__FunctionReferencesRule__Group_2__1__Impl ; + public final void rule__FunctionReferencesRule__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2809:1: ( rule__FunctionReferencesRule__Group_2__1__Impl ) + // InternalGeneratorDSL.g:2810:2: rule__FunctionReferencesRule__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__FunctionReferencesRule__Group_2__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group_2__1" + + + // $ANTLR start "rule__FunctionReferencesRule__Group_2__1__Impl" + // InternalGeneratorDSL.g:2816:1: rule__FunctionReferencesRule__Group_2__1__Impl : ( ( rule__FunctionReferencesRule__FunctionsAssignment_2_1 ) ) ; + public final void rule__FunctionReferencesRule__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2820:1: ( ( ( rule__FunctionReferencesRule__FunctionsAssignment_2_1 ) ) ) + // InternalGeneratorDSL.g:2821:1: ( ( rule__FunctionReferencesRule__FunctionsAssignment_2_1 ) ) + { + // InternalGeneratorDSL.g:2821:1: ( ( rule__FunctionReferencesRule__FunctionsAssignment_2_1 ) ) + // InternalGeneratorDSL.g:2822:2: ( rule__FunctionReferencesRule__FunctionsAssignment_2_1 ) + { + before(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsAssignment_2_1()); + // InternalGeneratorDSL.g:2823:2: ( rule__FunctionReferencesRule__FunctionsAssignment_2_1 ) + // InternalGeneratorDSL.g:2823:3: rule__FunctionReferencesRule__FunctionsAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__FunctionReferencesRule__FunctionsAssignment_2_1(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsAssignment_2_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__Group_2__1__Impl" + + + // $ANTLR start "rule__GeneratorsRule__Group__0" + // InternalGeneratorDSL.g:2832:1: rule__GeneratorsRule__Group__0 : rule__GeneratorsRule__Group__0__Impl rule__GeneratorsRule__Group__1 ; + public final void rule__GeneratorsRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2836:1: ( rule__GeneratorsRule__Group__0__Impl rule__GeneratorsRule__Group__1 ) + // InternalGeneratorDSL.g:2837:2: rule__GeneratorsRule__Group__0__Impl rule__GeneratorsRule__Group__1 + { + pushFollow(FOLLOW_25); + rule__GeneratorsRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__GeneratorsRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorsRule__Group__0" + + + // $ANTLR start "rule__GeneratorsRule__Group__0__Impl" + // InternalGeneratorDSL.g:2844:1: rule__GeneratorsRule__Group__0__Impl : ( () ) ; + public final void rule__GeneratorsRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2848:1: ( ( () ) ) + // InternalGeneratorDSL.g:2849:1: ( () ) + { + // InternalGeneratorDSL.g:2849:1: ( () ) + // InternalGeneratorDSL.g:2850:2: () + { + before(grammarAccess.getGeneratorsRuleAccess().getGeneratorsAction_0()); + // InternalGeneratorDSL.g:2851:2: () + // InternalGeneratorDSL.g:2851:3: + { + } + + after(grammarAccess.getGeneratorsRuleAccess().getGeneratorsAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorsRule__Group__0__Impl" + + + // $ANTLR start "rule__GeneratorsRule__Group__1" + // InternalGeneratorDSL.g:2859:1: rule__GeneratorsRule__Group__1 : rule__GeneratorsRule__Group__1__Impl rule__GeneratorsRule__Group__2 ; + public final void rule__GeneratorsRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2863:1: ( rule__GeneratorsRule__Group__1__Impl rule__GeneratorsRule__Group__2 ) + // InternalGeneratorDSL.g:2864:2: rule__GeneratorsRule__Group__1__Impl rule__GeneratorsRule__Group__2 + { + pushFollow(FOLLOW_21); + rule__GeneratorsRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__GeneratorsRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorsRule__Group__1" + + + // $ANTLR start "rule__GeneratorsRule__Group__1__Impl" + // InternalGeneratorDSL.g:2871:1: rule__GeneratorsRule__Group__1__Impl : ( 'generators' ) ; + public final void rule__GeneratorsRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2875:1: ( ( 'generators' ) ) + // InternalGeneratorDSL.g:2876:1: ( 'generators' ) + { + // InternalGeneratorDSL.g:2876:1: ( 'generators' ) + // InternalGeneratorDSL.g:2877:2: 'generators' + { + before(grammarAccess.getGeneratorsRuleAccess().getGeneratorsKeyword_1()); + match(input,38,FOLLOW_2); + after(grammarAccess.getGeneratorsRuleAccess().getGeneratorsKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorsRule__Group__1__Impl" + + + // $ANTLR start "rule__GeneratorsRule__Group__2" + // InternalGeneratorDSL.g:2886:1: rule__GeneratorsRule__Group__2 : rule__GeneratorsRule__Group__2__Impl ; + public final void rule__GeneratorsRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2890:1: ( rule__GeneratorsRule__Group__2__Impl ) + // InternalGeneratorDSL.g:2891:2: rule__GeneratorsRule__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__GeneratorsRule__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorsRule__Group__2" + + + // $ANTLR start "rule__GeneratorsRule__Group__2__Impl" + // InternalGeneratorDSL.g:2897:1: rule__GeneratorsRule__Group__2__Impl : ( ( rule__GeneratorsRule__GeneratorReferencesAssignment_2 )? ) ; + public final void rule__GeneratorsRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2901:1: ( ( ( rule__GeneratorsRule__GeneratorReferencesAssignment_2 )? ) ) + // InternalGeneratorDSL.g:2902:1: ( ( rule__GeneratorsRule__GeneratorReferencesAssignment_2 )? ) + { + // InternalGeneratorDSL.g:2902:1: ( ( rule__GeneratorsRule__GeneratorReferencesAssignment_2 )? ) + // InternalGeneratorDSL.g:2903:2: ( rule__GeneratorsRule__GeneratorReferencesAssignment_2 )? + { + before(grammarAccess.getGeneratorsRuleAccess().getGeneratorReferencesAssignment_2()); + // InternalGeneratorDSL.g:2904:2: ( rule__GeneratorsRule__GeneratorReferencesAssignment_2 )? + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==33) ) { + alt23=1; + } + switch (alt23) { + case 1 : + // InternalGeneratorDSL.g:2904:3: rule__GeneratorsRule__GeneratorReferencesAssignment_2 + { + pushFollow(FOLLOW_2); + rule__GeneratorsRule__GeneratorReferencesAssignment_2(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getGeneratorsRuleAccess().getGeneratorReferencesAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorsRule__Group__2__Impl" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group__0" + // InternalGeneratorDSL.g:2913:1: rule__GeneratorReferencesRule__Group__0 : rule__GeneratorReferencesRule__Group__0__Impl rule__GeneratorReferencesRule__Group__1 ; + public final void rule__GeneratorReferencesRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2917:1: ( rule__GeneratorReferencesRule__Group__0__Impl rule__GeneratorReferencesRule__Group__1 ) + // InternalGeneratorDSL.g:2918:2: rule__GeneratorReferencesRule__Group__0__Impl rule__GeneratorReferencesRule__Group__1 + { + pushFollow(FOLLOW_10); + rule__GeneratorReferencesRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__GeneratorReferencesRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group__0" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group__0__Impl" + // InternalGeneratorDSL.g:2925:1: rule__GeneratorReferencesRule__Group__0__Impl : ( '[' ) ; + public final void rule__GeneratorReferencesRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2929:1: ( ( '[' ) ) + // InternalGeneratorDSL.g:2930:1: ( '[' ) + { + // InternalGeneratorDSL.g:2930:1: ( '[' ) + // InternalGeneratorDSL.g:2931:2: '[' + { + before(grammarAccess.getGeneratorReferencesRuleAccess().getLeftSquareBracketKeyword_0()); + match(input,33,FOLLOW_2); + after(grammarAccess.getGeneratorReferencesRuleAccess().getLeftSquareBracketKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group__0__Impl" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group__1" + // InternalGeneratorDSL.g:2940:1: rule__GeneratorReferencesRule__Group__1 : rule__GeneratorReferencesRule__Group__1__Impl rule__GeneratorReferencesRule__Group__2 ; + public final void rule__GeneratorReferencesRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2944:1: ( rule__GeneratorReferencesRule__Group__1__Impl rule__GeneratorReferencesRule__Group__2 ) + // InternalGeneratorDSL.g:2945:2: rule__GeneratorReferencesRule__Group__1__Impl rule__GeneratorReferencesRule__Group__2 + { + pushFollow(FOLLOW_23); + rule__GeneratorReferencesRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__GeneratorReferencesRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group__1" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group__1__Impl" + // InternalGeneratorDSL.g:2952:1: rule__GeneratorReferencesRule__Group__1__Impl : ( ( rule__GeneratorReferencesRule__GeneratorsAssignment_1 ) ) ; + public final void rule__GeneratorReferencesRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2956:1: ( ( ( rule__GeneratorReferencesRule__GeneratorsAssignment_1 ) ) ) + // InternalGeneratorDSL.g:2957:1: ( ( rule__GeneratorReferencesRule__GeneratorsAssignment_1 ) ) + { + // InternalGeneratorDSL.g:2957:1: ( ( rule__GeneratorReferencesRule__GeneratorsAssignment_1 ) ) + // InternalGeneratorDSL.g:2958:2: ( rule__GeneratorReferencesRule__GeneratorsAssignment_1 ) + { + before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsAssignment_1()); + // InternalGeneratorDSL.g:2959:2: ( rule__GeneratorReferencesRule__GeneratorsAssignment_1 ) + // InternalGeneratorDSL.g:2959:3: rule__GeneratorReferencesRule__GeneratorsAssignment_1 + { + pushFollow(FOLLOW_2); + rule__GeneratorReferencesRule__GeneratorsAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group__1__Impl" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group__2" + // InternalGeneratorDSL.g:2967:1: rule__GeneratorReferencesRule__Group__2 : rule__GeneratorReferencesRule__Group__2__Impl rule__GeneratorReferencesRule__Group__3 ; + public final void rule__GeneratorReferencesRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2971:1: ( rule__GeneratorReferencesRule__Group__2__Impl rule__GeneratorReferencesRule__Group__3 ) + // InternalGeneratorDSL.g:2972:2: rule__GeneratorReferencesRule__Group__2__Impl rule__GeneratorReferencesRule__Group__3 + { + pushFollow(FOLLOW_23); + rule__GeneratorReferencesRule__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__GeneratorReferencesRule__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group__2" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group__2__Impl" + // InternalGeneratorDSL.g:2979:1: rule__GeneratorReferencesRule__Group__2__Impl : ( ( rule__GeneratorReferencesRule__Group_2__0 )* ) ; + public final void rule__GeneratorReferencesRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2983:1: ( ( ( rule__GeneratorReferencesRule__Group_2__0 )* ) ) + // InternalGeneratorDSL.g:2984:1: ( ( rule__GeneratorReferencesRule__Group_2__0 )* ) + { + // InternalGeneratorDSL.g:2984:1: ( ( rule__GeneratorReferencesRule__Group_2__0 )* ) + // InternalGeneratorDSL.g:2985:2: ( rule__GeneratorReferencesRule__Group_2__0 )* + { + before(grammarAccess.getGeneratorReferencesRuleAccess().getGroup_2()); + // InternalGeneratorDSL.g:2986:2: ( rule__GeneratorReferencesRule__Group_2__0 )* + loop24: + do { + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==37) ) { + alt24=1; + } + + + switch (alt24) { + case 1 : + // InternalGeneratorDSL.g:2986:3: rule__GeneratorReferencesRule__Group_2__0 + { + pushFollow(FOLLOW_24); + rule__GeneratorReferencesRule__Group_2__0(); + + state._fsp--; + + + } + break; + + default : + break loop24; + } + } while (true); + + after(grammarAccess.getGeneratorReferencesRuleAccess().getGroup_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group__2__Impl" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group__3" + // InternalGeneratorDSL.g:2994:1: rule__GeneratorReferencesRule__Group__3 : rule__GeneratorReferencesRule__Group__3__Impl ; + public final void rule__GeneratorReferencesRule__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:2998:1: ( rule__GeneratorReferencesRule__Group__3__Impl ) + // InternalGeneratorDSL.g:2999:2: rule__GeneratorReferencesRule__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__GeneratorReferencesRule__Group__3__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group__3" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group__3__Impl" + // InternalGeneratorDSL.g:3005:1: rule__GeneratorReferencesRule__Group__3__Impl : ( ']' ) ; + public final void rule__GeneratorReferencesRule__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3009:1: ( ( ']' ) ) + // InternalGeneratorDSL.g:3010:1: ( ']' ) + { + // InternalGeneratorDSL.g:3010:1: ( ']' ) + // InternalGeneratorDSL.g:3011:2: ']' + { + before(grammarAccess.getGeneratorReferencesRuleAccess().getRightSquareBracketKeyword_3()); + match(input,35,FOLLOW_2); + after(grammarAccess.getGeneratorReferencesRuleAccess().getRightSquareBracketKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group__3__Impl" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group_2__0" + // InternalGeneratorDSL.g:3021:1: rule__GeneratorReferencesRule__Group_2__0 : rule__GeneratorReferencesRule__Group_2__0__Impl rule__GeneratorReferencesRule__Group_2__1 ; + public final void rule__GeneratorReferencesRule__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3025:1: ( rule__GeneratorReferencesRule__Group_2__0__Impl rule__GeneratorReferencesRule__Group_2__1 ) + // InternalGeneratorDSL.g:3026:2: rule__GeneratorReferencesRule__Group_2__0__Impl rule__GeneratorReferencesRule__Group_2__1 + { + pushFollow(FOLLOW_10); + rule__GeneratorReferencesRule__Group_2__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__GeneratorReferencesRule__Group_2__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group_2__0" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group_2__0__Impl" + // InternalGeneratorDSL.g:3033:1: rule__GeneratorReferencesRule__Group_2__0__Impl : ( ',' ) ; + public final void rule__GeneratorReferencesRule__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3037:1: ( ( ',' ) ) + // InternalGeneratorDSL.g:3038:1: ( ',' ) + { + // InternalGeneratorDSL.g:3038:1: ( ',' ) + // InternalGeneratorDSL.g:3039:2: ',' + { + before(grammarAccess.getGeneratorReferencesRuleAccess().getCommaKeyword_2_0()); + match(input,37,FOLLOW_2); + after(grammarAccess.getGeneratorReferencesRuleAccess().getCommaKeyword_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group_2__0__Impl" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group_2__1" + // InternalGeneratorDSL.g:3048:1: rule__GeneratorReferencesRule__Group_2__1 : rule__GeneratorReferencesRule__Group_2__1__Impl ; + public final void rule__GeneratorReferencesRule__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3052:1: ( rule__GeneratorReferencesRule__Group_2__1__Impl ) + // InternalGeneratorDSL.g:3053:2: rule__GeneratorReferencesRule__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__GeneratorReferencesRule__Group_2__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group_2__1" + + + // $ANTLR start "rule__GeneratorReferencesRule__Group_2__1__Impl" + // InternalGeneratorDSL.g:3059:1: rule__GeneratorReferencesRule__Group_2__1__Impl : ( ( rule__GeneratorReferencesRule__GeneratorsAssignment_2_1 ) ) ; + public final void rule__GeneratorReferencesRule__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3063:1: ( ( ( rule__GeneratorReferencesRule__GeneratorsAssignment_2_1 ) ) ) + // InternalGeneratorDSL.g:3064:1: ( ( rule__GeneratorReferencesRule__GeneratorsAssignment_2_1 ) ) + { + // InternalGeneratorDSL.g:3064:1: ( ( rule__GeneratorReferencesRule__GeneratorsAssignment_2_1 ) ) + // InternalGeneratorDSL.g:3065:2: ( rule__GeneratorReferencesRule__GeneratorsAssignment_2_1 ) + { + before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsAssignment_2_1()); + // InternalGeneratorDSL.g:3066:2: ( rule__GeneratorReferencesRule__GeneratorsAssignment_2_1 ) + // InternalGeneratorDSL.g:3066:3: rule__GeneratorReferencesRule__GeneratorsAssignment_2_1 + { + pushFollow(FOLLOW_2); + rule__GeneratorReferencesRule__GeneratorsAssignment_2_1(); + + state._fsp--; + + + } + + after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsAssignment_2_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__Group_2__1__Impl" + + + // $ANTLR start "rule__ApplyStatementRule__Group__0" + // InternalGeneratorDSL.g:3075:1: rule__ApplyStatementRule__Group__0 : rule__ApplyStatementRule__Group__0__Impl rule__ApplyStatementRule__Group__1 ; + public final void rule__ApplyStatementRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3079:1: ( rule__ApplyStatementRule__Group__0__Impl rule__ApplyStatementRule__Group__1 ) + // InternalGeneratorDSL.g:3080:2: rule__ApplyStatementRule__Group__0__Impl rule__ApplyStatementRule__Group__1 + { + pushFollow(FOLLOW_8); + rule__ApplyStatementRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__0" + + + // $ANTLR start "rule__ApplyStatementRule__Group__0__Impl" + // InternalGeneratorDSL.g:3087:1: rule__ApplyStatementRule__Group__0__Impl : ( 'write' ) ; + public final void rule__ApplyStatementRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3091:1: ( ( 'write' ) ) + // InternalGeneratorDSL.g:3092:1: ( 'write' ) + { + // InternalGeneratorDSL.g:3092:1: ( 'write' ) + // InternalGeneratorDSL.g:3093:2: 'write' + { + before(grammarAccess.getApplyStatementRuleAccess().getWriteKeyword_0()); + match(input,39,FOLLOW_2); + after(grammarAccess.getApplyStatementRuleAccess().getWriteKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__0__Impl" + + + // $ANTLR start "rule__ApplyStatementRule__Group__1" + // InternalGeneratorDSL.g:3102:1: rule__ApplyStatementRule__Group__1 : rule__ApplyStatementRule__Group__1__Impl rule__ApplyStatementRule__Group__2 ; + public final void rule__ApplyStatementRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3106:1: ( rule__ApplyStatementRule__Group__1__Impl rule__ApplyStatementRule__Group__2 ) + // InternalGeneratorDSL.g:3107:2: rule__ApplyStatementRule__Group__1__Impl rule__ApplyStatementRule__Group__2 + { + pushFollow(FOLLOW_26); + rule__ApplyStatementRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__1" + + + // $ANTLR start "rule__ApplyStatementRule__Group__1__Impl" + // InternalGeneratorDSL.g:3114:1: rule__ApplyStatementRule__Group__1__Impl : ( ( rule__ApplyStatementRule__FileAssignment_1 ) ) ; + public final void rule__ApplyStatementRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3118:1: ( ( ( rule__ApplyStatementRule__FileAssignment_1 ) ) ) + // InternalGeneratorDSL.g:3119:1: ( ( rule__ApplyStatementRule__FileAssignment_1 ) ) + { + // InternalGeneratorDSL.g:3119:1: ( ( rule__ApplyStatementRule__FileAssignment_1 ) ) + // InternalGeneratorDSL.g:3120:2: ( rule__ApplyStatementRule__FileAssignment_1 ) + { + before(grammarAccess.getApplyStatementRuleAccess().getFileAssignment_1()); + // InternalGeneratorDSL.g:3121:2: ( rule__ApplyStatementRule__FileAssignment_1 ) + // InternalGeneratorDSL.g:3121:3: rule__ApplyStatementRule__FileAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__FileAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getApplyStatementRuleAccess().getFileAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__1__Impl" + + + // $ANTLR start "rule__ApplyStatementRule__Group__2" + // InternalGeneratorDSL.g:3129:1: rule__ApplyStatementRule__Group__2 : rule__ApplyStatementRule__Group__2__Impl rule__ApplyStatementRule__Group__3 ; + public final void rule__ApplyStatementRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3133:1: ( rule__ApplyStatementRule__Group__2__Impl rule__ApplyStatementRule__Group__3 ) + // InternalGeneratorDSL.g:3134:2: rule__ApplyStatementRule__Group__2__Impl rule__ApplyStatementRule__Group__3 + { + pushFollow(FOLLOW_17); + rule__ApplyStatementRule__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__2" + + + // $ANTLR start "rule__ApplyStatementRule__Group__2__Impl" + // InternalGeneratorDSL.g:3141:1: rule__ApplyStatementRule__Group__2__Impl : ( 'with' ) ; + public final void rule__ApplyStatementRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3145:1: ( ( 'with' ) ) + // InternalGeneratorDSL.g:3146:1: ( 'with' ) + { + // InternalGeneratorDSL.g:3146:1: ( 'with' ) + // InternalGeneratorDSL.g:3147:2: 'with' + { + before(grammarAccess.getApplyStatementRuleAccess().getWithKeyword_2()); + match(input,40,FOLLOW_2); + after(grammarAccess.getApplyStatementRuleAccess().getWithKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__2__Impl" + + + // $ANTLR start "rule__ApplyStatementRule__Group__3" + // InternalGeneratorDSL.g:3156:1: rule__ApplyStatementRule__Group__3 : rule__ApplyStatementRule__Group__3__Impl rule__ApplyStatementRule__Group__4 ; + public final void rule__ApplyStatementRule__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3160:1: ( rule__ApplyStatementRule__Group__3__Impl rule__ApplyStatementRule__Group__4 ) + // InternalGeneratorDSL.g:3161:2: rule__ApplyStatementRule__Group__3__Impl rule__ApplyStatementRule__Group__4 + { + pushFollow(FOLLOW_27); + rule__ApplyStatementRule__Group__3__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__4(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__3" + + + // $ANTLR start "rule__ApplyStatementRule__Group__3__Impl" + // InternalGeneratorDSL.g:3168:1: rule__ApplyStatementRule__Group__3__Impl : ( ( rule__ApplyStatementRule__CountAssignment_3 ) ) ; + public final void rule__ApplyStatementRule__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3172:1: ( ( ( rule__ApplyStatementRule__CountAssignment_3 ) ) ) + // InternalGeneratorDSL.g:3173:1: ( ( rule__ApplyStatementRule__CountAssignment_3 ) ) + { + // InternalGeneratorDSL.g:3173:1: ( ( rule__ApplyStatementRule__CountAssignment_3 ) ) + // InternalGeneratorDSL.g:3174:2: ( rule__ApplyStatementRule__CountAssignment_3 ) + { + before(grammarAccess.getApplyStatementRuleAccess().getCountAssignment_3()); + // InternalGeneratorDSL.g:3175:2: ( rule__ApplyStatementRule__CountAssignment_3 ) + // InternalGeneratorDSL.g:3175:3: rule__ApplyStatementRule__CountAssignment_3 + { + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__CountAssignment_3(); + + state._fsp--; + + + } + + after(grammarAccess.getApplyStatementRuleAccess().getCountAssignment_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__3__Impl" + + + // $ANTLR start "rule__ApplyStatementRule__Group__4" + // InternalGeneratorDSL.g:3183:1: rule__ApplyStatementRule__Group__4 : rule__ApplyStatementRule__Group__4__Impl rule__ApplyStatementRule__Group__5 ; + public final void rule__ApplyStatementRule__Group__4() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3187:1: ( rule__ApplyStatementRule__Group__4__Impl rule__ApplyStatementRule__Group__5 ) + // InternalGeneratorDSL.g:3188:2: rule__ApplyStatementRule__Group__4__Impl rule__ApplyStatementRule__Group__5 + { + pushFollow(FOLLOW_28); + rule__ApplyStatementRule__Group__4__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__5(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__4" + + + // $ANTLR start "rule__ApplyStatementRule__Group__4__Impl" + // InternalGeneratorDSL.g:3195:1: rule__ApplyStatementRule__Group__4__Impl : ( 'samples' ) ; + public final void rule__ApplyStatementRule__Group__4__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3199:1: ( ( 'samples' ) ) + // InternalGeneratorDSL.g:3200:1: ( 'samples' ) + { + // InternalGeneratorDSL.g:3200:1: ( 'samples' ) + // InternalGeneratorDSL.g:3201:2: 'samples' + { + before(grammarAccess.getApplyStatementRuleAccess().getSamplesKeyword_4()); + match(input,41,FOLLOW_2); + after(grammarAccess.getApplyStatementRuleAccess().getSamplesKeyword_4()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__4__Impl" + + + // $ANTLR start "rule__ApplyStatementRule__Group__5" + // InternalGeneratorDSL.g:3210:1: rule__ApplyStatementRule__Group__5 : rule__ApplyStatementRule__Group__5__Impl rule__ApplyStatementRule__Group__6 ; + public final void rule__ApplyStatementRule__Group__5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3214:1: ( rule__ApplyStatementRule__Group__5__Impl rule__ApplyStatementRule__Group__6 ) + // InternalGeneratorDSL.g:3215:2: rule__ApplyStatementRule__Group__5__Impl rule__ApplyStatementRule__Group__6 + { + pushFollow(FOLLOW_29); + rule__ApplyStatementRule__Group__5__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__6(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__5" + + + // $ANTLR start "rule__ApplyStatementRule__Group__5__Impl" + // InternalGeneratorDSL.g:3222:1: rule__ApplyStatementRule__Group__5__Impl : ( 'from' ) ; + public final void rule__ApplyStatementRule__Group__5__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3226:1: ( ( 'from' ) ) + // InternalGeneratorDSL.g:3227:1: ( 'from' ) + { + // InternalGeneratorDSL.g:3227:1: ( 'from' ) + // InternalGeneratorDSL.g:3228:2: 'from' + { + before(grammarAccess.getApplyStatementRuleAccess().getFromKeyword_5()); + match(input,42,FOLLOW_2); + after(grammarAccess.getApplyStatementRuleAccess().getFromKeyword_5()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__5__Impl" + + + // $ANTLR start "rule__ApplyStatementRule__Group__6" + // InternalGeneratorDSL.g:3237:1: rule__ApplyStatementRule__Group__6 : rule__ApplyStatementRule__Group__6__Impl rule__ApplyStatementRule__Group__7 ; + public final void rule__ApplyStatementRule__Group__6() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3241:1: ( rule__ApplyStatementRule__Group__6__Impl rule__ApplyStatementRule__Group__7 ) + // InternalGeneratorDSL.g:3242:2: rule__ApplyStatementRule__Group__6__Impl rule__ApplyStatementRule__Group__7 + { + pushFollow(FOLLOW_30); + rule__ApplyStatementRule__Group__6__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__7(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__6" + + + // $ANTLR start "rule__ApplyStatementRule__Group__6__Impl" + // InternalGeneratorDSL.g:3249:1: rule__ApplyStatementRule__Group__6__Impl : ( 'applying' ) ; + public final void rule__ApplyStatementRule__Group__6__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3253:1: ( ( 'applying' ) ) + // InternalGeneratorDSL.g:3254:1: ( 'applying' ) + { + // InternalGeneratorDSL.g:3254:1: ( 'applying' ) + // InternalGeneratorDSL.g:3255:2: 'applying' + { + before(grammarAccess.getApplyStatementRuleAccess().getApplyingKeyword_6()); + match(input,43,FOLLOW_2); + after(grammarAccess.getApplyStatementRuleAccess().getApplyingKeyword_6()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__6__Impl" + + + // $ANTLR start "rule__ApplyStatementRule__Group__7" + // InternalGeneratorDSL.g:3264:1: rule__ApplyStatementRule__Group__7 : rule__ApplyStatementRule__Group__7__Impl rule__ApplyStatementRule__Group__8 ; + public final void rule__ApplyStatementRule__Group__7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3268:1: ( rule__ApplyStatementRule__Group__7__Impl rule__ApplyStatementRule__Group__8 ) + // InternalGeneratorDSL.g:3269:2: rule__ApplyStatementRule__Group__7__Impl rule__ApplyStatementRule__Group__8 + { + pushFollow(FOLLOW_31); + rule__ApplyStatementRule__Group__7__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__8(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__7" + + + // $ANTLR start "rule__ApplyStatementRule__Group__7__Impl" + // InternalGeneratorDSL.g:3276:1: rule__ApplyStatementRule__Group__7__Impl : ( ( rule__ApplyStatementRule__FunctionAssignment_7 ) ) ; + public final void rule__ApplyStatementRule__Group__7__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3280:1: ( ( ( rule__ApplyStatementRule__FunctionAssignment_7 ) ) ) + // InternalGeneratorDSL.g:3281:1: ( ( rule__ApplyStatementRule__FunctionAssignment_7 ) ) + { + // InternalGeneratorDSL.g:3281:1: ( ( rule__ApplyStatementRule__FunctionAssignment_7 ) ) + // InternalGeneratorDSL.g:3282:2: ( rule__ApplyStatementRule__FunctionAssignment_7 ) + { + before(grammarAccess.getApplyStatementRuleAccess().getFunctionAssignment_7()); + // InternalGeneratorDSL.g:3283:2: ( rule__ApplyStatementRule__FunctionAssignment_7 ) + // InternalGeneratorDSL.g:3283:3: rule__ApplyStatementRule__FunctionAssignment_7 + { + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__FunctionAssignment_7(); + + state._fsp--; + + + } + + after(grammarAccess.getApplyStatementRuleAccess().getFunctionAssignment_7()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__7__Impl" + + + // $ANTLR start "rule__ApplyStatementRule__Group__8" + // InternalGeneratorDSL.g:3291:1: rule__ApplyStatementRule__Group__8 : rule__ApplyStatementRule__Group__8__Impl rule__ApplyStatementRule__Group__9 ; + public final void rule__ApplyStatementRule__Group__8() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3295:1: ( rule__ApplyStatementRule__Group__8__Impl rule__ApplyStatementRule__Group__9 ) + // InternalGeneratorDSL.g:3296:2: rule__ApplyStatementRule__Group__8__Impl rule__ApplyStatementRule__Group__9 + { + pushFollow(FOLLOW_32); + rule__ApplyStatementRule__Group__8__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__9(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__8" + + + // $ANTLR start "rule__ApplyStatementRule__Group__8__Impl" + // InternalGeneratorDSL.g:3303:1: rule__ApplyStatementRule__Group__8__Impl : ( 'on' ) ; + public final void rule__ApplyStatementRule__Group__8__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3307:1: ( ( 'on' ) ) + // InternalGeneratorDSL.g:3308:1: ( 'on' ) + { + // InternalGeneratorDSL.g:3308:1: ( 'on' ) + // InternalGeneratorDSL.g:3309:2: 'on' + { + before(grammarAccess.getApplyStatementRuleAccess().getOnKeyword_8()); + match(input,44,FOLLOW_2); + after(grammarAccess.getApplyStatementRuleAccess().getOnKeyword_8()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__8__Impl" + + + // $ANTLR start "rule__ApplyStatementRule__Group__9" + // InternalGeneratorDSL.g:3318:1: rule__ApplyStatementRule__Group__9 : rule__ApplyStatementRule__Group__9__Impl rule__ApplyStatementRule__Group__10 ; + public final void rule__ApplyStatementRule__Group__9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3322:1: ( rule__ApplyStatementRule__Group__9__Impl rule__ApplyStatementRule__Group__10 ) + // InternalGeneratorDSL.g:3323:2: rule__ApplyStatementRule__Group__9__Impl rule__ApplyStatementRule__Group__10 + { + pushFollow(FOLLOW_9); + rule__ApplyStatementRule__Group__9__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__10(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__9" + + + // $ANTLR start "rule__ApplyStatementRule__Group__9__Impl" + // InternalGeneratorDSL.g:3330:1: rule__ApplyStatementRule__Group__9__Impl : ( ( rule__ApplyStatementRule__GeneratorAssignment_9 ) ) ; + public final void rule__ApplyStatementRule__Group__9__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3334:1: ( ( ( rule__ApplyStatementRule__GeneratorAssignment_9 ) ) ) + // InternalGeneratorDSL.g:3335:1: ( ( rule__ApplyStatementRule__GeneratorAssignment_9 ) ) + { + // InternalGeneratorDSL.g:3335:1: ( ( rule__ApplyStatementRule__GeneratorAssignment_9 ) ) + // InternalGeneratorDSL.g:3336:2: ( rule__ApplyStatementRule__GeneratorAssignment_9 ) + { + before(grammarAccess.getApplyStatementRuleAccess().getGeneratorAssignment_9()); + // InternalGeneratorDSL.g:3337:2: ( rule__ApplyStatementRule__GeneratorAssignment_9 ) + // InternalGeneratorDSL.g:3337:3: rule__ApplyStatementRule__GeneratorAssignment_9 + { + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__GeneratorAssignment_9(); + + state._fsp--; + + + } + + after(grammarAccess.getApplyStatementRuleAccess().getGeneratorAssignment_9()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__9__Impl" + + + // $ANTLR start "rule__ApplyStatementRule__Group__10" + // InternalGeneratorDSL.g:3345:1: rule__ApplyStatementRule__Group__10 : rule__ApplyStatementRule__Group__10__Impl ; + public final void rule__ApplyStatementRule__Group__10() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3349:1: ( rule__ApplyStatementRule__Group__10__Impl ) + // InternalGeneratorDSL.g:3350:2: rule__ApplyStatementRule__Group__10__Impl + { + pushFollow(FOLLOW_2); + rule__ApplyStatementRule__Group__10__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__10" + + + // $ANTLR start "rule__ApplyStatementRule__Group__10__Impl" + // InternalGeneratorDSL.g:3356:1: rule__ApplyStatementRule__Group__10__Impl : ( ';' ) ; + public final void rule__ApplyStatementRule__Group__10__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3360:1: ( ( ';' ) ) + // InternalGeneratorDSL.g:3361:1: ( ';' ) + { + // InternalGeneratorDSL.g:3361:1: ( ';' ) + // InternalGeneratorDSL.g:3362:2: ';' + { + before(grammarAccess.getApplyStatementRuleAccess().getSemicolonKeyword_10()); + match(input,25,FOLLOW_2); + after(grammarAccess.getApplyStatementRuleAccess().getSemicolonKeyword_10()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__Group__10__Impl" + + + // $ANTLR start "rule__GeneratorDefinitionReferenceRule__Group__0" + // InternalGeneratorDSL.g:3372:1: rule__GeneratorDefinitionReferenceRule__Group__0 : rule__GeneratorDefinitionReferenceRule__Group__0__Impl rule__GeneratorDefinitionReferenceRule__Group__1 ; + public final void rule__GeneratorDefinitionReferenceRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3376:1: ( rule__GeneratorDefinitionReferenceRule__Group__0__Impl rule__GeneratorDefinitionReferenceRule__Group__1 ) + // InternalGeneratorDSL.g:3377:2: rule__GeneratorDefinitionReferenceRule__Group__0__Impl rule__GeneratorDefinitionReferenceRule__Group__1 + { + pushFollow(FOLLOW_10); + rule__GeneratorDefinitionReferenceRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionReferenceRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionReferenceRule__Group__0" + + + // $ANTLR start "rule__GeneratorDefinitionReferenceRule__Group__0__Impl" + // InternalGeneratorDSL.g:3384:1: rule__GeneratorDefinitionReferenceRule__Group__0__Impl : ( 'generator' ) ; + public final void rule__GeneratorDefinitionReferenceRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3388:1: ( ( 'generator' ) ) + // InternalGeneratorDSL.g:3389:1: ( 'generator' ) + { + // InternalGeneratorDSL.g:3389:1: ( 'generator' ) + // InternalGeneratorDSL.g:3390:2: 'generator' + { + before(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getGeneratorKeyword_0()); + match(input,28,FOLLOW_2); + after(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getGeneratorKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionReferenceRule__Group__0__Impl" + + + // $ANTLR start "rule__GeneratorDefinitionReferenceRule__Group__1" + // InternalGeneratorDSL.g:3399:1: rule__GeneratorDefinitionReferenceRule__Group__1 : rule__GeneratorDefinitionReferenceRule__Group__1__Impl ; + public final void rule__GeneratorDefinitionReferenceRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3403:1: ( rule__GeneratorDefinitionReferenceRule__Group__1__Impl ) + // InternalGeneratorDSL.g:3404:2: rule__GeneratorDefinitionReferenceRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionReferenceRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionReferenceRule__Group__1" + + + // $ANTLR start "rule__GeneratorDefinitionReferenceRule__Group__1__Impl" + // InternalGeneratorDSL.g:3410:1: rule__GeneratorDefinitionReferenceRule__Group__1__Impl : ( ( rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1 ) ) ; + public final void rule__GeneratorDefinitionReferenceRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3414:1: ( ( ( rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1 ) ) ) + // InternalGeneratorDSL.g:3415:1: ( ( rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1 ) ) + { + // InternalGeneratorDSL.g:3415:1: ( ( rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1 ) ) + // InternalGeneratorDSL.g:3416:2: ( rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1 ) + { + before(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionAssignment_1()); + // InternalGeneratorDSL.g:3417:2: ( rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1 ) + // InternalGeneratorDSL.g:3417:3: rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionReferenceRule__Group__1__Impl" + + + // $ANTLR start "rule__LoopVariableReference__Group__0" + // InternalGeneratorDSL.g:3426:1: rule__LoopVariableReference__Group__0 : rule__LoopVariableReference__Group__0__Impl rule__LoopVariableReference__Group__1 ; + public final void rule__LoopVariableReference__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3430:1: ( rule__LoopVariableReference__Group__0__Impl rule__LoopVariableReference__Group__1 ) + // InternalGeneratorDSL.g:3431:2: rule__LoopVariableReference__Group__0__Impl rule__LoopVariableReference__Group__1 + { + pushFollow(FOLLOW_30); + rule__LoopVariableReference__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__LoopVariableReference__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LoopVariableReference__Group__0" + + + // $ANTLR start "rule__LoopVariableReference__Group__0__Impl" + // InternalGeneratorDSL.g:3438:1: rule__LoopVariableReference__Group__0__Impl : ( () ) ; + public final void rule__LoopVariableReference__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3442:1: ( ( () ) ) + // InternalGeneratorDSL.g:3443:1: ( () ) + { + // InternalGeneratorDSL.g:3443:1: ( () ) + // InternalGeneratorDSL.g:3444:2: () + { + before(grammarAccess.getLoopVariableReferenceAccess().getLoopVariableAction_0()); + // InternalGeneratorDSL.g:3445:2: () + // InternalGeneratorDSL.g:3445:3: + { + } + + after(grammarAccess.getLoopVariableReferenceAccess().getLoopVariableAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LoopVariableReference__Group__0__Impl" + + + // $ANTLR start "rule__LoopVariableReference__Group__1" + // InternalGeneratorDSL.g:3453:1: rule__LoopVariableReference__Group__1 : rule__LoopVariableReference__Group__1__Impl ; + public final void rule__LoopVariableReference__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3457:1: ( rule__LoopVariableReference__Group__1__Impl ) + // InternalGeneratorDSL.g:3458:2: rule__LoopVariableReference__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__LoopVariableReference__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LoopVariableReference__Group__1" + + + // $ANTLR start "rule__LoopVariableReference__Group__1__Impl" + // InternalGeneratorDSL.g:3464:1: rule__LoopVariableReference__Group__1__Impl : ( ( rule__LoopVariableReference__DefinitionAssignment_1 ) ) ; + public final void rule__LoopVariableReference__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3468:1: ( ( ( rule__LoopVariableReference__DefinitionAssignment_1 ) ) ) + // InternalGeneratorDSL.g:3469:1: ( ( rule__LoopVariableReference__DefinitionAssignment_1 ) ) + { + // InternalGeneratorDSL.g:3469:1: ( ( rule__LoopVariableReference__DefinitionAssignment_1 ) ) + // InternalGeneratorDSL.g:3470:2: ( rule__LoopVariableReference__DefinitionAssignment_1 ) + { + before(grammarAccess.getLoopVariableReferenceAccess().getDefinitionAssignment_1()); + // InternalGeneratorDSL.g:3471:2: ( rule__LoopVariableReference__DefinitionAssignment_1 ) + // InternalGeneratorDSL.g:3471:3: rule__LoopVariableReference__DefinitionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__LoopVariableReference__DefinitionAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getLoopVariableReferenceAccess().getDefinitionAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LoopVariableReference__Group__1__Impl" + + + // $ANTLR start "rule__FunctionDefinitionReferenceRule__Group__0" + // InternalGeneratorDSL.g:3480:1: rule__FunctionDefinitionReferenceRule__Group__0 : rule__FunctionDefinitionReferenceRule__Group__0__Impl rule__FunctionDefinitionReferenceRule__Group__1 ; + public final void rule__FunctionDefinitionReferenceRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3484:1: ( rule__FunctionDefinitionReferenceRule__Group__0__Impl rule__FunctionDefinitionReferenceRule__Group__1 ) + // InternalGeneratorDSL.g:3485:2: rule__FunctionDefinitionReferenceRule__Group__0__Impl rule__FunctionDefinitionReferenceRule__Group__1 + { + pushFollow(FOLLOW_33); + rule__FunctionDefinitionReferenceRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__FunctionDefinitionReferenceRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDefinitionReferenceRule__Group__0" + + + // $ANTLR start "rule__FunctionDefinitionReferenceRule__Group__0__Impl" + // InternalGeneratorDSL.g:3492:1: rule__FunctionDefinitionReferenceRule__Group__0__Impl : ( () ) ; + public final void rule__FunctionDefinitionReferenceRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3496:1: ( ( () ) ) + // InternalGeneratorDSL.g:3497:1: ( () ) + { + // InternalGeneratorDSL.g:3497:1: ( () ) + // InternalGeneratorDSL.g:3498:2: () + { + before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getFunctionDefinitionReferenceAction_0()); + // InternalGeneratorDSL.g:3499:2: () + // InternalGeneratorDSL.g:3499:3: + { + } + + after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getFunctionDefinitionReferenceAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDefinitionReferenceRule__Group__0__Impl" + + + // $ANTLR start "rule__FunctionDefinitionReferenceRule__Group__1" + // InternalGeneratorDSL.g:3507:1: rule__FunctionDefinitionReferenceRule__Group__1 : rule__FunctionDefinitionReferenceRule__Group__1__Impl rule__FunctionDefinitionReferenceRule__Group__2 ; + public final void rule__FunctionDefinitionReferenceRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3511:1: ( rule__FunctionDefinitionReferenceRule__Group__1__Impl rule__FunctionDefinitionReferenceRule__Group__2 ) + // InternalGeneratorDSL.g:3512:2: rule__FunctionDefinitionReferenceRule__Group__1__Impl rule__FunctionDefinitionReferenceRule__Group__2 + { + pushFollow(FOLLOW_10); + rule__FunctionDefinitionReferenceRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__FunctionDefinitionReferenceRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDefinitionReferenceRule__Group__1" + + + // $ANTLR start "rule__FunctionDefinitionReferenceRule__Group__1__Impl" + // InternalGeneratorDSL.g:3519:1: rule__FunctionDefinitionReferenceRule__Group__1__Impl : ( 'definition' ) ; + public final void rule__FunctionDefinitionReferenceRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3523:1: ( ( 'definition' ) ) + // InternalGeneratorDSL.g:3524:1: ( 'definition' ) + { + // InternalGeneratorDSL.g:3524:1: ( 'definition' ) + // InternalGeneratorDSL.g:3525:2: 'definition' + { + before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionKeyword_1()); + match(input,45,FOLLOW_2); + after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDefinitionReferenceRule__Group__1__Impl" + + + // $ANTLR start "rule__FunctionDefinitionReferenceRule__Group__2" + // InternalGeneratorDSL.g:3534:1: rule__FunctionDefinitionReferenceRule__Group__2 : rule__FunctionDefinitionReferenceRule__Group__2__Impl ; + public final void rule__FunctionDefinitionReferenceRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3538:1: ( rule__FunctionDefinitionReferenceRule__Group__2__Impl ) + // InternalGeneratorDSL.g:3539:2: rule__FunctionDefinitionReferenceRule__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__FunctionDefinitionReferenceRule__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDefinitionReferenceRule__Group__2" + + + // $ANTLR start "rule__FunctionDefinitionReferenceRule__Group__2__Impl" + // InternalGeneratorDSL.g:3545:1: rule__FunctionDefinitionReferenceRule__Group__2__Impl : ( ( rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2 ) ) ; + public final void rule__FunctionDefinitionReferenceRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3549:1: ( ( ( rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2 ) ) ) + // InternalGeneratorDSL.g:3550:1: ( ( rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2 ) ) + { + // InternalGeneratorDSL.g:3550:1: ( ( rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2 ) ) + // InternalGeneratorDSL.g:3551:2: ( rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2 ) + { + before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionAssignment_2()); + // InternalGeneratorDSL.g:3552:2: ( rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2 ) + // InternalGeneratorDSL.g:3552:3: rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDefinitionReferenceRule__Group__2__Impl" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionReferenceRule__Group__0" + // InternalGeneratorDSL.g:3561:1: rule__ParametrizedFunctionDefinitionReferenceRule__Group__0 : rule__ParametrizedFunctionDefinitionReferenceRule__Group__0__Impl rule__ParametrizedFunctionDefinitionReferenceRule__Group__1 ; + public final void rule__ParametrizedFunctionDefinitionReferenceRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3565:1: ( rule__ParametrizedFunctionDefinitionReferenceRule__Group__0__Impl rule__ParametrizedFunctionDefinitionReferenceRule__Group__1 ) + // InternalGeneratorDSL.g:3566:2: rule__ParametrizedFunctionDefinitionReferenceRule__Group__0__Impl rule__ParametrizedFunctionDefinitionReferenceRule__Group__1 + { + pushFollow(FOLLOW_22); + rule__ParametrizedFunctionDefinitionReferenceRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionReferenceRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionReferenceRule__Group__0" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionReferenceRule__Group__0__Impl" + // InternalGeneratorDSL.g:3573:1: rule__ParametrizedFunctionDefinitionReferenceRule__Group__0__Impl : ( () ) ; + public final void rule__ParametrizedFunctionDefinitionReferenceRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3577:1: ( ( () ) ) + // InternalGeneratorDSL.g:3578:1: ( () ) + { + // InternalGeneratorDSL.g:3578:1: ( () ) + // InternalGeneratorDSL.g:3579:2: () + { + before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceAction_0()); + // InternalGeneratorDSL.g:3580:2: () + // InternalGeneratorDSL.g:3580:3: + { + } + + after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionReferenceRule__Group__0__Impl" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionReferenceRule__Group__1" + // InternalGeneratorDSL.g:3588:1: rule__ParametrizedFunctionDefinitionReferenceRule__Group__1 : rule__ParametrizedFunctionDefinitionReferenceRule__Group__1__Impl rule__ParametrizedFunctionDefinitionReferenceRule__Group__2 ; + public final void rule__ParametrizedFunctionDefinitionReferenceRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3592:1: ( rule__ParametrizedFunctionDefinitionReferenceRule__Group__1__Impl rule__ParametrizedFunctionDefinitionReferenceRule__Group__2 ) + // InternalGeneratorDSL.g:3593:2: rule__ParametrizedFunctionDefinitionReferenceRule__Group__1__Impl rule__ParametrizedFunctionDefinitionReferenceRule__Group__2 + { + pushFollow(FOLLOW_10); + rule__ParametrizedFunctionDefinitionReferenceRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionReferenceRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionReferenceRule__Group__1" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionReferenceRule__Group__1__Impl" + // InternalGeneratorDSL.g:3600:1: rule__ParametrizedFunctionDefinitionReferenceRule__Group__1__Impl : ( 'function' ) ; + public final void rule__ParametrizedFunctionDefinitionReferenceRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3604:1: ( ( 'function' ) ) + // InternalGeneratorDSL.g:3605:1: ( 'function' ) + { + // InternalGeneratorDSL.g:3605:1: ( 'function' ) + // InternalGeneratorDSL.g:3606:2: 'function' + { + before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getFunctionKeyword_1()); + match(input,26,FOLLOW_2); + after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getFunctionKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionReferenceRule__Group__1__Impl" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionReferenceRule__Group__2" + // InternalGeneratorDSL.g:3615:1: rule__ParametrizedFunctionDefinitionReferenceRule__Group__2 : rule__ParametrizedFunctionDefinitionReferenceRule__Group__2__Impl ; + public final void rule__ParametrizedFunctionDefinitionReferenceRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3619:1: ( rule__ParametrizedFunctionDefinitionReferenceRule__Group__2__Impl ) + // InternalGeneratorDSL.g:3620:2: rule__ParametrizedFunctionDefinitionReferenceRule__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionReferenceRule__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionReferenceRule__Group__2" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionReferenceRule__Group__2__Impl" + // InternalGeneratorDSL.g:3626:1: rule__ParametrizedFunctionDefinitionReferenceRule__Group__2__Impl : ( ( rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2 ) ) ; + public final void rule__ParametrizedFunctionDefinitionReferenceRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3630:1: ( ( ( rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2 ) ) ) + // InternalGeneratorDSL.g:3631:1: ( ( rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2 ) ) + { + // InternalGeneratorDSL.g:3631:1: ( ( rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2 ) ) + // InternalGeneratorDSL.g:3632:2: ( rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2 ) + { + before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionAssignment_2()); + // InternalGeneratorDSL.g:3633:2: ( rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2 ) + // InternalGeneratorDSL.g:3633:3: rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionReferenceRule__Group__2__Impl" + + + // $ANTLR start "rule__InstanceRule__Group__0" + // InternalGeneratorDSL.g:3642:1: rule__InstanceRule__Group__0 : rule__InstanceRule__Group__0__Impl rule__InstanceRule__Group__1 ; + public final void rule__InstanceRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3646:1: ( rule__InstanceRule__Group__0__Impl rule__InstanceRule__Group__1 ) + // InternalGeneratorDSL.g:3647:2: rule__InstanceRule__Group__0__Impl rule__InstanceRule__Group__1 + { + pushFollow(FOLLOW_34); + rule__InstanceRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__InstanceRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__Group__0" + + + // $ANTLR start "rule__InstanceRule__Group__0__Impl" + // InternalGeneratorDSL.g:3654:1: rule__InstanceRule__Group__0__Impl : ( ( rule__InstanceRule__NameAssignment_0 ) ) ; + public final void rule__InstanceRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3658:1: ( ( ( rule__InstanceRule__NameAssignment_0 ) ) ) + // InternalGeneratorDSL.g:3659:1: ( ( rule__InstanceRule__NameAssignment_0 ) ) + { + // InternalGeneratorDSL.g:3659:1: ( ( rule__InstanceRule__NameAssignment_0 ) ) + // InternalGeneratorDSL.g:3660:2: ( rule__InstanceRule__NameAssignment_0 ) + { + before(grammarAccess.getInstanceRuleAccess().getNameAssignment_0()); + // InternalGeneratorDSL.g:3661:2: ( rule__InstanceRule__NameAssignment_0 ) + // InternalGeneratorDSL.g:3661:3: rule__InstanceRule__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__InstanceRule__NameAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getInstanceRuleAccess().getNameAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__Group__0__Impl" + + + // $ANTLR start "rule__InstanceRule__Group__1" + // InternalGeneratorDSL.g:3669:1: rule__InstanceRule__Group__1 : rule__InstanceRule__Group__1__Impl ; + public final void rule__InstanceRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3673:1: ( rule__InstanceRule__Group__1__Impl ) + // InternalGeneratorDSL.g:3674:2: rule__InstanceRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__InstanceRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__Group__1" + + + // $ANTLR start "rule__InstanceRule__Group__1__Impl" + // InternalGeneratorDSL.g:3680:1: rule__InstanceRule__Group__1__Impl : ( ( rule__InstanceRule__Group_1__0 )? ) ; + public final void rule__InstanceRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3684:1: ( ( ( rule__InstanceRule__Group_1__0 )? ) ) + // InternalGeneratorDSL.g:3685:1: ( ( rule__InstanceRule__Group_1__0 )? ) + { + // InternalGeneratorDSL.g:3685:1: ( ( rule__InstanceRule__Group_1__0 )? ) + // InternalGeneratorDSL.g:3686:2: ( rule__InstanceRule__Group_1__0 )? + { + before(grammarAccess.getInstanceRuleAccess().getGroup_1()); + // InternalGeneratorDSL.g:3687:2: ( rule__InstanceRule__Group_1__0 )? + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==46) ) { + alt25=1; + } + switch (alt25) { + case 1 : + // InternalGeneratorDSL.g:3687:3: rule__InstanceRule__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__InstanceRule__Group_1__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getInstanceRuleAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__Group__1__Impl" + + + // $ANTLR start "rule__InstanceRule__Group_1__0" + // InternalGeneratorDSL.g:3696:1: rule__InstanceRule__Group_1__0 : rule__InstanceRule__Group_1__0__Impl rule__InstanceRule__Group_1__1 ; + public final void rule__InstanceRule__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3700:1: ( rule__InstanceRule__Group_1__0__Impl rule__InstanceRule__Group_1__1 ) + // InternalGeneratorDSL.g:3701:2: rule__InstanceRule__Group_1__0__Impl rule__InstanceRule__Group_1__1 + { + pushFollow(FOLLOW_35); + rule__InstanceRule__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__InstanceRule__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__Group_1__0" + + + // $ANTLR start "rule__InstanceRule__Group_1__0__Impl" + // InternalGeneratorDSL.g:3708:1: rule__InstanceRule__Group_1__0__Impl : ( '{' ) ; + public final void rule__InstanceRule__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3712:1: ( ( '{' ) ) + // InternalGeneratorDSL.g:3713:1: ( '{' ) + { + // InternalGeneratorDSL.g:3713:1: ( '{' ) + // InternalGeneratorDSL.g:3714:2: '{' + { + before(grammarAccess.getInstanceRuleAccess().getLeftCurlyBracketKeyword_1_0()); + match(input,46,FOLLOW_2); + after(grammarAccess.getInstanceRuleAccess().getLeftCurlyBracketKeyword_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__Group_1__0__Impl" + + + // $ANTLR start "rule__InstanceRule__Group_1__1" + // InternalGeneratorDSL.g:3723:1: rule__InstanceRule__Group_1__1 : rule__InstanceRule__Group_1__1__Impl rule__InstanceRule__Group_1__2 ; + public final void rule__InstanceRule__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3727:1: ( rule__InstanceRule__Group_1__1__Impl rule__InstanceRule__Group_1__2 ) + // InternalGeneratorDSL.g:3728:2: rule__InstanceRule__Group_1__1__Impl rule__InstanceRule__Group_1__2 + { + pushFollow(FOLLOW_35); + rule__InstanceRule__Group_1__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__InstanceRule__Group_1__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__Group_1__1" + + + // $ANTLR start "rule__InstanceRule__Group_1__1__Impl" + // InternalGeneratorDSL.g:3735:1: rule__InstanceRule__Group_1__1__Impl : ( ( rule__InstanceRule__AttributesAssignment_1_1 )* ) ; + public final void rule__InstanceRule__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3739:1: ( ( ( rule__InstanceRule__AttributesAssignment_1_1 )* ) ) + // InternalGeneratorDSL.g:3740:1: ( ( rule__InstanceRule__AttributesAssignment_1_1 )* ) + { + // InternalGeneratorDSL.g:3740:1: ( ( rule__InstanceRule__AttributesAssignment_1_1 )* ) + // InternalGeneratorDSL.g:3741:2: ( rule__InstanceRule__AttributesAssignment_1_1 )* + { + before(grammarAccess.getInstanceRuleAccess().getAttributesAssignment_1_1()); + // InternalGeneratorDSL.g:3742:2: ( rule__InstanceRule__AttributesAssignment_1_1 )* + loop26: + do { + int alt26=2; + int LA26_0 = input.LA(1); + + if ( ((LA26_0>=RULE_QUOTED_ID && LA26_0<=RULE_ID)||LA26_0==RULE_STRING) ) { + alt26=1; + } + + + switch (alt26) { + case 1 : + // InternalGeneratorDSL.g:3742:3: rule__InstanceRule__AttributesAssignment_1_1 + { + pushFollow(FOLLOW_36); + rule__InstanceRule__AttributesAssignment_1_1(); + + state._fsp--; + + + } + break; + + default : + break loop26; + } + } while (true); + + after(grammarAccess.getInstanceRuleAccess().getAttributesAssignment_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__Group_1__1__Impl" + + + // $ANTLR start "rule__InstanceRule__Group_1__2" + // InternalGeneratorDSL.g:3750:1: rule__InstanceRule__Group_1__2 : rule__InstanceRule__Group_1__2__Impl ; + public final void rule__InstanceRule__Group_1__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3754:1: ( rule__InstanceRule__Group_1__2__Impl ) + // InternalGeneratorDSL.g:3755:2: rule__InstanceRule__Group_1__2__Impl + { + pushFollow(FOLLOW_2); + rule__InstanceRule__Group_1__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__Group_1__2" + + + // $ANTLR start "rule__InstanceRule__Group_1__2__Impl" + // InternalGeneratorDSL.g:3761:1: rule__InstanceRule__Group_1__2__Impl : ( '}' ) ; + public final void rule__InstanceRule__Group_1__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3765:1: ( ( '}' ) ) + // InternalGeneratorDSL.g:3766:1: ( '}' ) + { + // InternalGeneratorDSL.g:3766:1: ( '}' ) + // InternalGeneratorDSL.g:3767:2: '}' + { + before(grammarAccess.getInstanceRuleAccess().getRightCurlyBracketKeyword_1_2()); + match(input,47,FOLLOW_2); + after(grammarAccess.getInstanceRuleAccess().getRightCurlyBracketKeyword_1_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__Group_1__2__Impl" + + + // $ANTLR start "rule__AttributeRule__Group__0" + // InternalGeneratorDSL.g:3777:1: rule__AttributeRule__Group__0 : rule__AttributeRule__Group__0__Impl rule__AttributeRule__Group__1 ; + public final void rule__AttributeRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3781:1: ( rule__AttributeRule__Group__0__Impl rule__AttributeRule__Group__1 ) + // InternalGeneratorDSL.g:3782:2: rule__AttributeRule__Group__0__Impl rule__AttributeRule__Group__1 + { + pushFollow(FOLLOW_37); + rule__AttributeRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AttributeRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AttributeRule__Group__0" + + + // $ANTLR start "rule__AttributeRule__Group__0__Impl" + // InternalGeneratorDSL.g:3789:1: rule__AttributeRule__Group__0__Impl : ( ( rule__AttributeRule__NameAssignment_0 ) ) ; + public final void rule__AttributeRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3793:1: ( ( ( rule__AttributeRule__NameAssignment_0 ) ) ) + // InternalGeneratorDSL.g:3794:1: ( ( rule__AttributeRule__NameAssignment_0 ) ) + { + // InternalGeneratorDSL.g:3794:1: ( ( rule__AttributeRule__NameAssignment_0 ) ) + // InternalGeneratorDSL.g:3795:2: ( rule__AttributeRule__NameAssignment_0 ) + { + before(grammarAccess.getAttributeRuleAccess().getNameAssignment_0()); + // InternalGeneratorDSL.g:3796:2: ( rule__AttributeRule__NameAssignment_0 ) + // InternalGeneratorDSL.g:3796:3: rule__AttributeRule__NameAssignment_0 + { + pushFollow(FOLLOW_2); + rule__AttributeRule__NameAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getAttributeRuleAccess().getNameAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AttributeRule__Group__0__Impl" + + + // $ANTLR start "rule__AttributeRule__Group__1" + // InternalGeneratorDSL.g:3804:1: rule__AttributeRule__Group__1 : rule__AttributeRule__Group__1__Impl rule__AttributeRule__Group__2 ; + public final void rule__AttributeRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3808:1: ( rule__AttributeRule__Group__1__Impl rule__AttributeRule__Group__2 ) + // InternalGeneratorDSL.g:3809:2: rule__AttributeRule__Group__1__Impl rule__AttributeRule__Group__2 + { + pushFollow(FOLLOW_38); + rule__AttributeRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AttributeRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AttributeRule__Group__1" + + + // $ANTLR start "rule__AttributeRule__Group__1__Impl" + // InternalGeneratorDSL.g:3816:1: rule__AttributeRule__Group__1__Impl : ( ':=' ) ; + public final void rule__AttributeRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3820:1: ( ( ':=' ) ) + // InternalGeneratorDSL.g:3821:1: ( ':=' ) + { + // InternalGeneratorDSL.g:3821:1: ( ':=' ) + // InternalGeneratorDSL.g:3822:2: ':=' + { + before(grammarAccess.getAttributeRuleAccess().getColonEqualsSignKeyword_1()); + match(input,48,FOLLOW_2); + after(grammarAccess.getAttributeRuleAccess().getColonEqualsSignKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AttributeRule__Group__1__Impl" + + + // $ANTLR start "rule__AttributeRule__Group__2" + // InternalGeneratorDSL.g:3831:1: rule__AttributeRule__Group__2 : rule__AttributeRule__Group__2__Impl rule__AttributeRule__Group__3 ; + public final void rule__AttributeRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3835:1: ( rule__AttributeRule__Group__2__Impl rule__AttributeRule__Group__3 ) + // InternalGeneratorDSL.g:3836:2: rule__AttributeRule__Group__2__Impl rule__AttributeRule__Group__3 + { + pushFollow(FOLLOW_9); + rule__AttributeRule__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AttributeRule__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AttributeRule__Group__2" + + + // $ANTLR start "rule__AttributeRule__Group__2__Impl" + // InternalGeneratorDSL.g:3843:1: rule__AttributeRule__Group__2__Impl : ( ( rule__AttributeRule__ValueAssignment_2 ) ) ; + public final void rule__AttributeRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3847:1: ( ( ( rule__AttributeRule__ValueAssignment_2 ) ) ) + // InternalGeneratorDSL.g:3848:1: ( ( rule__AttributeRule__ValueAssignment_2 ) ) + { + // InternalGeneratorDSL.g:3848:1: ( ( rule__AttributeRule__ValueAssignment_2 ) ) + // InternalGeneratorDSL.g:3849:2: ( rule__AttributeRule__ValueAssignment_2 ) + { + before(grammarAccess.getAttributeRuleAccess().getValueAssignment_2()); + // InternalGeneratorDSL.g:3850:2: ( rule__AttributeRule__ValueAssignment_2 ) + // InternalGeneratorDSL.g:3850:3: rule__AttributeRule__ValueAssignment_2 + { + pushFollow(FOLLOW_2); + rule__AttributeRule__ValueAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getAttributeRuleAccess().getValueAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AttributeRule__Group__2__Impl" + + + // $ANTLR start "rule__AttributeRule__Group__3" + // InternalGeneratorDSL.g:3858:1: rule__AttributeRule__Group__3 : rule__AttributeRule__Group__3__Impl ; + public final void rule__AttributeRule__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3862:1: ( rule__AttributeRule__Group__3__Impl ) + // InternalGeneratorDSL.g:3863:2: rule__AttributeRule__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__AttributeRule__Group__3__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AttributeRule__Group__3" + + + // $ANTLR start "rule__AttributeRule__Group__3__Impl" + // InternalGeneratorDSL.g:3869:1: rule__AttributeRule__Group__3__Impl : ( ';' ) ; + public final void rule__AttributeRule__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3873:1: ( ( ';' ) ) + // InternalGeneratorDSL.g:3874:1: ( ';' ) + { + // InternalGeneratorDSL.g:3874:1: ( ';' ) + // InternalGeneratorDSL.g:3875:2: ';' + { + before(grammarAccess.getAttributeRuleAccess().getSemicolonKeyword_3()); + match(input,25,FOLLOW_2); + after(grammarAccess.getAttributeRuleAccess().getSemicolonKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AttributeRule__Group__3__Impl" + + + // $ANTLR start "rule__ArrayRule__Group__0" + // InternalGeneratorDSL.g:3885:1: rule__ArrayRule__Group__0 : rule__ArrayRule__Group__0__Impl rule__ArrayRule__Group__1 ; + public final void rule__ArrayRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3889:1: ( rule__ArrayRule__Group__0__Impl rule__ArrayRule__Group__1 ) + // InternalGeneratorDSL.g:3890:2: rule__ArrayRule__Group__0__Impl rule__ArrayRule__Group__1 + { + pushFollow(FOLLOW_21); + rule__ArrayRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ArrayRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group__0" + + + // $ANTLR start "rule__ArrayRule__Group__0__Impl" + // InternalGeneratorDSL.g:3897:1: rule__ArrayRule__Group__0__Impl : ( () ) ; + public final void rule__ArrayRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3901:1: ( ( () ) ) + // InternalGeneratorDSL.g:3902:1: ( () ) + { + // InternalGeneratorDSL.g:3902:1: ( () ) + // InternalGeneratorDSL.g:3903:2: () + { + before(grammarAccess.getArrayRuleAccess().getArrayAction_0()); + // InternalGeneratorDSL.g:3904:2: () + // InternalGeneratorDSL.g:3904:3: + { + } + + after(grammarAccess.getArrayRuleAccess().getArrayAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group__0__Impl" + + + // $ANTLR start "rule__ArrayRule__Group__1" + // InternalGeneratorDSL.g:3912:1: rule__ArrayRule__Group__1 : rule__ArrayRule__Group__1__Impl rule__ArrayRule__Group__2 ; + public final void rule__ArrayRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3916:1: ( rule__ArrayRule__Group__1__Impl rule__ArrayRule__Group__2 ) + // InternalGeneratorDSL.g:3917:2: rule__ArrayRule__Group__1__Impl rule__ArrayRule__Group__2 + { + pushFollow(FOLLOW_39); + rule__ArrayRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ArrayRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group__1" + + + // $ANTLR start "rule__ArrayRule__Group__1__Impl" + // InternalGeneratorDSL.g:3924:1: rule__ArrayRule__Group__1__Impl : ( '[' ) ; + public final void rule__ArrayRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3928:1: ( ( '[' ) ) + // InternalGeneratorDSL.g:3929:1: ( '[' ) + { + // InternalGeneratorDSL.g:3929:1: ( '[' ) + // InternalGeneratorDSL.g:3930:2: '[' + { + before(grammarAccess.getArrayRuleAccess().getLeftSquareBracketKeyword_1()); + match(input,33,FOLLOW_2); + after(grammarAccess.getArrayRuleAccess().getLeftSquareBracketKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group__1__Impl" + + + // $ANTLR start "rule__ArrayRule__Group__2" + // InternalGeneratorDSL.g:3939:1: rule__ArrayRule__Group__2 : rule__ArrayRule__Group__2__Impl rule__ArrayRule__Group__3 ; + public final void rule__ArrayRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3943:1: ( rule__ArrayRule__Group__2__Impl rule__ArrayRule__Group__3 ) + // InternalGeneratorDSL.g:3944:2: rule__ArrayRule__Group__2__Impl rule__ArrayRule__Group__3 + { + pushFollow(FOLLOW_39); + rule__ArrayRule__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ArrayRule__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group__2" + + + // $ANTLR start "rule__ArrayRule__Group__2__Impl" + // InternalGeneratorDSL.g:3951:1: rule__ArrayRule__Group__2__Impl : ( ( rule__ArrayRule__Group_2__0 )? ) ; + public final void rule__ArrayRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3955:1: ( ( ( rule__ArrayRule__Group_2__0 )? ) ) + // InternalGeneratorDSL.g:3956:1: ( ( rule__ArrayRule__Group_2__0 )? ) + { + // InternalGeneratorDSL.g:3956:1: ( ( rule__ArrayRule__Group_2__0 )? ) + // InternalGeneratorDSL.g:3957:2: ( rule__ArrayRule__Group_2__0 )? + { + before(grammarAccess.getArrayRuleAccess().getGroup_2()); + // InternalGeneratorDSL.g:3958:2: ( rule__ArrayRule__Group_2__0 )? + int alt27=2; + int LA27_0 = input.LA(1); + + if ( ((LA27_0>=RULE_QUOTED_ID && LA27_0<=RULE_STRING)||LA27_0==12||LA27_0==33||LA27_0==49||LA27_0==60) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // InternalGeneratorDSL.g:3958:3: rule__ArrayRule__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__ArrayRule__Group_2__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getArrayRuleAccess().getGroup_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group__2__Impl" + + + // $ANTLR start "rule__ArrayRule__Group__3" + // InternalGeneratorDSL.g:3966:1: rule__ArrayRule__Group__3 : rule__ArrayRule__Group__3__Impl ; + public final void rule__ArrayRule__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3970:1: ( rule__ArrayRule__Group__3__Impl ) + // InternalGeneratorDSL.g:3971:2: rule__ArrayRule__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__ArrayRule__Group__3__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group__3" + + + // $ANTLR start "rule__ArrayRule__Group__3__Impl" + // InternalGeneratorDSL.g:3977:1: rule__ArrayRule__Group__3__Impl : ( ']' ) ; + public final void rule__ArrayRule__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3981:1: ( ( ']' ) ) + // InternalGeneratorDSL.g:3982:1: ( ']' ) + { + // InternalGeneratorDSL.g:3982:1: ( ']' ) + // InternalGeneratorDSL.g:3983:2: ']' + { + before(grammarAccess.getArrayRuleAccess().getRightSquareBracketKeyword_3()); + match(input,35,FOLLOW_2); + after(grammarAccess.getArrayRuleAccess().getRightSquareBracketKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group__3__Impl" + + + // $ANTLR start "rule__ArrayRule__Group_2__0" + // InternalGeneratorDSL.g:3993:1: rule__ArrayRule__Group_2__0 : rule__ArrayRule__Group_2__0__Impl rule__ArrayRule__Group_2__1 ; + public final void rule__ArrayRule__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:3997:1: ( rule__ArrayRule__Group_2__0__Impl rule__ArrayRule__Group_2__1 ) + // InternalGeneratorDSL.g:3998:2: rule__ArrayRule__Group_2__0__Impl rule__ArrayRule__Group_2__1 + { + pushFollow(FOLLOW_40); + rule__ArrayRule__Group_2__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ArrayRule__Group_2__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group_2__0" + + + // $ANTLR start "rule__ArrayRule__Group_2__0__Impl" + // InternalGeneratorDSL.g:4005:1: rule__ArrayRule__Group_2__0__Impl : ( ( rule__ArrayRule__ValuesAssignment_2_0 ) ) ; + public final void rule__ArrayRule__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4009:1: ( ( ( rule__ArrayRule__ValuesAssignment_2_0 ) ) ) + // InternalGeneratorDSL.g:4010:1: ( ( rule__ArrayRule__ValuesAssignment_2_0 ) ) + { + // InternalGeneratorDSL.g:4010:1: ( ( rule__ArrayRule__ValuesAssignment_2_0 ) ) + // InternalGeneratorDSL.g:4011:2: ( rule__ArrayRule__ValuesAssignment_2_0 ) + { + before(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_0()); + // InternalGeneratorDSL.g:4012:2: ( rule__ArrayRule__ValuesAssignment_2_0 ) + // InternalGeneratorDSL.g:4012:3: rule__ArrayRule__ValuesAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__ArrayRule__ValuesAssignment_2_0(); + + state._fsp--; + + + } + + after(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group_2__0__Impl" + + + // $ANTLR start "rule__ArrayRule__Group_2__1" + // InternalGeneratorDSL.g:4020:1: rule__ArrayRule__Group_2__1 : rule__ArrayRule__Group_2__1__Impl ; + public final void rule__ArrayRule__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4024:1: ( rule__ArrayRule__Group_2__1__Impl ) + // InternalGeneratorDSL.g:4025:2: rule__ArrayRule__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__ArrayRule__Group_2__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group_2__1" + + + // $ANTLR start "rule__ArrayRule__Group_2__1__Impl" + // InternalGeneratorDSL.g:4031:1: rule__ArrayRule__Group_2__1__Impl : ( ( rule__ArrayRule__Group_2_1__0 )* ) ; + public final void rule__ArrayRule__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4035:1: ( ( ( rule__ArrayRule__Group_2_1__0 )* ) ) + // InternalGeneratorDSL.g:4036:1: ( ( rule__ArrayRule__Group_2_1__0 )* ) + { + // InternalGeneratorDSL.g:4036:1: ( ( rule__ArrayRule__Group_2_1__0 )* ) + // InternalGeneratorDSL.g:4037:2: ( rule__ArrayRule__Group_2_1__0 )* + { + before(grammarAccess.getArrayRuleAccess().getGroup_2_1()); + // InternalGeneratorDSL.g:4038:2: ( rule__ArrayRule__Group_2_1__0 )* + loop28: + do { + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==37) ) { + alt28=1; + } + + + switch (alt28) { + case 1 : + // InternalGeneratorDSL.g:4038:3: rule__ArrayRule__Group_2_1__0 + { + pushFollow(FOLLOW_24); + rule__ArrayRule__Group_2_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop28; + } + } while (true); + + after(grammarAccess.getArrayRuleAccess().getGroup_2_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group_2__1__Impl" + + + // $ANTLR start "rule__ArrayRule__Group_2_1__0" + // InternalGeneratorDSL.g:4047:1: rule__ArrayRule__Group_2_1__0 : rule__ArrayRule__Group_2_1__0__Impl rule__ArrayRule__Group_2_1__1 ; + public final void rule__ArrayRule__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4051:1: ( rule__ArrayRule__Group_2_1__0__Impl rule__ArrayRule__Group_2_1__1 ) + // InternalGeneratorDSL.g:4052:2: rule__ArrayRule__Group_2_1__0__Impl rule__ArrayRule__Group_2_1__1 + { + pushFollow(FOLLOW_38); + rule__ArrayRule__Group_2_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ArrayRule__Group_2_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group_2_1__0" + + + // $ANTLR start "rule__ArrayRule__Group_2_1__0__Impl" + // InternalGeneratorDSL.g:4059:1: rule__ArrayRule__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__ArrayRule__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4063:1: ( ( ',' ) ) + // InternalGeneratorDSL.g:4064:1: ( ',' ) + { + // InternalGeneratorDSL.g:4064:1: ( ',' ) + // InternalGeneratorDSL.g:4065:2: ',' + { + before(grammarAccess.getArrayRuleAccess().getCommaKeyword_2_1_0()); + match(input,37,FOLLOW_2); + after(grammarAccess.getArrayRuleAccess().getCommaKeyword_2_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group_2_1__0__Impl" + + + // $ANTLR start "rule__ArrayRule__Group_2_1__1" + // InternalGeneratorDSL.g:4074:1: rule__ArrayRule__Group_2_1__1 : rule__ArrayRule__Group_2_1__1__Impl ; + public final void rule__ArrayRule__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4078:1: ( rule__ArrayRule__Group_2_1__1__Impl ) + // InternalGeneratorDSL.g:4079:2: rule__ArrayRule__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__ArrayRule__Group_2_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group_2_1__1" + + + // $ANTLR start "rule__ArrayRule__Group_2_1__1__Impl" + // InternalGeneratorDSL.g:4085:1: rule__ArrayRule__Group_2_1__1__Impl : ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) ) ; + public final void rule__ArrayRule__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4089:1: ( ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) ) ) + // InternalGeneratorDSL.g:4090:1: ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) ) + { + // InternalGeneratorDSL.g:4090:1: ( ( rule__ArrayRule__ValuesAssignment_2_1_1 ) ) + // InternalGeneratorDSL.g:4091:2: ( rule__ArrayRule__ValuesAssignment_2_1_1 ) + { + before(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_1_1()); + // InternalGeneratorDSL.g:4092:2: ( rule__ArrayRule__ValuesAssignment_2_1_1 ) + // InternalGeneratorDSL.g:4092:3: rule__ArrayRule__ValuesAssignment_2_1_1 + { + pushFollow(FOLLOW_2); + rule__ArrayRule__ValuesAssignment_2_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getArrayRuleAccess().getValuesAssignment_2_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__Group_2_1__1__Impl" + + + // $ANTLR start "rule__DataReferenceRule__Group__0" + // InternalGeneratorDSL.g:4101:1: rule__DataReferenceRule__Group__0 : rule__DataReferenceRule__Group__0__Impl rule__DataReferenceRule__Group__1 ; + public final void rule__DataReferenceRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4105:1: ( rule__DataReferenceRule__Group__0__Impl rule__DataReferenceRule__Group__1 ) + // InternalGeneratorDSL.g:4106:2: rule__DataReferenceRule__Group__0__Impl rule__DataReferenceRule__Group__1 + { + pushFollow(FOLLOW_41); + rule__DataReferenceRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__DataReferenceRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DataReferenceRule__Group__0" + + + // $ANTLR start "rule__DataReferenceRule__Group__0__Impl" + // InternalGeneratorDSL.g:4113:1: rule__DataReferenceRule__Group__0__Impl : ( () ) ; + public final void rule__DataReferenceRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4117:1: ( ( () ) ) + // InternalGeneratorDSL.g:4118:1: ( () ) + { + // InternalGeneratorDSL.g:4118:1: ( () ) + // InternalGeneratorDSL.g:4119:2: () + { + before(grammarAccess.getDataReferenceRuleAccess().getDataReferenceAction_0()); + // InternalGeneratorDSL.g:4120:2: () + // InternalGeneratorDSL.g:4120:3: + { + } + + after(grammarAccess.getDataReferenceRuleAccess().getDataReferenceAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DataReferenceRule__Group__0__Impl" + + + // $ANTLR start "rule__DataReferenceRule__Group__1" + // InternalGeneratorDSL.g:4128:1: rule__DataReferenceRule__Group__1 : rule__DataReferenceRule__Group__1__Impl rule__DataReferenceRule__Group__2 ; + public final void rule__DataReferenceRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4132:1: ( rule__DataReferenceRule__Group__1__Impl rule__DataReferenceRule__Group__2 ) + // InternalGeneratorDSL.g:4133:2: rule__DataReferenceRule__Group__1__Impl rule__DataReferenceRule__Group__2 + { + pushFollow(FOLLOW_10); + rule__DataReferenceRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__DataReferenceRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DataReferenceRule__Group__1" + + + // $ANTLR start "rule__DataReferenceRule__Group__1__Impl" + // InternalGeneratorDSL.g:4140:1: rule__DataReferenceRule__Group__1__Impl : ( 'data' ) ; + public final void rule__DataReferenceRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4144:1: ( ( 'data' ) ) + // InternalGeneratorDSL.g:4145:1: ( 'data' ) + { + // InternalGeneratorDSL.g:4145:1: ( 'data' ) + // InternalGeneratorDSL.g:4146:2: 'data' + { + before(grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1()); + match(input,49,FOLLOW_2); + after(grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DataReferenceRule__Group__1__Impl" + + + // $ANTLR start "rule__DataReferenceRule__Group__2" + // InternalGeneratorDSL.g:4155:1: rule__DataReferenceRule__Group__2 : rule__DataReferenceRule__Group__2__Impl ; + public final void rule__DataReferenceRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4159:1: ( rule__DataReferenceRule__Group__2__Impl ) + // InternalGeneratorDSL.g:4160:2: rule__DataReferenceRule__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__DataReferenceRule__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DataReferenceRule__Group__2" + + + // $ANTLR start "rule__DataReferenceRule__Group__2__Impl" + // InternalGeneratorDSL.g:4166:1: rule__DataReferenceRule__Group__2__Impl : ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) ) ; + public final void rule__DataReferenceRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4170:1: ( ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) ) ) + // InternalGeneratorDSL.g:4171:1: ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) ) + { + // InternalGeneratorDSL.g:4171:1: ( ( rule__DataReferenceRule__DefinitionAssignment_2 ) ) + // InternalGeneratorDSL.g:4172:2: ( rule__DataReferenceRule__DefinitionAssignment_2 ) + { + before(grammarAccess.getDataReferenceRuleAccess().getDefinitionAssignment_2()); + // InternalGeneratorDSL.g:4173:2: ( rule__DataReferenceRule__DefinitionAssignment_2 ) + // InternalGeneratorDSL.g:4173:3: rule__DataReferenceRule__DefinitionAssignment_2 + { + pushFollow(FOLLOW_2); + rule__DataReferenceRule__DefinitionAssignment_2(); + + state._fsp--; + + + } + + after(grammarAccess.getDataReferenceRuleAccess().getDefinitionAssignment_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DataReferenceRule__Group__2__Impl" + + + // $ANTLR start "rule__OrExpressionRule__Group__0" + // InternalGeneratorDSL.g:4182:1: rule__OrExpressionRule__Group__0 : rule__OrExpressionRule__Group__0__Impl rule__OrExpressionRule__Group__1 ; + public final void rule__OrExpressionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4186:1: ( rule__OrExpressionRule__Group__0__Impl rule__OrExpressionRule__Group__1 ) + // InternalGeneratorDSL.g:4187:2: rule__OrExpressionRule__Group__0__Impl rule__OrExpressionRule__Group__1 + { + pushFollow(FOLLOW_42); + rule__OrExpressionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__OrExpressionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpressionRule__Group__0" + + + // $ANTLR start "rule__OrExpressionRule__Group__0__Impl" + // InternalGeneratorDSL.g:4194:1: rule__OrExpressionRule__Group__0__Impl : ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) ) ; + public final void rule__OrExpressionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4198:1: ( ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) ) ) + // InternalGeneratorDSL.g:4199:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) ) + { + // InternalGeneratorDSL.g:4199:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) ) + // InternalGeneratorDSL.g:4200:2: ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) + { + before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_0()); + // InternalGeneratorDSL.g:4201:2: ( rule__OrExpressionRule__SubExpressionsAssignment_0 ) + // InternalGeneratorDSL.g:4201:3: rule__OrExpressionRule__SubExpressionsAssignment_0 + { + pushFollow(FOLLOW_2); + rule__OrExpressionRule__SubExpressionsAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpressionRule__Group__0__Impl" + + + // $ANTLR start "rule__OrExpressionRule__Group__1" + // InternalGeneratorDSL.g:4209:1: rule__OrExpressionRule__Group__1 : rule__OrExpressionRule__Group__1__Impl ; + public final void rule__OrExpressionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4213:1: ( rule__OrExpressionRule__Group__1__Impl ) + // InternalGeneratorDSL.g:4214:2: rule__OrExpressionRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__OrExpressionRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpressionRule__Group__1" + + + // $ANTLR start "rule__OrExpressionRule__Group__1__Impl" + // InternalGeneratorDSL.g:4220:1: rule__OrExpressionRule__Group__1__Impl : ( ( rule__OrExpressionRule__Group_1__0 )* ) ; + public final void rule__OrExpressionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4224:1: ( ( ( rule__OrExpressionRule__Group_1__0 )* ) ) + // InternalGeneratorDSL.g:4225:1: ( ( rule__OrExpressionRule__Group_1__0 )* ) + { + // InternalGeneratorDSL.g:4225:1: ( ( rule__OrExpressionRule__Group_1__0 )* ) + // InternalGeneratorDSL.g:4226:2: ( rule__OrExpressionRule__Group_1__0 )* + { + before(grammarAccess.getOrExpressionRuleAccess().getGroup_1()); + // InternalGeneratorDSL.g:4227:2: ( rule__OrExpressionRule__Group_1__0 )* + loop29: + do { + int alt29=2; + int LA29_0 = input.LA(1); + + if ( (LA29_0==50) ) { + alt29=1; + } + + + switch (alt29) { + case 1 : + // InternalGeneratorDSL.g:4227:3: rule__OrExpressionRule__Group_1__0 + { + pushFollow(FOLLOW_43); + rule__OrExpressionRule__Group_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop29; + } + } while (true); + + after(grammarAccess.getOrExpressionRuleAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpressionRule__Group__1__Impl" + + + // $ANTLR start "rule__OrExpressionRule__Group_1__0" + // InternalGeneratorDSL.g:4236:1: rule__OrExpressionRule__Group_1__0 : rule__OrExpressionRule__Group_1__0__Impl rule__OrExpressionRule__Group_1__1 ; + public final void rule__OrExpressionRule__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4240:1: ( rule__OrExpressionRule__Group_1__0__Impl rule__OrExpressionRule__Group_1__1 ) + // InternalGeneratorDSL.g:4241:2: rule__OrExpressionRule__Group_1__0__Impl rule__OrExpressionRule__Group_1__1 + { + pushFollow(FOLLOW_44); + rule__OrExpressionRule__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__OrExpressionRule__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpressionRule__Group_1__0" + + + // $ANTLR start "rule__OrExpressionRule__Group_1__0__Impl" + // InternalGeneratorDSL.g:4248:1: rule__OrExpressionRule__Group_1__0__Impl : ( 'OR' ) ; + public final void rule__OrExpressionRule__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4252:1: ( ( 'OR' ) ) + // InternalGeneratorDSL.g:4253:1: ( 'OR' ) + { + // InternalGeneratorDSL.g:4253:1: ( 'OR' ) + // InternalGeneratorDSL.g:4254:2: 'OR' + { + before(grammarAccess.getOrExpressionRuleAccess().getORKeyword_1_0()); + match(input,50,FOLLOW_2); + after(grammarAccess.getOrExpressionRuleAccess().getORKeyword_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpressionRule__Group_1__0__Impl" + + + // $ANTLR start "rule__OrExpressionRule__Group_1__1" + // InternalGeneratorDSL.g:4263:1: rule__OrExpressionRule__Group_1__1 : rule__OrExpressionRule__Group_1__1__Impl ; + public final void rule__OrExpressionRule__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4267:1: ( rule__OrExpressionRule__Group_1__1__Impl ) + // InternalGeneratorDSL.g:4268:2: rule__OrExpressionRule__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__OrExpressionRule__Group_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpressionRule__Group_1__1" + + + // $ANTLR start "rule__OrExpressionRule__Group_1__1__Impl" + // InternalGeneratorDSL.g:4274:1: rule__OrExpressionRule__Group_1__1__Impl : ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) ) ; + public final void rule__OrExpressionRule__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4278:1: ( ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) ) ) + // InternalGeneratorDSL.g:4279:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) ) + { + // InternalGeneratorDSL.g:4279:1: ( ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) ) + // InternalGeneratorDSL.g:4280:2: ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) + { + before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_1_1()); + // InternalGeneratorDSL.g:4281:2: ( rule__OrExpressionRule__SubExpressionsAssignment_1_1 ) + // InternalGeneratorDSL.g:4281:3: rule__OrExpressionRule__SubExpressionsAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__OrExpressionRule__SubExpressionsAssignment_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsAssignment_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpressionRule__Group_1__1__Impl" + + + // $ANTLR start "rule__XorExpressionRule__Group__0" + // InternalGeneratorDSL.g:4290:1: rule__XorExpressionRule__Group__0 : rule__XorExpressionRule__Group__0__Impl rule__XorExpressionRule__Group__1 ; + public final void rule__XorExpressionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4294:1: ( rule__XorExpressionRule__Group__0__Impl rule__XorExpressionRule__Group__1 ) + // InternalGeneratorDSL.g:4295:2: rule__XorExpressionRule__Group__0__Impl rule__XorExpressionRule__Group__1 + { + pushFollow(FOLLOW_45); + rule__XorExpressionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__XorExpressionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XorExpressionRule__Group__0" + + + // $ANTLR start "rule__XorExpressionRule__Group__0__Impl" + // InternalGeneratorDSL.g:4302:1: rule__XorExpressionRule__Group__0__Impl : ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) ) ; + public final void rule__XorExpressionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4306:1: ( ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) ) ) + // InternalGeneratorDSL.g:4307:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) ) + { + // InternalGeneratorDSL.g:4307:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) ) + // InternalGeneratorDSL.g:4308:2: ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) + { + before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_0()); + // InternalGeneratorDSL.g:4309:2: ( rule__XorExpressionRule__SubExpressionsAssignment_0 ) + // InternalGeneratorDSL.g:4309:3: rule__XorExpressionRule__SubExpressionsAssignment_0 + { + pushFollow(FOLLOW_2); + rule__XorExpressionRule__SubExpressionsAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XorExpressionRule__Group__0__Impl" + + + // $ANTLR start "rule__XorExpressionRule__Group__1" + // InternalGeneratorDSL.g:4317:1: rule__XorExpressionRule__Group__1 : rule__XorExpressionRule__Group__1__Impl ; + public final void rule__XorExpressionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4321:1: ( rule__XorExpressionRule__Group__1__Impl ) + // InternalGeneratorDSL.g:4322:2: rule__XorExpressionRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__XorExpressionRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XorExpressionRule__Group__1" + + + // $ANTLR start "rule__XorExpressionRule__Group__1__Impl" + // InternalGeneratorDSL.g:4328:1: rule__XorExpressionRule__Group__1__Impl : ( ( rule__XorExpressionRule__Group_1__0 )* ) ; + public final void rule__XorExpressionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4332:1: ( ( ( rule__XorExpressionRule__Group_1__0 )* ) ) + // InternalGeneratorDSL.g:4333:1: ( ( rule__XorExpressionRule__Group_1__0 )* ) + { + // InternalGeneratorDSL.g:4333:1: ( ( rule__XorExpressionRule__Group_1__0 )* ) + // InternalGeneratorDSL.g:4334:2: ( rule__XorExpressionRule__Group_1__0 )* + { + before(grammarAccess.getXorExpressionRuleAccess().getGroup_1()); + // InternalGeneratorDSL.g:4335:2: ( rule__XorExpressionRule__Group_1__0 )* + loop30: + do { + int alt30=2; + int LA30_0 = input.LA(1); + + if ( (LA30_0==51) ) { + alt30=1; + } + + + switch (alt30) { + case 1 : + // InternalGeneratorDSL.g:4335:3: rule__XorExpressionRule__Group_1__0 + { + pushFollow(FOLLOW_46); + rule__XorExpressionRule__Group_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop30; + } + } while (true); + + after(grammarAccess.getXorExpressionRuleAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XorExpressionRule__Group__1__Impl" + + + // $ANTLR start "rule__XorExpressionRule__Group_1__0" + // InternalGeneratorDSL.g:4344:1: rule__XorExpressionRule__Group_1__0 : rule__XorExpressionRule__Group_1__0__Impl rule__XorExpressionRule__Group_1__1 ; + public final void rule__XorExpressionRule__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4348:1: ( rule__XorExpressionRule__Group_1__0__Impl rule__XorExpressionRule__Group_1__1 ) + // InternalGeneratorDSL.g:4349:2: rule__XorExpressionRule__Group_1__0__Impl rule__XorExpressionRule__Group_1__1 + { + pushFollow(FOLLOW_44); + rule__XorExpressionRule__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__XorExpressionRule__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XorExpressionRule__Group_1__0" + + + // $ANTLR start "rule__XorExpressionRule__Group_1__0__Impl" + // InternalGeneratorDSL.g:4356:1: rule__XorExpressionRule__Group_1__0__Impl : ( 'XOR' ) ; + public final void rule__XorExpressionRule__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4360:1: ( ( 'XOR' ) ) + // InternalGeneratorDSL.g:4361:1: ( 'XOR' ) + { + // InternalGeneratorDSL.g:4361:1: ( 'XOR' ) + // InternalGeneratorDSL.g:4362:2: 'XOR' + { + before(grammarAccess.getXorExpressionRuleAccess().getXORKeyword_1_0()); + match(input,51,FOLLOW_2); + after(grammarAccess.getXorExpressionRuleAccess().getXORKeyword_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XorExpressionRule__Group_1__0__Impl" + + + // $ANTLR start "rule__XorExpressionRule__Group_1__1" + // InternalGeneratorDSL.g:4371:1: rule__XorExpressionRule__Group_1__1 : rule__XorExpressionRule__Group_1__1__Impl ; + public final void rule__XorExpressionRule__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4375:1: ( rule__XorExpressionRule__Group_1__1__Impl ) + // InternalGeneratorDSL.g:4376:2: rule__XorExpressionRule__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__XorExpressionRule__Group_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XorExpressionRule__Group_1__1" + + + // $ANTLR start "rule__XorExpressionRule__Group_1__1__Impl" + // InternalGeneratorDSL.g:4382:1: rule__XorExpressionRule__Group_1__1__Impl : ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) ) ; + public final void rule__XorExpressionRule__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4386:1: ( ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) ) ) + // InternalGeneratorDSL.g:4387:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) ) + { + // InternalGeneratorDSL.g:4387:1: ( ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) ) + // InternalGeneratorDSL.g:4388:2: ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) + { + before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_1_1()); + // InternalGeneratorDSL.g:4389:2: ( rule__XorExpressionRule__SubExpressionsAssignment_1_1 ) + // InternalGeneratorDSL.g:4389:3: rule__XorExpressionRule__SubExpressionsAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__XorExpressionRule__SubExpressionsAssignment_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAssignment_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XorExpressionRule__Group_1__1__Impl" + + + // $ANTLR start "rule__AndExpressionRule__Group__0" + // InternalGeneratorDSL.g:4398:1: rule__AndExpressionRule__Group__0 : rule__AndExpressionRule__Group__0__Impl rule__AndExpressionRule__Group__1 ; + public final void rule__AndExpressionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4402:1: ( rule__AndExpressionRule__Group__0__Impl rule__AndExpressionRule__Group__1 ) + // InternalGeneratorDSL.g:4403:2: rule__AndExpressionRule__Group__0__Impl rule__AndExpressionRule__Group__1 + { + pushFollow(FOLLOW_47); + rule__AndExpressionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AndExpressionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpressionRule__Group__0" + + + // $ANTLR start "rule__AndExpressionRule__Group__0__Impl" + // InternalGeneratorDSL.g:4410:1: rule__AndExpressionRule__Group__0__Impl : ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) ) ; + public final void rule__AndExpressionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4414:1: ( ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) ) ) + // InternalGeneratorDSL.g:4415:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) ) + { + // InternalGeneratorDSL.g:4415:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) ) + // InternalGeneratorDSL.g:4416:2: ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) + { + before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_0()); + // InternalGeneratorDSL.g:4417:2: ( rule__AndExpressionRule__SubExpressionsAssignment_0 ) + // InternalGeneratorDSL.g:4417:3: rule__AndExpressionRule__SubExpressionsAssignment_0 + { + pushFollow(FOLLOW_2); + rule__AndExpressionRule__SubExpressionsAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpressionRule__Group__0__Impl" + + + // $ANTLR start "rule__AndExpressionRule__Group__1" + // InternalGeneratorDSL.g:4425:1: rule__AndExpressionRule__Group__1 : rule__AndExpressionRule__Group__1__Impl ; + public final void rule__AndExpressionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4429:1: ( rule__AndExpressionRule__Group__1__Impl ) + // InternalGeneratorDSL.g:4430:2: rule__AndExpressionRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__AndExpressionRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpressionRule__Group__1" + + + // $ANTLR start "rule__AndExpressionRule__Group__1__Impl" + // InternalGeneratorDSL.g:4436:1: rule__AndExpressionRule__Group__1__Impl : ( ( rule__AndExpressionRule__Group_1__0 )* ) ; + public final void rule__AndExpressionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4440:1: ( ( ( rule__AndExpressionRule__Group_1__0 )* ) ) + // InternalGeneratorDSL.g:4441:1: ( ( rule__AndExpressionRule__Group_1__0 )* ) + { + // InternalGeneratorDSL.g:4441:1: ( ( rule__AndExpressionRule__Group_1__0 )* ) + // InternalGeneratorDSL.g:4442:2: ( rule__AndExpressionRule__Group_1__0 )* + { + before(grammarAccess.getAndExpressionRuleAccess().getGroup_1()); + // InternalGeneratorDSL.g:4443:2: ( rule__AndExpressionRule__Group_1__0 )* + loop31: + do { + int alt31=2; + int LA31_0 = input.LA(1); + + if ( (LA31_0==52) ) { + alt31=1; + } + + + switch (alt31) { + case 1 : + // InternalGeneratorDSL.g:4443:3: rule__AndExpressionRule__Group_1__0 + { + pushFollow(FOLLOW_48); + rule__AndExpressionRule__Group_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop31; + } + } while (true); + + after(grammarAccess.getAndExpressionRuleAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpressionRule__Group__1__Impl" + + + // $ANTLR start "rule__AndExpressionRule__Group_1__0" + // InternalGeneratorDSL.g:4452:1: rule__AndExpressionRule__Group_1__0 : rule__AndExpressionRule__Group_1__0__Impl rule__AndExpressionRule__Group_1__1 ; + public final void rule__AndExpressionRule__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4456:1: ( rule__AndExpressionRule__Group_1__0__Impl rule__AndExpressionRule__Group_1__1 ) + // InternalGeneratorDSL.g:4457:2: rule__AndExpressionRule__Group_1__0__Impl rule__AndExpressionRule__Group_1__1 + { + pushFollow(FOLLOW_44); + rule__AndExpressionRule__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AndExpressionRule__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpressionRule__Group_1__0" + + + // $ANTLR start "rule__AndExpressionRule__Group_1__0__Impl" + // InternalGeneratorDSL.g:4464:1: rule__AndExpressionRule__Group_1__0__Impl : ( 'AND' ) ; + public final void rule__AndExpressionRule__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4468:1: ( ( 'AND' ) ) + // InternalGeneratorDSL.g:4469:1: ( 'AND' ) + { + // InternalGeneratorDSL.g:4469:1: ( 'AND' ) + // InternalGeneratorDSL.g:4470:2: 'AND' + { + before(grammarAccess.getAndExpressionRuleAccess().getANDKeyword_1_0()); + match(input,52,FOLLOW_2); + after(grammarAccess.getAndExpressionRuleAccess().getANDKeyword_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpressionRule__Group_1__0__Impl" + + + // $ANTLR start "rule__AndExpressionRule__Group_1__1" + // InternalGeneratorDSL.g:4479:1: rule__AndExpressionRule__Group_1__1 : rule__AndExpressionRule__Group_1__1__Impl ; + public final void rule__AndExpressionRule__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4483:1: ( rule__AndExpressionRule__Group_1__1__Impl ) + // InternalGeneratorDSL.g:4484:2: rule__AndExpressionRule__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__AndExpressionRule__Group_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpressionRule__Group_1__1" + + + // $ANTLR start "rule__AndExpressionRule__Group_1__1__Impl" + // InternalGeneratorDSL.g:4490:1: rule__AndExpressionRule__Group_1__1__Impl : ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) ) ; + public final void rule__AndExpressionRule__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4494:1: ( ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) ) ) + // InternalGeneratorDSL.g:4495:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) ) + { + // InternalGeneratorDSL.g:4495:1: ( ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) ) + // InternalGeneratorDSL.g:4496:2: ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) + { + before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_1_1()); + // InternalGeneratorDSL.g:4497:2: ( rule__AndExpressionRule__SubExpressionsAssignment_1_1 ) + // InternalGeneratorDSL.g:4497:3: rule__AndExpressionRule__SubExpressionsAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__AndExpressionRule__SubExpressionsAssignment_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsAssignment_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpressionRule__Group_1__1__Impl" + + + // $ANTLR start "rule__NotExpressionRule__Group__0" + // InternalGeneratorDSL.g:4506:1: rule__NotExpressionRule__Group__0 : rule__NotExpressionRule__Group__0__Impl rule__NotExpressionRule__Group__1 ; + public final void rule__NotExpressionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4510:1: ( rule__NotExpressionRule__Group__0__Impl rule__NotExpressionRule__Group__1 ) + // InternalGeneratorDSL.g:4511:2: rule__NotExpressionRule__Group__0__Impl rule__NotExpressionRule__Group__1 + { + pushFollow(FOLLOW_44); + rule__NotExpressionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__NotExpressionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NotExpressionRule__Group__0" + + + // $ANTLR start "rule__NotExpressionRule__Group__0__Impl" + // InternalGeneratorDSL.g:4518:1: rule__NotExpressionRule__Group__0__Impl : ( ( rule__NotExpressionRule__NegatedAssignment_0 )? ) ; + public final void rule__NotExpressionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4522:1: ( ( ( rule__NotExpressionRule__NegatedAssignment_0 )? ) ) + // InternalGeneratorDSL.g:4523:1: ( ( rule__NotExpressionRule__NegatedAssignment_0 )? ) + { + // InternalGeneratorDSL.g:4523:1: ( ( rule__NotExpressionRule__NegatedAssignment_0 )? ) + // InternalGeneratorDSL.g:4524:2: ( rule__NotExpressionRule__NegatedAssignment_0 )? + { + before(grammarAccess.getNotExpressionRuleAccess().getNegatedAssignment_0()); + // InternalGeneratorDSL.g:4525:2: ( rule__NotExpressionRule__NegatedAssignment_0 )? + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==59) ) { + alt32=1; + } + switch (alt32) { + case 1 : + // InternalGeneratorDSL.g:4525:3: rule__NotExpressionRule__NegatedAssignment_0 + { + pushFollow(FOLLOW_2); + rule__NotExpressionRule__NegatedAssignment_0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getNotExpressionRuleAccess().getNegatedAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NotExpressionRule__Group__0__Impl" + + + // $ANTLR start "rule__NotExpressionRule__Group__1" + // InternalGeneratorDSL.g:4533:1: rule__NotExpressionRule__Group__1 : rule__NotExpressionRule__Group__1__Impl ; + public final void rule__NotExpressionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4537:1: ( rule__NotExpressionRule__Group__1__Impl ) + // InternalGeneratorDSL.g:4538:2: rule__NotExpressionRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__NotExpressionRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NotExpressionRule__Group__1" + + + // $ANTLR start "rule__NotExpressionRule__Group__1__Impl" + // InternalGeneratorDSL.g:4544:1: rule__NotExpressionRule__Group__1__Impl : ( ( rule__NotExpressionRule__OperandAssignment_1 ) ) ; + public final void rule__NotExpressionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4548:1: ( ( ( rule__NotExpressionRule__OperandAssignment_1 ) ) ) + // InternalGeneratorDSL.g:4549:1: ( ( rule__NotExpressionRule__OperandAssignment_1 ) ) + { + // InternalGeneratorDSL.g:4549:1: ( ( rule__NotExpressionRule__OperandAssignment_1 ) ) + // InternalGeneratorDSL.g:4550:2: ( rule__NotExpressionRule__OperandAssignment_1 ) + { + before(grammarAccess.getNotExpressionRuleAccess().getOperandAssignment_1()); + // InternalGeneratorDSL.g:4551:2: ( rule__NotExpressionRule__OperandAssignment_1 ) + // InternalGeneratorDSL.g:4551:3: rule__NotExpressionRule__OperandAssignment_1 + { + pushFollow(FOLLOW_2); + rule__NotExpressionRule__OperandAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getNotExpressionRuleAccess().getOperandAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NotExpressionRule__Group__1__Impl" + + + // $ANTLR start "rule__ComparisonExpressionRule__Group__0" + // InternalGeneratorDSL.g:4560:1: rule__ComparisonExpressionRule__Group__0 : rule__ComparisonExpressionRule__Group__0__Impl rule__ComparisonExpressionRule__Group__1 ; + public final void rule__ComparisonExpressionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4564:1: ( rule__ComparisonExpressionRule__Group__0__Impl rule__ComparisonExpressionRule__Group__1 ) + // InternalGeneratorDSL.g:4565:2: rule__ComparisonExpressionRule__Group__0__Impl rule__ComparisonExpressionRule__Group__1 + { + pushFollow(FOLLOW_49); + rule__ComparisonExpressionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ComparisonExpressionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpressionRule__Group__0" + + + // $ANTLR start "rule__ComparisonExpressionRule__Group__0__Impl" + // InternalGeneratorDSL.g:4572:1: rule__ComparisonExpressionRule__Group__0__Impl : ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) ) ; + public final void rule__ComparisonExpressionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4576:1: ( ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) ) ) + // InternalGeneratorDSL.g:4577:1: ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) ) + { + // InternalGeneratorDSL.g:4577:1: ( ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) ) + // InternalGeneratorDSL.g:4578:2: ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) + { + before(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAssignment_0()); + // InternalGeneratorDSL.g:4579:2: ( rule__ComparisonExpressionRule__LeftOperandAssignment_0 ) + // InternalGeneratorDSL.g:4579:3: rule__ComparisonExpressionRule__LeftOperandAssignment_0 + { + pushFollow(FOLLOW_2); + rule__ComparisonExpressionRule__LeftOperandAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpressionRule__Group__0__Impl" + + + // $ANTLR start "rule__ComparisonExpressionRule__Group__1" + // InternalGeneratorDSL.g:4587:1: rule__ComparisonExpressionRule__Group__1 : rule__ComparisonExpressionRule__Group__1__Impl ; + public final void rule__ComparisonExpressionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4591:1: ( rule__ComparisonExpressionRule__Group__1__Impl ) + // InternalGeneratorDSL.g:4592:2: rule__ComparisonExpressionRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__ComparisonExpressionRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpressionRule__Group__1" + + + // $ANTLR start "rule__ComparisonExpressionRule__Group__1__Impl" + // InternalGeneratorDSL.g:4598:1: rule__ComparisonExpressionRule__Group__1__Impl : ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* ) ; + public final void rule__ComparisonExpressionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4602:1: ( ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* ) ) + // InternalGeneratorDSL.g:4603:1: ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* ) + { + // InternalGeneratorDSL.g:4603:1: ( ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* ) + // InternalGeneratorDSL.g:4604:2: ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* + { + before(grammarAccess.getComparisonExpressionRuleAccess().getComparisonAssignment_1()); + // InternalGeneratorDSL.g:4605:2: ( rule__ComparisonExpressionRule__ComparisonAssignment_1 )* + loop33: + do { + int alt33=2; + int LA33_0 = input.LA(1); + + if ( ((LA33_0>=13 && LA33_0<=18)) ) { + alt33=1; + } + + + switch (alt33) { + case 1 : + // InternalGeneratorDSL.g:4605:3: rule__ComparisonExpressionRule__ComparisonAssignment_1 + { + pushFollow(FOLLOW_50); + rule__ComparisonExpressionRule__ComparisonAssignment_1(); + + state._fsp--; + + + } + break; + + default : + break loop33; + } + } while (true); + + after(grammarAccess.getComparisonExpressionRuleAccess().getComparisonAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpressionRule__Group__1__Impl" + + + // $ANTLR start "rule__PartialComparisonExpressionRule__Group__0" + // InternalGeneratorDSL.g:4614:1: rule__PartialComparisonExpressionRule__Group__0 : rule__PartialComparisonExpressionRule__Group__0__Impl rule__PartialComparisonExpressionRule__Group__1 ; + public final void rule__PartialComparisonExpressionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4618:1: ( rule__PartialComparisonExpressionRule__Group__0__Impl rule__PartialComparisonExpressionRule__Group__1 ) + // InternalGeneratorDSL.g:4619:2: rule__PartialComparisonExpressionRule__Group__0__Impl rule__PartialComparisonExpressionRule__Group__1 + { + pushFollow(FOLLOW_44); + rule__PartialComparisonExpressionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__PartialComparisonExpressionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PartialComparisonExpressionRule__Group__0" + + + // $ANTLR start "rule__PartialComparisonExpressionRule__Group__0__Impl" + // InternalGeneratorDSL.g:4626:1: rule__PartialComparisonExpressionRule__Group__0__Impl : ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) ) ; + public final void rule__PartialComparisonExpressionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4630:1: ( ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) ) ) + // InternalGeneratorDSL.g:4631:1: ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) ) + { + // InternalGeneratorDSL.g:4631:1: ( ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) ) + // InternalGeneratorDSL.g:4632:2: ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) + { + before(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorAssignment_0()); + // InternalGeneratorDSL.g:4633:2: ( rule__PartialComparisonExpressionRule__OperatorAssignment_0 ) + // InternalGeneratorDSL.g:4633:3: rule__PartialComparisonExpressionRule__OperatorAssignment_0 + { + pushFollow(FOLLOW_2); + rule__PartialComparisonExpressionRule__OperatorAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PartialComparisonExpressionRule__Group__0__Impl" + + + // $ANTLR start "rule__PartialComparisonExpressionRule__Group__1" + // InternalGeneratorDSL.g:4641:1: rule__PartialComparisonExpressionRule__Group__1 : rule__PartialComparisonExpressionRule__Group__1__Impl ; + public final void rule__PartialComparisonExpressionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4645:1: ( rule__PartialComparisonExpressionRule__Group__1__Impl ) + // InternalGeneratorDSL.g:4646:2: rule__PartialComparisonExpressionRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__PartialComparisonExpressionRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PartialComparisonExpressionRule__Group__1" + + + // $ANTLR start "rule__PartialComparisonExpressionRule__Group__1__Impl" + // InternalGeneratorDSL.g:4652:1: rule__PartialComparisonExpressionRule__Group__1__Impl : ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) ) ; + public final void rule__PartialComparisonExpressionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4656:1: ( ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) ) ) + // InternalGeneratorDSL.g:4657:1: ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) ) + { + // InternalGeneratorDSL.g:4657:1: ( ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) ) + // InternalGeneratorDSL.g:4658:2: ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) + { + before(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAssignment_1()); + // InternalGeneratorDSL.g:4659:2: ( rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 ) + // InternalGeneratorDSL.g:4659:3: rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__PartialComparisonExpressionRule__SubExpressionAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PartialComparisonExpressionRule__Group__1__Impl" + + + // $ANTLR start "rule__AddOrSubtractExpressionRule__Group__0" + // InternalGeneratorDSL.g:4668:1: rule__AddOrSubtractExpressionRule__Group__0 : rule__AddOrSubtractExpressionRule__Group__0__Impl rule__AddOrSubtractExpressionRule__Group__1 ; + public final void rule__AddOrSubtractExpressionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4672:1: ( rule__AddOrSubtractExpressionRule__Group__0__Impl rule__AddOrSubtractExpressionRule__Group__1 ) + // InternalGeneratorDSL.g:4673:2: rule__AddOrSubtractExpressionRule__Group__0__Impl rule__AddOrSubtractExpressionRule__Group__1 + { + pushFollow(FOLLOW_51); + rule__AddOrSubtractExpressionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AddOrSubtractExpressionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractExpressionRule__Group__0" + + + // $ANTLR start "rule__AddOrSubtractExpressionRule__Group__0__Impl" + // InternalGeneratorDSL.g:4680:1: rule__AddOrSubtractExpressionRule__Group__0__Impl : ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) ) ; + public final void rule__AddOrSubtractExpressionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4684:1: ( ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) ) ) + // InternalGeneratorDSL.g:4685:1: ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) ) + { + // InternalGeneratorDSL.g:4685:1: ( ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) ) + // InternalGeneratorDSL.g:4686:2: ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) + { + before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandAssignment_0()); + // InternalGeneratorDSL.g:4687:2: ( rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 ) + // InternalGeneratorDSL.g:4687:3: rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 + { + pushFollow(FOLLOW_2); + rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractExpressionRule__Group__0__Impl" + + + // $ANTLR start "rule__AddOrSubtractExpressionRule__Group__1" + // InternalGeneratorDSL.g:4695:1: rule__AddOrSubtractExpressionRule__Group__1 : rule__AddOrSubtractExpressionRule__Group__1__Impl ; + public final void rule__AddOrSubtractExpressionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4699:1: ( rule__AddOrSubtractExpressionRule__Group__1__Impl ) + // InternalGeneratorDSL.g:4700:2: rule__AddOrSubtractExpressionRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__AddOrSubtractExpressionRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractExpressionRule__Group__1" + + + // $ANTLR start "rule__AddOrSubtractExpressionRule__Group__1__Impl" + // InternalGeneratorDSL.g:4706:1: rule__AddOrSubtractExpressionRule__Group__1__Impl : ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* ) ; + public final void rule__AddOrSubtractExpressionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4710:1: ( ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* ) ) + // InternalGeneratorDSL.g:4711:1: ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* ) + { + // InternalGeneratorDSL.g:4711:1: ( ( rule__AddOrSubtractExpressionRule__Group_1__0 )* ) + // InternalGeneratorDSL.g:4712:2: ( rule__AddOrSubtractExpressionRule__Group_1__0 )* + { + before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup_1()); + // InternalGeneratorDSL.g:4713:2: ( rule__AddOrSubtractExpressionRule__Group_1__0 )* + loop34: + do { + int alt34=2; + int LA34_0 = input.LA(1); + + if ( ((LA34_0>=19 && LA34_0<=20)) ) { + alt34=1; + } + + + switch (alt34) { + case 1 : + // InternalGeneratorDSL.g:4713:3: rule__AddOrSubtractExpressionRule__Group_1__0 + { + pushFollow(FOLLOW_52); + rule__AddOrSubtractExpressionRule__Group_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop34; + } + } while (true); + + after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractExpressionRule__Group__1__Impl" + + + // $ANTLR start "rule__AddOrSubtractExpressionRule__Group_1__0" + // InternalGeneratorDSL.g:4722:1: rule__AddOrSubtractExpressionRule__Group_1__0 : rule__AddOrSubtractExpressionRule__Group_1__0__Impl rule__AddOrSubtractExpressionRule__Group_1__1 ; + public final void rule__AddOrSubtractExpressionRule__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4726:1: ( rule__AddOrSubtractExpressionRule__Group_1__0__Impl rule__AddOrSubtractExpressionRule__Group_1__1 ) + // InternalGeneratorDSL.g:4727:2: rule__AddOrSubtractExpressionRule__Group_1__0__Impl rule__AddOrSubtractExpressionRule__Group_1__1 + { + pushFollow(FOLLOW_44); + rule__AddOrSubtractExpressionRule__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__AddOrSubtractExpressionRule__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractExpressionRule__Group_1__0" + + + // $ANTLR start "rule__AddOrSubtractExpressionRule__Group_1__0__Impl" + // InternalGeneratorDSL.g:4734:1: rule__AddOrSubtractExpressionRule__Group_1__0__Impl : ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) ) ; + public final void rule__AddOrSubtractExpressionRule__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4738:1: ( ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) ) ) + // InternalGeneratorDSL.g:4739:1: ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) ) + { + // InternalGeneratorDSL.g:4739:1: ( ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) ) + // InternalGeneratorDSL.g:4740:2: ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) + { + before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_1_0()); + // InternalGeneratorDSL.g:4741:2: ( rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 ) + // InternalGeneratorDSL.g:4741:3: rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0(); + + state._fsp--; + + + } + + after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractExpressionRule__Group_1__0__Impl" + + + // $ANTLR start "rule__AddOrSubtractExpressionRule__Group_1__1" + // InternalGeneratorDSL.g:4749:1: rule__AddOrSubtractExpressionRule__Group_1__1 : rule__AddOrSubtractExpressionRule__Group_1__1__Impl ; + public final void rule__AddOrSubtractExpressionRule__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4753:1: ( rule__AddOrSubtractExpressionRule__Group_1__1__Impl ) + // InternalGeneratorDSL.g:4754:2: rule__AddOrSubtractExpressionRule__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__AddOrSubtractExpressionRule__Group_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractExpressionRule__Group_1__1" + + + // $ANTLR start "rule__AddOrSubtractExpressionRule__Group_1__1__Impl" + // InternalGeneratorDSL.g:4760:1: rule__AddOrSubtractExpressionRule__Group_1__1__Impl : ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) ) ; + public final void rule__AddOrSubtractExpressionRule__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4764:1: ( ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) ) ) + // InternalGeneratorDSL.g:4765:1: ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) ) + { + // InternalGeneratorDSL.g:4765:1: ( ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) ) + // InternalGeneratorDSL.g:4766:2: ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) + { + before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsAssignment_1_1()); + // InternalGeneratorDSL.g:4767:2: ( rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 ) + // InternalGeneratorDSL.g:4767:3: rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsAssignment_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractExpressionRule__Group_1__1__Impl" + + + // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group__0" + // InternalGeneratorDSL.g:4776:1: rule__MultiplyDivideModuloExpressionRule__Group__0 : rule__MultiplyDivideModuloExpressionRule__Group__0__Impl rule__MultiplyDivideModuloExpressionRule__Group__1 ; + public final void rule__MultiplyDivideModuloExpressionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4780:1: ( rule__MultiplyDivideModuloExpressionRule__Group__0__Impl rule__MultiplyDivideModuloExpressionRule__Group__1 ) + // InternalGeneratorDSL.g:4781:2: rule__MultiplyDivideModuloExpressionRule__Group__0__Impl rule__MultiplyDivideModuloExpressionRule__Group__1 + { + pushFollow(FOLLOW_53); + rule__MultiplyDivideModuloExpressionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MultiplyDivideModuloExpressionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloExpressionRule__Group__0" + + + // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group__0__Impl" + // InternalGeneratorDSL.g:4788:1: rule__MultiplyDivideModuloExpressionRule__Group__0__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) ) ; + public final void rule__MultiplyDivideModuloExpressionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4792:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) ) ) + // InternalGeneratorDSL.g:4793:1: ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) ) + { + // InternalGeneratorDSL.g:4793:1: ( ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) ) + // InternalGeneratorDSL.g:4794:2: ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) + { + before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandAssignment_0()); + // InternalGeneratorDSL.g:4795:2: ( rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 ) + // InternalGeneratorDSL.g:4795:3: rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 + { + pushFollow(FOLLOW_2); + rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloExpressionRule__Group__0__Impl" + + + // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group__1" + // InternalGeneratorDSL.g:4803:1: rule__MultiplyDivideModuloExpressionRule__Group__1 : rule__MultiplyDivideModuloExpressionRule__Group__1__Impl ; + public final void rule__MultiplyDivideModuloExpressionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4807:1: ( rule__MultiplyDivideModuloExpressionRule__Group__1__Impl ) + // InternalGeneratorDSL.g:4808:2: rule__MultiplyDivideModuloExpressionRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__MultiplyDivideModuloExpressionRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloExpressionRule__Group__1" + + + // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group__1__Impl" + // InternalGeneratorDSL.g:4814:1: rule__MultiplyDivideModuloExpressionRule__Group__1__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* ) ; + public final void rule__MultiplyDivideModuloExpressionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4818:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* ) ) + // InternalGeneratorDSL.g:4819:1: ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* ) + { + // InternalGeneratorDSL.g:4819:1: ( ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* ) + // InternalGeneratorDSL.g:4820:2: ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* + { + before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup_1()); + // InternalGeneratorDSL.g:4821:2: ( rule__MultiplyDivideModuloExpressionRule__Group_1__0 )* + loop35: + do { + int alt35=2; + int LA35_0 = input.LA(1); + + if ( ((LA35_0>=21 && LA35_0<=23)) ) { + alt35=1; + } + + + switch (alt35) { + case 1 : + // InternalGeneratorDSL.g:4821:3: rule__MultiplyDivideModuloExpressionRule__Group_1__0 + { + pushFollow(FOLLOW_54); + rule__MultiplyDivideModuloExpressionRule__Group_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop35; + } + } while (true); + + after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloExpressionRule__Group__1__Impl" + + + // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group_1__0" + // InternalGeneratorDSL.g:4830:1: rule__MultiplyDivideModuloExpressionRule__Group_1__0 : rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl rule__MultiplyDivideModuloExpressionRule__Group_1__1 ; + public final void rule__MultiplyDivideModuloExpressionRule__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4834:1: ( rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl rule__MultiplyDivideModuloExpressionRule__Group_1__1 ) + // InternalGeneratorDSL.g:4835:2: rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl rule__MultiplyDivideModuloExpressionRule__Group_1__1 + { + pushFollow(FOLLOW_44); + rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__MultiplyDivideModuloExpressionRule__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloExpressionRule__Group_1__0" + + + // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl" + // InternalGeneratorDSL.g:4842:1: rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) ) ; + public final void rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4846:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) ) ) + // InternalGeneratorDSL.g:4847:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) ) + { + // InternalGeneratorDSL.g:4847:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) ) + // InternalGeneratorDSL.g:4848:2: ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) + { + before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsAssignment_1_0()); + // InternalGeneratorDSL.g:4849:2: ( rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 ) + // InternalGeneratorDSL.g:4849:3: rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 + { + pushFollow(FOLLOW_2); + rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0(); + + state._fsp--; + + + } + + after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsAssignment_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloExpressionRule__Group_1__0__Impl" + + + // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group_1__1" + // InternalGeneratorDSL.g:4857:1: rule__MultiplyDivideModuloExpressionRule__Group_1__1 : rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl ; + public final void rule__MultiplyDivideModuloExpressionRule__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4861:1: ( rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl ) + // InternalGeneratorDSL.g:4862:2: rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloExpressionRule__Group_1__1" + + + // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl" + // InternalGeneratorDSL.g:4868:1: rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl : ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) ) ; + public final void rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4872:1: ( ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) ) ) + // InternalGeneratorDSL.g:4873:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) ) + { + // InternalGeneratorDSL.g:4873:1: ( ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) ) + // InternalGeneratorDSL.g:4874:2: ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) + { + before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsAssignment_1_1()); + // InternalGeneratorDSL.g:4875:2: ( rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 ) + // InternalGeneratorDSL.g:4875:3: rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsAssignment_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloExpressionRule__Group_1__1__Impl" + + + // $ANTLR start "rule__PowerOfExpressionRule__Group__0" + // InternalGeneratorDSL.g:4884:1: rule__PowerOfExpressionRule__Group__0 : rule__PowerOfExpressionRule__Group__0__Impl rule__PowerOfExpressionRule__Group__1 ; + public final void rule__PowerOfExpressionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4888:1: ( rule__PowerOfExpressionRule__Group__0__Impl rule__PowerOfExpressionRule__Group__1 ) + // InternalGeneratorDSL.g:4889:2: rule__PowerOfExpressionRule__Group__0__Impl rule__PowerOfExpressionRule__Group__1 + { + pushFollow(FOLLOW_55); + rule__PowerOfExpressionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__PowerOfExpressionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PowerOfExpressionRule__Group__0" + + + // $ANTLR start "rule__PowerOfExpressionRule__Group__0__Impl" + // InternalGeneratorDSL.g:4896:1: rule__PowerOfExpressionRule__Group__0__Impl : ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) ) ; + public final void rule__PowerOfExpressionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4900:1: ( ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) ) ) + // InternalGeneratorDSL.g:4901:1: ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) ) + { + // InternalGeneratorDSL.g:4901:1: ( ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) ) + // InternalGeneratorDSL.g:4902:2: ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) + { + before(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandAssignment_0()); + // InternalGeneratorDSL.g:4903:2: ( rule__PowerOfExpressionRule__LeftOperandAssignment_0 ) + // InternalGeneratorDSL.g:4903:3: rule__PowerOfExpressionRule__LeftOperandAssignment_0 + { + pushFollow(FOLLOW_2); + rule__PowerOfExpressionRule__LeftOperandAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PowerOfExpressionRule__Group__0__Impl" + + + // $ANTLR start "rule__PowerOfExpressionRule__Group__1" + // InternalGeneratorDSL.g:4911:1: rule__PowerOfExpressionRule__Group__1 : rule__PowerOfExpressionRule__Group__1__Impl ; + public final void rule__PowerOfExpressionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4915:1: ( rule__PowerOfExpressionRule__Group__1__Impl ) + // InternalGeneratorDSL.g:4916:2: rule__PowerOfExpressionRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__PowerOfExpressionRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PowerOfExpressionRule__Group__1" + + + // $ANTLR start "rule__PowerOfExpressionRule__Group__1__Impl" + // InternalGeneratorDSL.g:4922:1: rule__PowerOfExpressionRule__Group__1__Impl : ( ( rule__PowerOfExpressionRule__Group_1__0 )? ) ; + public final void rule__PowerOfExpressionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4926:1: ( ( ( rule__PowerOfExpressionRule__Group_1__0 )? ) ) + // InternalGeneratorDSL.g:4927:1: ( ( rule__PowerOfExpressionRule__Group_1__0 )? ) + { + // InternalGeneratorDSL.g:4927:1: ( ( rule__PowerOfExpressionRule__Group_1__0 )? ) + // InternalGeneratorDSL.g:4928:2: ( rule__PowerOfExpressionRule__Group_1__0 )? + { + before(grammarAccess.getPowerOfExpressionRuleAccess().getGroup_1()); + // InternalGeneratorDSL.g:4929:2: ( rule__PowerOfExpressionRule__Group_1__0 )? + int alt36=2; + int LA36_0 = input.LA(1); + + if ( (LA36_0==53) ) { + alt36=1; + } + switch (alt36) { + case 1 : + // InternalGeneratorDSL.g:4929:3: rule__PowerOfExpressionRule__Group_1__0 + { + pushFollow(FOLLOW_2); + rule__PowerOfExpressionRule__Group_1__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getPowerOfExpressionRuleAccess().getGroup_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PowerOfExpressionRule__Group__1__Impl" + + + // $ANTLR start "rule__PowerOfExpressionRule__Group_1__0" + // InternalGeneratorDSL.g:4938:1: rule__PowerOfExpressionRule__Group_1__0 : rule__PowerOfExpressionRule__Group_1__0__Impl rule__PowerOfExpressionRule__Group_1__1 ; + public final void rule__PowerOfExpressionRule__Group_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4942:1: ( rule__PowerOfExpressionRule__Group_1__0__Impl rule__PowerOfExpressionRule__Group_1__1 ) + // InternalGeneratorDSL.g:4943:2: rule__PowerOfExpressionRule__Group_1__0__Impl rule__PowerOfExpressionRule__Group_1__1 + { + pushFollow(FOLLOW_44); + rule__PowerOfExpressionRule__Group_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__PowerOfExpressionRule__Group_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PowerOfExpressionRule__Group_1__0" + + + // $ANTLR start "rule__PowerOfExpressionRule__Group_1__0__Impl" + // InternalGeneratorDSL.g:4950:1: rule__PowerOfExpressionRule__Group_1__0__Impl : ( '^' ) ; + public final void rule__PowerOfExpressionRule__Group_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4954:1: ( ( '^' ) ) + // InternalGeneratorDSL.g:4955:1: ( '^' ) + { + // InternalGeneratorDSL.g:4955:1: ( '^' ) + // InternalGeneratorDSL.g:4956:2: '^' + { + before(grammarAccess.getPowerOfExpressionRuleAccess().getCircumflexAccentKeyword_1_0()); + match(input,53,FOLLOW_2); + after(grammarAccess.getPowerOfExpressionRuleAccess().getCircumflexAccentKeyword_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PowerOfExpressionRule__Group_1__0__Impl" + + + // $ANTLR start "rule__PowerOfExpressionRule__Group_1__1" + // InternalGeneratorDSL.g:4965:1: rule__PowerOfExpressionRule__Group_1__1 : rule__PowerOfExpressionRule__Group_1__1__Impl ; + public final void rule__PowerOfExpressionRule__Group_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4969:1: ( rule__PowerOfExpressionRule__Group_1__1__Impl ) + // InternalGeneratorDSL.g:4970:2: rule__PowerOfExpressionRule__Group_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__PowerOfExpressionRule__Group_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PowerOfExpressionRule__Group_1__1" + + + // $ANTLR start "rule__PowerOfExpressionRule__Group_1__1__Impl" + // InternalGeneratorDSL.g:4976:1: rule__PowerOfExpressionRule__Group_1__1__Impl : ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) ) ; + public final void rule__PowerOfExpressionRule__Group_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4980:1: ( ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) ) ) + // InternalGeneratorDSL.g:4981:1: ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) ) + { + // InternalGeneratorDSL.g:4981:1: ( ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) ) + // InternalGeneratorDSL.g:4982:2: ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) + { + before(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandAssignment_1_1()); + // InternalGeneratorDSL.g:4983:2: ( rule__PowerOfExpressionRule__RightOperandAssignment_1_1 ) + // InternalGeneratorDSL.g:4983:3: rule__PowerOfExpressionRule__RightOperandAssignment_1_1 + { + pushFollow(FOLLOW_2); + rule__PowerOfExpressionRule__RightOperandAssignment_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandAssignment_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PowerOfExpressionRule__Group_1__1__Impl" + + + // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__Group__0" + // InternalGeneratorDSL.g:4992:1: rule__UnaryAddOrSubtractExpressionRule__Group__0 : rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl rule__UnaryAddOrSubtractExpressionRule__Group__1 ; + public final void rule__UnaryAddOrSubtractExpressionRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:4996:1: ( rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl rule__UnaryAddOrSubtractExpressionRule__Group__1 ) + // InternalGeneratorDSL.g:4997:2: rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl rule__UnaryAddOrSubtractExpressionRule__Group__1 + { + pushFollow(FOLLOW_44); + rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__UnaryAddOrSubtractExpressionRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryAddOrSubtractExpressionRule__Group__0" + + + // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl" + // InternalGeneratorDSL.g:5004:1: rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl : ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* ) ; + public final void rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5008:1: ( ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* ) ) + // InternalGeneratorDSL.g:5009:1: ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* ) + { + // InternalGeneratorDSL.g:5009:1: ( ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* ) + // InternalGeneratorDSL.g:5010:2: ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* + { + before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_0()); + // InternalGeneratorDSL.g:5011:2: ( rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 )* + loop37: + do { + int alt37=2; + int LA37_0 = input.LA(1); + + if ( ((LA37_0>=19 && LA37_0<=20)) ) { + alt37=1; + } + + + switch (alt37) { + case 1 : + // InternalGeneratorDSL.g:5011:3: rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 + { + pushFollow(FOLLOW_52); + rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0(); + + state._fsp--; + + + } + break; + + default : + break loop37; + } + } while (true); + + after(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryAddOrSubtractExpressionRule__Group__0__Impl" + + + // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__Group__1" + // InternalGeneratorDSL.g:5019:1: rule__UnaryAddOrSubtractExpressionRule__Group__1 : rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl ; + public final void rule__UnaryAddOrSubtractExpressionRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5023:1: ( rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl ) + // InternalGeneratorDSL.g:5024:2: rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryAddOrSubtractExpressionRule__Group__1" + + + // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl" + // InternalGeneratorDSL.g:5030:1: rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl : ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) ) ; + public final void rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5034:1: ( ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) ) ) + // InternalGeneratorDSL.g:5035:1: ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) ) + { + // InternalGeneratorDSL.g:5035:1: ( ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) ) + // InternalGeneratorDSL.g:5036:2: ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) + { + before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionAssignment_1()); + // InternalGeneratorDSL.g:5037:2: ( rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 ) + // InternalGeneratorDSL.g:5037:3: rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryAddOrSubtractExpressionRule__Group__1__Impl" + + + // $ANTLR start "rule__ParanthesesRule__Group__0" + // InternalGeneratorDSL.g:5046:1: rule__ParanthesesRule__Group__0 : rule__ParanthesesRule__Group__0__Impl rule__ParanthesesRule__Group__1 ; + public final void rule__ParanthesesRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5050:1: ( rule__ParanthesesRule__Group__0__Impl rule__ParanthesesRule__Group__1 ) + // InternalGeneratorDSL.g:5051:2: rule__ParanthesesRule__Group__0__Impl rule__ParanthesesRule__Group__1 + { + pushFollow(FOLLOW_44); + rule__ParanthesesRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ParanthesesRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesesRule__Group__0" + + + // $ANTLR start "rule__ParanthesesRule__Group__0__Impl" + // InternalGeneratorDSL.g:5058:1: rule__ParanthesesRule__Group__0__Impl : ( '(' ) ; + public final void rule__ParanthesesRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5062:1: ( ( '(' ) ) + // InternalGeneratorDSL.g:5063:1: ( '(' ) + { + // InternalGeneratorDSL.g:5063:1: ( '(' ) + // InternalGeneratorDSL.g:5064:2: '(' + { + before(grammarAccess.getParanthesesRuleAccess().getLeftParenthesisKeyword_0()); + match(input,54,FOLLOW_2); + after(grammarAccess.getParanthesesRuleAccess().getLeftParenthesisKeyword_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesesRule__Group__0__Impl" + + + // $ANTLR start "rule__ParanthesesRule__Group__1" + // InternalGeneratorDSL.g:5073:1: rule__ParanthesesRule__Group__1 : rule__ParanthesesRule__Group__1__Impl rule__ParanthesesRule__Group__2 ; + public final void rule__ParanthesesRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5077:1: ( rule__ParanthesesRule__Group__1__Impl rule__ParanthesesRule__Group__2 ) + // InternalGeneratorDSL.g:5078:2: rule__ParanthesesRule__Group__1__Impl rule__ParanthesesRule__Group__2 + { + pushFollow(FOLLOW_56); + rule__ParanthesesRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ParanthesesRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesesRule__Group__1" + + + // $ANTLR start "rule__ParanthesesRule__Group__1__Impl" + // InternalGeneratorDSL.g:5085:1: rule__ParanthesesRule__Group__1__Impl : ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) ) ; + public final void rule__ParanthesesRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5089:1: ( ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) ) ) + // InternalGeneratorDSL.g:5090:1: ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) ) + { + // InternalGeneratorDSL.g:5090:1: ( ( rule__ParanthesesRule__SubExpressionAssignment_1 ) ) + // InternalGeneratorDSL.g:5091:2: ( rule__ParanthesesRule__SubExpressionAssignment_1 ) + { + before(grammarAccess.getParanthesesRuleAccess().getSubExpressionAssignment_1()); + // InternalGeneratorDSL.g:5092:2: ( rule__ParanthesesRule__SubExpressionAssignment_1 ) + // InternalGeneratorDSL.g:5092:3: rule__ParanthesesRule__SubExpressionAssignment_1 + { + pushFollow(FOLLOW_2); + rule__ParanthesesRule__SubExpressionAssignment_1(); + + state._fsp--; + + + } + + after(grammarAccess.getParanthesesRuleAccess().getSubExpressionAssignment_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesesRule__Group__1__Impl" + + + // $ANTLR start "rule__ParanthesesRule__Group__2" + // InternalGeneratorDSL.g:5100:1: rule__ParanthesesRule__Group__2 : rule__ParanthesesRule__Group__2__Impl ; + public final void rule__ParanthesesRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5104:1: ( rule__ParanthesesRule__Group__2__Impl ) + // InternalGeneratorDSL.g:5105:2: rule__ParanthesesRule__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__ParanthesesRule__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesesRule__Group__2" + + + // $ANTLR start "rule__ParanthesesRule__Group__2__Impl" + // InternalGeneratorDSL.g:5111:1: rule__ParanthesesRule__Group__2__Impl : ( ')' ) ; + public final void rule__ParanthesesRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5115:1: ( ( ')' ) ) + // InternalGeneratorDSL.g:5116:1: ( ')' ) + { + // InternalGeneratorDSL.g:5116:1: ( ')' ) + // InternalGeneratorDSL.g:5117:2: ')' + { + before(grammarAccess.getParanthesesRuleAccess().getRightParenthesisKeyword_2()); + match(input,55,FOLLOW_2); + after(grammarAccess.getParanthesesRuleAccess().getRightParenthesisKeyword_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesesRule__Group__2__Impl" + + + // $ANTLR start "rule__CallRule__Group__0" + // InternalGeneratorDSL.g:5127:1: rule__CallRule__Group__0 : rule__CallRule__Group__0__Impl rule__CallRule__Group__1 ; + public final void rule__CallRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5131:1: ( rule__CallRule__Group__0__Impl rule__CallRule__Group__1 ) + // InternalGeneratorDSL.g:5132:2: rule__CallRule__Group__0__Impl rule__CallRule__Group__1 + { + pushFollow(FOLLOW_57); + rule__CallRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CallRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group__0" + + + // $ANTLR start "rule__CallRule__Group__0__Impl" + // InternalGeneratorDSL.g:5139:1: rule__CallRule__Group__0__Impl : ( ( rule__CallRule__FunctionAssignment_0 ) ) ; + public final void rule__CallRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5143:1: ( ( ( rule__CallRule__FunctionAssignment_0 ) ) ) + // InternalGeneratorDSL.g:5144:1: ( ( rule__CallRule__FunctionAssignment_0 ) ) + { + // InternalGeneratorDSL.g:5144:1: ( ( rule__CallRule__FunctionAssignment_0 ) ) + // InternalGeneratorDSL.g:5145:2: ( rule__CallRule__FunctionAssignment_0 ) + { + before(grammarAccess.getCallRuleAccess().getFunctionAssignment_0()); + // InternalGeneratorDSL.g:5146:2: ( rule__CallRule__FunctionAssignment_0 ) + // InternalGeneratorDSL.g:5146:3: rule__CallRule__FunctionAssignment_0 + { + pushFollow(FOLLOW_2); + rule__CallRule__FunctionAssignment_0(); + + state._fsp--; + + + } + + after(grammarAccess.getCallRuleAccess().getFunctionAssignment_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group__0__Impl" + + + // $ANTLR start "rule__CallRule__Group__1" + // InternalGeneratorDSL.g:5154:1: rule__CallRule__Group__1 : rule__CallRule__Group__1__Impl rule__CallRule__Group__2 ; + public final void rule__CallRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5158:1: ( rule__CallRule__Group__1__Impl rule__CallRule__Group__2 ) + // InternalGeneratorDSL.g:5159:2: rule__CallRule__Group__1__Impl rule__CallRule__Group__2 + { + pushFollow(FOLLOW_58); + rule__CallRule__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CallRule__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group__1" + + + // $ANTLR start "rule__CallRule__Group__1__Impl" + // InternalGeneratorDSL.g:5166:1: rule__CallRule__Group__1__Impl : ( '(' ) ; + public final void rule__CallRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5170:1: ( ( '(' ) ) + // InternalGeneratorDSL.g:5171:1: ( '(' ) + { + // InternalGeneratorDSL.g:5171:1: ( '(' ) + // InternalGeneratorDSL.g:5172:2: '(' + { + before(grammarAccess.getCallRuleAccess().getLeftParenthesisKeyword_1()); + match(input,54,FOLLOW_2); + after(grammarAccess.getCallRuleAccess().getLeftParenthesisKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group__1__Impl" + + + // $ANTLR start "rule__CallRule__Group__2" + // InternalGeneratorDSL.g:5181:1: rule__CallRule__Group__2 : rule__CallRule__Group__2__Impl rule__CallRule__Group__3 ; + public final void rule__CallRule__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5185:1: ( rule__CallRule__Group__2__Impl rule__CallRule__Group__3 ) + // InternalGeneratorDSL.g:5186:2: rule__CallRule__Group__2__Impl rule__CallRule__Group__3 + { + pushFollow(FOLLOW_58); + rule__CallRule__Group__2__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CallRule__Group__3(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group__2" + + + // $ANTLR start "rule__CallRule__Group__2__Impl" + // InternalGeneratorDSL.g:5193:1: rule__CallRule__Group__2__Impl : ( ( rule__CallRule__Group_2__0 )? ) ; + public final void rule__CallRule__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5197:1: ( ( ( rule__CallRule__Group_2__0 )? ) ) + // InternalGeneratorDSL.g:5198:1: ( ( rule__CallRule__Group_2__0 )? ) + { + // InternalGeneratorDSL.g:5198:1: ( ( rule__CallRule__Group_2__0 )? ) + // InternalGeneratorDSL.g:5199:2: ( rule__CallRule__Group_2__0 )? + { + before(grammarAccess.getCallRuleAccess().getGroup_2()); + // InternalGeneratorDSL.g:5200:2: ( rule__CallRule__Group_2__0 )? + int alt38=2; + int LA38_0 = input.LA(1); + + if ( ((LA38_0>=RULE_INT && LA38_0<=RULE_STRING)||LA38_0==12||(LA38_0>=19 && LA38_0<=20)||LA38_0==54||(LA38_0>=56 && LA38_0<=57)||(LA38_0>=59 && LA38_0<=60)) ) { + alt38=1; + } + switch (alt38) { + case 1 : + // InternalGeneratorDSL.g:5200:3: rule__CallRule__Group_2__0 + { + pushFollow(FOLLOW_2); + rule__CallRule__Group_2__0(); + + state._fsp--; + + + } + break; + + } + + after(grammarAccess.getCallRuleAccess().getGroup_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group__2__Impl" + + + // $ANTLR start "rule__CallRule__Group__3" + // InternalGeneratorDSL.g:5208:1: rule__CallRule__Group__3 : rule__CallRule__Group__3__Impl ; + public final void rule__CallRule__Group__3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5212:1: ( rule__CallRule__Group__3__Impl ) + // InternalGeneratorDSL.g:5213:2: rule__CallRule__Group__3__Impl + { + pushFollow(FOLLOW_2); + rule__CallRule__Group__3__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group__3" + + + // $ANTLR start "rule__CallRule__Group__3__Impl" + // InternalGeneratorDSL.g:5219:1: rule__CallRule__Group__3__Impl : ( ')' ) ; + public final void rule__CallRule__Group__3__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5223:1: ( ( ')' ) ) + // InternalGeneratorDSL.g:5224:1: ( ')' ) + { + // InternalGeneratorDSL.g:5224:1: ( ')' ) + // InternalGeneratorDSL.g:5225:2: ')' + { + before(grammarAccess.getCallRuleAccess().getRightParenthesisKeyword_3()); + match(input,55,FOLLOW_2); + after(grammarAccess.getCallRuleAccess().getRightParenthesisKeyword_3()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group__3__Impl" + + + // $ANTLR start "rule__CallRule__Group_2__0" + // InternalGeneratorDSL.g:5235:1: rule__CallRule__Group_2__0 : rule__CallRule__Group_2__0__Impl rule__CallRule__Group_2__1 ; + public final void rule__CallRule__Group_2__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5239:1: ( rule__CallRule__Group_2__0__Impl rule__CallRule__Group_2__1 ) + // InternalGeneratorDSL.g:5240:2: rule__CallRule__Group_2__0__Impl rule__CallRule__Group_2__1 + { + pushFollow(FOLLOW_40); + rule__CallRule__Group_2__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CallRule__Group_2__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group_2__0" + + + // $ANTLR start "rule__CallRule__Group_2__0__Impl" + // InternalGeneratorDSL.g:5247:1: rule__CallRule__Group_2__0__Impl : ( ( rule__CallRule__ParametersAssignment_2_0 ) ) ; + public final void rule__CallRule__Group_2__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5251:1: ( ( ( rule__CallRule__ParametersAssignment_2_0 ) ) ) + // InternalGeneratorDSL.g:5252:1: ( ( rule__CallRule__ParametersAssignment_2_0 ) ) + { + // InternalGeneratorDSL.g:5252:1: ( ( rule__CallRule__ParametersAssignment_2_0 ) ) + // InternalGeneratorDSL.g:5253:2: ( rule__CallRule__ParametersAssignment_2_0 ) + { + before(grammarAccess.getCallRuleAccess().getParametersAssignment_2_0()); + // InternalGeneratorDSL.g:5254:2: ( rule__CallRule__ParametersAssignment_2_0 ) + // InternalGeneratorDSL.g:5254:3: rule__CallRule__ParametersAssignment_2_0 + { + pushFollow(FOLLOW_2); + rule__CallRule__ParametersAssignment_2_0(); + + state._fsp--; + + + } + + after(grammarAccess.getCallRuleAccess().getParametersAssignment_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group_2__0__Impl" + + + // $ANTLR start "rule__CallRule__Group_2__1" + // InternalGeneratorDSL.g:5262:1: rule__CallRule__Group_2__1 : rule__CallRule__Group_2__1__Impl ; + public final void rule__CallRule__Group_2__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5266:1: ( rule__CallRule__Group_2__1__Impl ) + // InternalGeneratorDSL.g:5267:2: rule__CallRule__Group_2__1__Impl + { + pushFollow(FOLLOW_2); + rule__CallRule__Group_2__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group_2__1" + + + // $ANTLR start "rule__CallRule__Group_2__1__Impl" + // InternalGeneratorDSL.g:5273:1: rule__CallRule__Group_2__1__Impl : ( ( rule__CallRule__Group_2_1__0 )* ) ; + public final void rule__CallRule__Group_2__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5277:1: ( ( ( rule__CallRule__Group_2_1__0 )* ) ) + // InternalGeneratorDSL.g:5278:1: ( ( rule__CallRule__Group_2_1__0 )* ) + { + // InternalGeneratorDSL.g:5278:1: ( ( rule__CallRule__Group_2_1__0 )* ) + // InternalGeneratorDSL.g:5279:2: ( rule__CallRule__Group_2_1__0 )* + { + before(grammarAccess.getCallRuleAccess().getGroup_2_1()); + // InternalGeneratorDSL.g:5280:2: ( rule__CallRule__Group_2_1__0 )* + loop39: + do { + int alt39=2; + int LA39_0 = input.LA(1); + + if ( (LA39_0==37) ) { + alt39=1; + } + + + switch (alt39) { + case 1 : + // InternalGeneratorDSL.g:5280:3: rule__CallRule__Group_2_1__0 + { + pushFollow(FOLLOW_24); + rule__CallRule__Group_2_1__0(); + + state._fsp--; + + + } + break; + + default : + break loop39; + } + } while (true); + + after(grammarAccess.getCallRuleAccess().getGroup_2_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group_2__1__Impl" + + + // $ANTLR start "rule__CallRule__Group_2_1__0" + // InternalGeneratorDSL.g:5289:1: rule__CallRule__Group_2_1__0 : rule__CallRule__Group_2_1__0__Impl rule__CallRule__Group_2_1__1 ; + public final void rule__CallRule__Group_2_1__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5293:1: ( rule__CallRule__Group_2_1__0__Impl rule__CallRule__Group_2_1__1 ) + // InternalGeneratorDSL.g:5294:2: rule__CallRule__Group_2_1__0__Impl rule__CallRule__Group_2_1__1 + { + pushFollow(FOLLOW_44); + rule__CallRule__Group_2_1__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__CallRule__Group_2_1__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group_2_1__0" + + + // $ANTLR start "rule__CallRule__Group_2_1__0__Impl" + // InternalGeneratorDSL.g:5301:1: rule__CallRule__Group_2_1__0__Impl : ( ',' ) ; + public final void rule__CallRule__Group_2_1__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5305:1: ( ( ',' ) ) + // InternalGeneratorDSL.g:5306:1: ( ',' ) + { + // InternalGeneratorDSL.g:5306:1: ( ',' ) + // InternalGeneratorDSL.g:5307:2: ',' + { + before(grammarAccess.getCallRuleAccess().getCommaKeyword_2_1_0()); + match(input,37,FOLLOW_2); + after(grammarAccess.getCallRuleAccess().getCommaKeyword_2_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group_2_1__0__Impl" + + + // $ANTLR start "rule__CallRule__Group_2_1__1" + // InternalGeneratorDSL.g:5316:1: rule__CallRule__Group_2_1__1 : rule__CallRule__Group_2_1__1__Impl ; + public final void rule__CallRule__Group_2_1__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5320:1: ( rule__CallRule__Group_2_1__1__Impl ) + // InternalGeneratorDSL.g:5321:2: rule__CallRule__Group_2_1__1__Impl + { + pushFollow(FOLLOW_2); + rule__CallRule__Group_2_1__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group_2_1__1" + + + // $ANTLR start "rule__CallRule__Group_2_1__1__Impl" + // InternalGeneratorDSL.g:5327:1: rule__CallRule__Group_2_1__1__Impl : ( ( rule__CallRule__ParametersAssignment_2_1_1 ) ) ; + public final void rule__CallRule__Group_2_1__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5331:1: ( ( ( rule__CallRule__ParametersAssignment_2_1_1 ) ) ) + // InternalGeneratorDSL.g:5332:1: ( ( rule__CallRule__ParametersAssignment_2_1_1 ) ) + { + // InternalGeneratorDSL.g:5332:1: ( ( rule__CallRule__ParametersAssignment_2_1_1 ) ) + // InternalGeneratorDSL.g:5333:2: ( rule__CallRule__ParametersAssignment_2_1_1 ) + { + before(grammarAccess.getCallRuleAccess().getParametersAssignment_2_1_1()); + // InternalGeneratorDSL.g:5334:2: ( rule__CallRule__ParametersAssignment_2_1_1 ) + // InternalGeneratorDSL.g:5334:3: rule__CallRule__ParametersAssignment_2_1_1 + { + pushFollow(FOLLOW_2); + rule__CallRule__ParametersAssignment_2_1_1(); + + state._fsp--; + + + } + + after(grammarAccess.getCallRuleAccess().getParametersAssignment_2_1_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__Group_2_1__1__Impl" + + + // $ANTLR start "rule__FunctionNameRule__Group__0" + // InternalGeneratorDSL.g:5343:1: rule__FunctionNameRule__Group__0 : rule__FunctionNameRule__Group__0__Impl rule__FunctionNameRule__Group__1 ; + public final void rule__FunctionNameRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5347:1: ( rule__FunctionNameRule__Group__0__Impl rule__FunctionNameRule__Group__1 ) + // InternalGeneratorDSL.g:5348:2: rule__FunctionNameRule__Group__0__Impl rule__FunctionNameRule__Group__1 + { + pushFollow(FOLLOW_59); + rule__FunctionNameRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__FunctionNameRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionNameRule__Group__0" + + + // $ANTLR start "rule__FunctionNameRule__Group__0__Impl" + // InternalGeneratorDSL.g:5355:1: rule__FunctionNameRule__Group__0__Impl : ( () ) ; + public final void rule__FunctionNameRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5359:1: ( ( () ) ) + // InternalGeneratorDSL.g:5360:1: ( () ) + { + // InternalGeneratorDSL.g:5360:1: ( () ) + // InternalGeneratorDSL.g:5361:2: () + { + before(grammarAccess.getFunctionNameRuleAccess().getFunctionNameAction_0()); + // InternalGeneratorDSL.g:5362:2: () + // InternalGeneratorDSL.g:5362:3: + { + } + + after(grammarAccess.getFunctionNameRuleAccess().getFunctionNameAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionNameRule__Group__0__Impl" + + + // $ANTLR start "rule__FunctionNameRule__Group__1" + // InternalGeneratorDSL.g:5370:1: rule__FunctionNameRule__Group__1 : rule__FunctionNameRule__Group__1__Impl ; + public final void rule__FunctionNameRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5374:1: ( rule__FunctionNameRule__Group__1__Impl ) + // InternalGeneratorDSL.g:5375:2: rule__FunctionNameRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__FunctionNameRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionNameRule__Group__1" + + + // $ANTLR start "rule__FunctionNameRule__Group__1__Impl" + // InternalGeneratorDSL.g:5381:1: rule__FunctionNameRule__Group__1__Impl : ( 'call' ) ; + public final void rule__FunctionNameRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5385:1: ( ( 'call' ) ) + // InternalGeneratorDSL.g:5386:1: ( 'call' ) + { + // InternalGeneratorDSL.g:5386:1: ( 'call' ) + // InternalGeneratorDSL.g:5387:2: 'call' + { + before(grammarAccess.getFunctionNameRuleAccess().getCallKeyword_1()); + match(input,56,FOLLOW_2); + after(grammarAccess.getFunctionNameRuleAccess().getCallKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionNameRule__Group__1__Impl" + + + // $ANTLR start "rule__ValueReferenceRule__Group__0" + // InternalGeneratorDSL.g:5397:1: rule__ValueReferenceRule__Group__0 : rule__ValueReferenceRule__Group__0__Impl rule__ValueReferenceRule__Group__1 ; + public final void rule__ValueReferenceRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5401:1: ( rule__ValueReferenceRule__Group__0__Impl rule__ValueReferenceRule__Group__1 ) + // InternalGeneratorDSL.g:5402:2: rule__ValueReferenceRule__Group__0__Impl rule__ValueReferenceRule__Group__1 + { + pushFollow(FOLLOW_44); + rule__ValueReferenceRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__ValueReferenceRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ValueReferenceRule__Group__0" + + + // $ANTLR start "rule__ValueReferenceRule__Group__0__Impl" + // InternalGeneratorDSL.g:5409:1: rule__ValueReferenceRule__Group__0__Impl : ( () ) ; + public final void rule__ValueReferenceRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5413:1: ( ( () ) ) + // InternalGeneratorDSL.g:5414:1: ( () ) + { + // InternalGeneratorDSL.g:5414:1: ( () ) + // InternalGeneratorDSL.g:5415:2: () + { + before(grammarAccess.getValueReferenceRuleAccess().getValueReferenceAction_0()); + // InternalGeneratorDSL.g:5416:2: () + // InternalGeneratorDSL.g:5416:3: + { + } + + after(grammarAccess.getValueReferenceRuleAccess().getValueReferenceAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ValueReferenceRule__Group__0__Impl" + + + // $ANTLR start "rule__ValueReferenceRule__Group__1" + // InternalGeneratorDSL.g:5424:1: rule__ValueReferenceRule__Group__1 : rule__ValueReferenceRule__Group__1__Impl ; + public final void rule__ValueReferenceRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5428:1: ( rule__ValueReferenceRule__Group__1__Impl ) + // InternalGeneratorDSL.g:5429:2: rule__ValueReferenceRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__ValueReferenceRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ValueReferenceRule__Group__1" + + + // $ANTLR start "rule__ValueReferenceRule__Group__1__Impl" + // InternalGeneratorDSL.g:5435:1: rule__ValueReferenceRule__Group__1__Impl : ( 'value' ) ; + public final void rule__ValueReferenceRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5439:1: ( ( 'value' ) ) + // InternalGeneratorDSL.g:5440:1: ( 'value' ) + { + // InternalGeneratorDSL.g:5440:1: ( 'value' ) + // InternalGeneratorDSL.g:5441:2: 'value' + { + before(grammarAccess.getValueReferenceRuleAccess().getValueKeyword_1()); + match(input,57,FOLLOW_2); + after(grammarAccess.getValueReferenceRuleAccess().getValueKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ValueReferenceRule__Group__1__Impl" + + + // $ANTLR start "rule__BooleanLiteralRule__Group__0" + // InternalGeneratorDSL.g:5451:1: rule__BooleanLiteralRule__Group__0 : rule__BooleanLiteralRule__Group__0__Impl rule__BooleanLiteralRule__Group__1 ; + public final void rule__BooleanLiteralRule__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5455:1: ( rule__BooleanLiteralRule__Group__0__Impl rule__BooleanLiteralRule__Group__1 ) + // InternalGeneratorDSL.g:5456:2: rule__BooleanLiteralRule__Group__0__Impl rule__BooleanLiteralRule__Group__1 + { + pushFollow(FOLLOW_38); + rule__BooleanLiteralRule__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__BooleanLiteralRule__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteralRule__Group__0" + + + // $ANTLR start "rule__BooleanLiteralRule__Group__0__Impl" + // InternalGeneratorDSL.g:5463:1: rule__BooleanLiteralRule__Group__0__Impl : ( () ) ; + public final void rule__BooleanLiteralRule__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5467:1: ( ( () ) ) + // InternalGeneratorDSL.g:5468:1: ( () ) + { + // InternalGeneratorDSL.g:5468:1: ( () ) + // InternalGeneratorDSL.g:5469:2: () + { + before(grammarAccess.getBooleanLiteralRuleAccess().getBooleanLiteralAction_0()); + // InternalGeneratorDSL.g:5470:2: () + // InternalGeneratorDSL.g:5470:3: + { + } + + after(grammarAccess.getBooleanLiteralRuleAccess().getBooleanLiteralAction_0()); + + } + + + } + + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteralRule__Group__0__Impl" + + + // $ANTLR start "rule__BooleanLiteralRule__Group__1" + // InternalGeneratorDSL.g:5478:1: rule__BooleanLiteralRule__Group__1 : rule__BooleanLiteralRule__Group__1__Impl ; + public final void rule__BooleanLiteralRule__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5482:1: ( rule__BooleanLiteralRule__Group__1__Impl ) + // InternalGeneratorDSL.g:5483:2: rule__BooleanLiteralRule__Group__1__Impl + { + pushFollow(FOLLOW_2); + rule__BooleanLiteralRule__Group__1__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteralRule__Group__1" + + + // $ANTLR start "rule__BooleanLiteralRule__Group__1__Impl" + // InternalGeneratorDSL.g:5489:1: rule__BooleanLiteralRule__Group__1__Impl : ( ( rule__BooleanLiteralRule__Alternatives_1 ) ) ; + public final void rule__BooleanLiteralRule__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5493:1: ( ( ( rule__BooleanLiteralRule__Alternatives_1 ) ) ) + // InternalGeneratorDSL.g:5494:1: ( ( rule__BooleanLiteralRule__Alternatives_1 ) ) + { + // InternalGeneratorDSL.g:5494:1: ( ( rule__BooleanLiteralRule__Alternatives_1 ) ) + // InternalGeneratorDSL.g:5495:2: ( rule__BooleanLiteralRule__Alternatives_1 ) + { + before(grammarAccess.getBooleanLiteralRuleAccess().getAlternatives_1()); + // InternalGeneratorDSL.g:5496:2: ( rule__BooleanLiteralRule__Alternatives_1 ) + // InternalGeneratorDSL.g:5496:3: rule__BooleanLiteralRule__Alternatives_1 + { + pushFollow(FOLLOW_2); + rule__BooleanLiteralRule__Alternatives_1(); + + state._fsp--; + + + } + + after(grammarAccess.getBooleanLiteralRuleAccess().getAlternatives_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteralRule__Group__1__Impl" + + + // $ANTLR start "rule__DOUBLE__Group__0" + // InternalGeneratorDSL.g:5505:1: rule__DOUBLE__Group__0 : rule__DOUBLE__Group__0__Impl rule__DOUBLE__Group__1 ; + public final void rule__DOUBLE__Group__0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5509:1: ( rule__DOUBLE__Group__0__Impl rule__DOUBLE__Group__1 ) + // InternalGeneratorDSL.g:5510:2: rule__DOUBLE__Group__0__Impl rule__DOUBLE__Group__1 + { + pushFollow(FOLLOW_60); + rule__DOUBLE__Group__0__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__DOUBLE__Group__1(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DOUBLE__Group__0" + + + // $ANTLR start "rule__DOUBLE__Group__0__Impl" + // InternalGeneratorDSL.g:5517:1: rule__DOUBLE__Group__0__Impl : ( RULE_INT ) ; + public final void rule__DOUBLE__Group__0__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5521:1: ( ( RULE_INT ) ) + // InternalGeneratorDSL.g:5522:1: ( RULE_INT ) + { + // InternalGeneratorDSL.g:5522:1: ( RULE_INT ) + // InternalGeneratorDSL.g:5523:2: RULE_INT + { + before(grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_0()); + match(input,RULE_INT,FOLLOW_2); + after(grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DOUBLE__Group__0__Impl" + + + // $ANTLR start "rule__DOUBLE__Group__1" + // InternalGeneratorDSL.g:5532:1: rule__DOUBLE__Group__1 : rule__DOUBLE__Group__1__Impl rule__DOUBLE__Group__2 ; + public final void rule__DOUBLE__Group__1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5536:1: ( rule__DOUBLE__Group__1__Impl rule__DOUBLE__Group__2 ) + // InternalGeneratorDSL.g:5537:2: rule__DOUBLE__Group__1__Impl rule__DOUBLE__Group__2 + { + pushFollow(FOLLOW_17); + rule__DOUBLE__Group__1__Impl(); + + state._fsp--; + + pushFollow(FOLLOW_2); + rule__DOUBLE__Group__2(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DOUBLE__Group__1" + + + // $ANTLR start "rule__DOUBLE__Group__1__Impl" + // InternalGeneratorDSL.g:5544:1: rule__DOUBLE__Group__1__Impl : ( '.' ) ; + public final void rule__DOUBLE__Group__1__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5548:1: ( ( '.' ) ) + // InternalGeneratorDSL.g:5549:1: ( '.' ) + { + // InternalGeneratorDSL.g:5549:1: ( '.' ) + // InternalGeneratorDSL.g:5550:2: '.' + { + before(grammarAccess.getDOUBLEAccess().getFullStopKeyword_1()); + match(input,58,FOLLOW_2); + after(grammarAccess.getDOUBLEAccess().getFullStopKeyword_1()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DOUBLE__Group__1__Impl" + + + // $ANTLR start "rule__DOUBLE__Group__2" + // InternalGeneratorDSL.g:5559:1: rule__DOUBLE__Group__2 : rule__DOUBLE__Group__2__Impl ; + public final void rule__DOUBLE__Group__2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5563:1: ( rule__DOUBLE__Group__2__Impl ) + // InternalGeneratorDSL.g:5564:2: rule__DOUBLE__Group__2__Impl + { + pushFollow(FOLLOW_2); + rule__DOUBLE__Group__2__Impl(); + + state._fsp--; + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DOUBLE__Group__2" + + + // $ANTLR start "rule__DOUBLE__Group__2__Impl" + // InternalGeneratorDSL.g:5570:1: rule__DOUBLE__Group__2__Impl : ( RULE_INT ) ; + public final void rule__DOUBLE__Group__2__Impl() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5574:1: ( ( RULE_INT ) ) + // InternalGeneratorDSL.g:5575:1: ( RULE_INT ) + { + // InternalGeneratorDSL.g:5575:1: ( RULE_INT ) + // InternalGeneratorDSL.g:5576:2: RULE_INT + { + before(grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_2()); + match(input,RULE_INT,FOLLOW_2); + after(grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_2()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DOUBLE__Group__2__Impl" + + + // $ANTLR start "rule__ConfigurationRule__UsesAssignment_0" + // InternalGeneratorDSL.g:5586:1: rule__ConfigurationRule__UsesAssignment_0 : ( ruleUseRule ) ; + public final void rule__ConfigurationRule__UsesAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5590:1: ( ( ruleUseRule ) ) + // InternalGeneratorDSL.g:5591:2: ( ruleUseRule ) + { + // InternalGeneratorDSL.g:5591:2: ( ruleUseRule ) + // InternalGeneratorDSL.g:5592:3: ruleUseRule + { + before(grammarAccess.getConfigurationRuleAccess().getUsesUseRuleParserRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleUseRule(); + + state._fsp--; + + after(grammarAccess.getConfigurationRuleAccess().getUsesUseRuleParserRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__UsesAssignment_0" + + + // $ANTLR start "rule__ConfigurationRule__GeneratorsAssignment_1" + // InternalGeneratorDSL.g:5601:1: rule__ConfigurationRule__GeneratorsAssignment_1 : ( ruleGeneratorDefinitionRule ) ; + public final void rule__ConfigurationRule__GeneratorsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5605:1: ( ( ruleGeneratorDefinitionRule ) ) + // InternalGeneratorDSL.g:5606:2: ( ruleGeneratorDefinitionRule ) + { + // InternalGeneratorDSL.g:5606:2: ( ruleGeneratorDefinitionRule ) + // InternalGeneratorDSL.g:5607:3: ruleGeneratorDefinitionRule + { + before(grammarAccess.getConfigurationRuleAccess().getGeneratorsGeneratorDefinitionRuleParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleGeneratorDefinitionRule(); + + state._fsp--; + + after(grammarAccess.getConfigurationRuleAccess().getGeneratorsGeneratorDefinitionRuleParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__GeneratorsAssignment_1" + + + // $ANTLR start "rule__ConfigurationRule__FunctionsAssignment_2" + // InternalGeneratorDSL.g:5616:1: rule__ConfigurationRule__FunctionsAssignment_2 : ( ruleParametrizedFunctionDefinitionRule ) ; + public final void rule__ConfigurationRule__FunctionsAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5620:1: ( ( ruleParametrizedFunctionDefinitionRule ) ) + // InternalGeneratorDSL.g:5621:2: ( ruleParametrizedFunctionDefinitionRule ) + { + // InternalGeneratorDSL.g:5621:2: ( ruleParametrizedFunctionDefinitionRule ) + // InternalGeneratorDSL.g:5622:3: ruleParametrizedFunctionDefinitionRule + { + before(grammarAccess.getConfigurationRuleAccess().getFunctionsParametrizedFunctionDefinitionRuleParserRuleCall_2_0()); + pushFollow(FOLLOW_2); + ruleParametrizedFunctionDefinitionRule(); + + state._fsp--; + + after(grammarAccess.getConfigurationRuleAccess().getFunctionsParametrizedFunctionDefinitionRuleParserRuleCall_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__FunctionsAssignment_2" + + + // $ANTLR start "rule__ConfigurationRule__StatementsAssignment_3" + // InternalGeneratorDSL.g:5631:1: rule__ConfigurationRule__StatementsAssignment_3 : ( ruleStatementRule ) ; + public final void rule__ConfigurationRule__StatementsAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5635:1: ( ( ruleStatementRule ) ) + // InternalGeneratorDSL.g:5636:2: ( ruleStatementRule ) + { + // InternalGeneratorDSL.g:5636:2: ( ruleStatementRule ) + // InternalGeneratorDSL.g:5637:3: ruleStatementRule + { + before(grammarAccess.getConfigurationRuleAccess().getStatementsStatementRuleParserRuleCall_3_0()); + pushFollow(FOLLOW_2); + ruleStatementRule(); + + state._fsp--; + + after(grammarAccess.getConfigurationRuleAccess().getStatementsStatementRuleParserRuleCall_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ConfigurationRule__StatementsAssignment_3" + + + // $ANTLR start "rule__UseRule__ImportURIAssignment_1" + // InternalGeneratorDSL.g:5646:1: rule__UseRule__ImportURIAssignment_1 : ( RULE_STRING ) ; + public final void rule__UseRule__ImportURIAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5650:1: ( ( RULE_STRING ) ) + // InternalGeneratorDSL.g:5651:2: ( RULE_STRING ) + { + // InternalGeneratorDSL.g:5651:2: ( RULE_STRING ) + // InternalGeneratorDSL.g:5652:3: RULE_STRING + { + before(grammarAccess.getUseRuleAccess().getImportURISTRINGTerminalRuleCall_1_0()); + match(input,RULE_STRING,FOLLOW_2); + after(grammarAccess.getUseRuleAccess().getImportURISTRINGTerminalRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UseRule__ImportURIAssignment_1" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__NameAssignment_1" + // InternalGeneratorDSL.g:5661:1: rule__ParametrizedFunctionDefinitionRule__NameAssignment_1 : ( ruleStringOrId ) ; + public final void rule__ParametrizedFunctionDefinitionRule__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5665:1: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:5666:2: ( ruleStringOrId ) + { + // InternalGeneratorDSL.g:5666:2: ( ruleStringOrId ) + // InternalGeneratorDSL.g:5667:3: ruleStringOrId + { + before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__NameAssignment_1" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3" + // InternalGeneratorDSL.g:5676:1: rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3 : ( ruleInstanceRule ) ; + public final void rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5680:1: ( ( ruleInstanceRule ) ) + // InternalGeneratorDSL.g:5681:2: ( ruleInstanceRule ) + { + // InternalGeneratorDSL.g:5681:2: ( ruleInstanceRule ) + // InternalGeneratorDSL.g:5682:3: ruleInstanceRule + { + before(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); + pushFollow(FOLLOW_2); + ruleInstanceRule(); + + state._fsp--; + + after(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionRule__DefinitionAssignment_3" + + + // $ANTLR start "rule__GeneratorDefinitionRule__NameAssignment_1" + // InternalGeneratorDSL.g:5691:1: rule__GeneratorDefinitionRule__NameAssignment_1 : ( ruleStringOrId ) ; + public final void rule__GeneratorDefinitionRule__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5695:1: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:5696:2: ( ruleStringOrId ) + { + // InternalGeneratorDSL.g:5696:2: ( ruleStringOrId ) + // InternalGeneratorDSL.g:5697:3: ruleStringOrId + { + before(grammarAccess.getGeneratorDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + after(grammarAccess.getGeneratorDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__NameAssignment_1" + + + // $ANTLR start "rule__GeneratorDefinitionRule__DefinitionAssignment_3" + // InternalGeneratorDSL.g:5706:1: rule__GeneratorDefinitionRule__DefinitionAssignment_3 : ( ruleInstanceRule ) ; + public final void rule__GeneratorDefinitionRule__DefinitionAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5710:1: ( ( ruleInstanceRule ) ) + // InternalGeneratorDSL.g:5711:2: ( ruleInstanceRule ) + { + // InternalGeneratorDSL.g:5711:2: ( ruleInstanceRule ) + // InternalGeneratorDSL.g:5712:3: ruleInstanceRule + { + before(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); + pushFollow(FOLLOW_2); + ruleInstanceRule(); + + state._fsp--; + + after(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionRule__DefinitionAssignment_3" + + + // $ANTLR start "rule__ForStatementRule__NameAssignment_1" + // InternalGeneratorDSL.g:5721:1: rule__ForStatementRule__NameAssignment_1 : ( RULE_ID ) ; + public final void rule__ForStatementRule__NameAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5725:1: ( ( RULE_ID ) ) + // InternalGeneratorDSL.g:5726:2: ( RULE_ID ) + { + // InternalGeneratorDSL.g:5726:2: ( RULE_ID ) + // InternalGeneratorDSL.g:5727:3: RULE_ID + { + before(grammarAccess.getForStatementRuleAccess().getNameIDTerminalRuleCall_1_0()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getForStatementRuleAccess().getNameIDTerminalRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__NameAssignment_1" + + + // $ANTLR start "rule__ForStatementRule__RangeAssignment_3" + // InternalGeneratorDSL.g:5736:1: rule__ForStatementRule__RangeAssignment_3 : ( ruleRangeRule ) ; + public final void rule__ForStatementRule__RangeAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5740:1: ( ( ruleRangeRule ) ) + // InternalGeneratorDSL.g:5741:2: ( ruleRangeRule ) + { + // InternalGeneratorDSL.g:5741:2: ( ruleRangeRule ) + // InternalGeneratorDSL.g:5742:3: ruleRangeRule + { + before(grammarAccess.getForStatementRuleAccess().getRangeRangeRuleParserRuleCall_3_0()); + pushFollow(FOLLOW_2); + ruleRangeRule(); + + state._fsp--; + + after(grammarAccess.getForStatementRuleAccess().getRangeRangeRuleParserRuleCall_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__RangeAssignment_3" + + + // $ANTLR start "rule__ForStatementRule__StatementsAssignment_5" + // InternalGeneratorDSL.g:5751:1: rule__ForStatementRule__StatementsAssignment_5 : ( ruleStatementRule ) ; + public final void rule__ForStatementRule__StatementsAssignment_5() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5755:1: ( ( ruleStatementRule ) ) + // InternalGeneratorDSL.g:5756:2: ( ruleStatementRule ) + { + // InternalGeneratorDSL.g:5756:2: ( ruleStatementRule ) + // InternalGeneratorDSL.g:5757:3: ruleStatementRule + { + before(grammarAccess.getForStatementRuleAccess().getStatementsStatementRuleParserRuleCall_5_0()); + pushFollow(FOLLOW_2); + ruleStatementRule(); + + state._fsp--; + + after(grammarAccess.getForStatementRuleAccess().getStatementsStatementRuleParserRuleCall_5_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ForStatementRule__StatementsAssignment_5" + + + // $ANTLR start "rule__CounterRangeRule__StartAssignment_1" + // InternalGeneratorDSL.g:5766:1: rule__CounterRangeRule__StartAssignment_1 : ( RULE_INT ) ; + public final void rule__CounterRangeRule__StartAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5770:1: ( ( RULE_INT ) ) + // InternalGeneratorDSL.g:5771:2: ( RULE_INT ) + { + // InternalGeneratorDSL.g:5771:2: ( RULE_INT ) + // InternalGeneratorDSL.g:5772:3: RULE_INT + { + before(grammarAccess.getCounterRangeRuleAccess().getStartINTTerminalRuleCall_1_0()); + match(input,RULE_INT,FOLLOW_2); + after(grammarAccess.getCounterRangeRuleAccess().getStartINTTerminalRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__StartAssignment_1" + + + // $ANTLR start "rule__CounterRangeRule__EndAssignment_3" + // InternalGeneratorDSL.g:5781:1: rule__CounterRangeRule__EndAssignment_3 : ( RULE_INT ) ; + public final void rule__CounterRangeRule__EndAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5785:1: ( ( RULE_INT ) ) + // InternalGeneratorDSL.g:5786:2: ( RULE_INT ) + { + // InternalGeneratorDSL.g:5786:2: ( RULE_INT ) + // InternalGeneratorDSL.g:5787:3: RULE_INT + { + before(grammarAccess.getCounterRangeRuleAccess().getEndINTTerminalRuleCall_3_0()); + match(input,RULE_INT,FOLLOW_2); + after(grammarAccess.getCounterRangeRuleAccess().getEndINTTerminalRuleCall_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CounterRangeRule__EndAssignment_3" + + + // $ANTLR start "rule__FunctionsRule__FunctionReferencesAssignment_2" + // InternalGeneratorDSL.g:5796:1: rule__FunctionsRule__FunctionReferencesAssignment_2 : ( ruleFunctionReferencesRule ) ; + public final void rule__FunctionsRule__FunctionReferencesAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5800:1: ( ( ruleFunctionReferencesRule ) ) + // InternalGeneratorDSL.g:5801:2: ( ruleFunctionReferencesRule ) + { + // InternalGeneratorDSL.g:5801:2: ( ruleFunctionReferencesRule ) + // InternalGeneratorDSL.g:5802:3: ruleFunctionReferencesRule + { + before(grammarAccess.getFunctionsRuleAccess().getFunctionReferencesFunctionReferencesRuleParserRuleCall_2_0()); + pushFollow(FOLLOW_2); + ruleFunctionReferencesRule(); + + state._fsp--; + + after(grammarAccess.getFunctionsRuleAccess().getFunctionReferencesFunctionReferencesRuleParserRuleCall_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionsRule__FunctionReferencesAssignment_2" + + + // $ANTLR start "rule__FunctionReferencesRule__FunctionsAssignment_1" + // InternalGeneratorDSL.g:5811:1: rule__FunctionReferencesRule__FunctionsAssignment_1 : ( ruleFunctionDefReferenceRule ) ; + public final void rule__FunctionReferencesRule__FunctionsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5815:1: ( ( ruleFunctionDefReferenceRule ) ) + // InternalGeneratorDSL.g:5816:2: ( ruleFunctionDefReferenceRule ) + { + // InternalGeneratorDSL.g:5816:2: ( ruleFunctionDefReferenceRule ) + // InternalGeneratorDSL.g:5817:3: ruleFunctionDefReferenceRule + { + before(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleFunctionDefReferenceRule(); + + state._fsp--; + + after(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__FunctionsAssignment_1" + + + // $ANTLR start "rule__FunctionReferencesRule__FunctionsAssignment_2_1" + // InternalGeneratorDSL.g:5826:1: rule__FunctionReferencesRule__FunctionsAssignment_2_1 : ( ruleFunctionDefReferenceRule ) ; + public final void rule__FunctionReferencesRule__FunctionsAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5830:1: ( ( ruleFunctionDefReferenceRule ) ) + // InternalGeneratorDSL.g:5831:2: ( ruleFunctionDefReferenceRule ) + { + // InternalGeneratorDSL.g:5831:2: ( ruleFunctionDefReferenceRule ) + // InternalGeneratorDSL.g:5832:3: ruleFunctionDefReferenceRule + { + before(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_2_1_0()); + pushFollow(FOLLOW_2); + ruleFunctionDefReferenceRule(); + + state._fsp--; + + after(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_2_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionReferencesRule__FunctionsAssignment_2_1" + + + // $ANTLR start "rule__GeneratorsRule__GeneratorReferencesAssignment_2" + // InternalGeneratorDSL.g:5841:1: rule__GeneratorsRule__GeneratorReferencesAssignment_2 : ( ruleGeneratorReferencesRule ) ; + public final void rule__GeneratorsRule__GeneratorReferencesAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5845:1: ( ( ruleGeneratorReferencesRule ) ) + // InternalGeneratorDSL.g:5846:2: ( ruleGeneratorReferencesRule ) + { + // InternalGeneratorDSL.g:5846:2: ( ruleGeneratorReferencesRule ) + // InternalGeneratorDSL.g:5847:3: ruleGeneratorReferencesRule + { + before(grammarAccess.getGeneratorsRuleAccess().getGeneratorReferencesGeneratorReferencesRuleParserRuleCall_2_0()); + pushFollow(FOLLOW_2); + ruleGeneratorReferencesRule(); + + state._fsp--; + + after(grammarAccess.getGeneratorsRuleAccess().getGeneratorReferencesGeneratorReferencesRuleParserRuleCall_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorsRule__GeneratorReferencesAssignment_2" + + + // $ANTLR start "rule__GeneratorReferencesRule__GeneratorsAssignment_1" + // InternalGeneratorDSL.g:5856:1: rule__GeneratorReferencesRule__GeneratorsAssignment_1 : ( ( ruleStringOrId ) ) ; + public final void rule__GeneratorReferencesRule__GeneratorsAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5860:1: ( ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:5861:2: ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:5861:2: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:5862:3: ( ruleStringOrId ) + { + before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_1_0()); + // InternalGeneratorDSL.g:5863:3: ( ruleStringOrId ) + // InternalGeneratorDSL.g:5864:4: ruleStringOrId + { + before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_1_0_1()); + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_1_0_1()); + + } + + after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__GeneratorsAssignment_1" + + + // $ANTLR start "rule__GeneratorReferencesRule__GeneratorsAssignment_2_1" + // InternalGeneratorDSL.g:5875:1: rule__GeneratorReferencesRule__GeneratorsAssignment_2_1 : ( ( ruleStringOrId ) ) ; + public final void rule__GeneratorReferencesRule__GeneratorsAssignment_2_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5879:1: ( ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:5880:2: ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:5880:2: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:5881:3: ( ruleStringOrId ) + { + before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_2_1_0()); + // InternalGeneratorDSL.g:5882:3: ( ruleStringOrId ) + // InternalGeneratorDSL.g:5883:4: ruleStringOrId + { + before(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_2_1_0_1()); + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_2_1_0_1()); + + } + + after(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_2_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorReferencesRule__GeneratorsAssignment_2_1" + + + // $ANTLR start "rule__ApplyStatementRule__FileAssignment_1" + // InternalGeneratorDSL.g:5894:1: rule__ApplyStatementRule__FileAssignment_1 : ( RULE_STRING ) ; + public final void rule__ApplyStatementRule__FileAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5898:1: ( ( RULE_STRING ) ) + // InternalGeneratorDSL.g:5899:2: ( RULE_STRING ) + { + // InternalGeneratorDSL.g:5899:2: ( RULE_STRING ) + // InternalGeneratorDSL.g:5900:3: RULE_STRING + { + before(grammarAccess.getApplyStatementRuleAccess().getFileSTRINGTerminalRuleCall_1_0()); + match(input,RULE_STRING,FOLLOW_2); + after(grammarAccess.getApplyStatementRuleAccess().getFileSTRINGTerminalRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__FileAssignment_1" + + + // $ANTLR start "rule__ApplyStatementRule__CountAssignment_3" + // InternalGeneratorDSL.g:5909:1: rule__ApplyStatementRule__CountAssignment_3 : ( RULE_INT ) ; + public final void rule__ApplyStatementRule__CountAssignment_3() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5913:1: ( ( RULE_INT ) ) + // InternalGeneratorDSL.g:5914:2: ( RULE_INT ) + { + // InternalGeneratorDSL.g:5914:2: ( RULE_INT ) + // InternalGeneratorDSL.g:5915:3: RULE_INT + { + before(grammarAccess.getApplyStatementRuleAccess().getCountINTTerminalRuleCall_3_0()); + match(input,RULE_INT,FOLLOW_2); + after(grammarAccess.getApplyStatementRuleAccess().getCountINTTerminalRuleCall_3_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__CountAssignment_3" + + + // $ANTLR start "rule__ApplyStatementRule__FunctionAssignment_7" + // InternalGeneratorDSL.g:5924:1: rule__ApplyStatementRule__FunctionAssignment_7 : ( ruleFunctionReferenceRule ) ; + public final void rule__ApplyStatementRule__FunctionAssignment_7() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5928:1: ( ( ruleFunctionReferenceRule ) ) + // InternalGeneratorDSL.g:5929:2: ( ruleFunctionReferenceRule ) + { + // InternalGeneratorDSL.g:5929:2: ( ruleFunctionReferenceRule ) + // InternalGeneratorDSL.g:5930:3: ruleFunctionReferenceRule + { + before(grammarAccess.getApplyStatementRuleAccess().getFunctionFunctionReferenceRuleParserRuleCall_7_0()); + pushFollow(FOLLOW_2); + ruleFunctionReferenceRule(); + + state._fsp--; + + after(grammarAccess.getApplyStatementRuleAccess().getFunctionFunctionReferenceRuleParserRuleCall_7_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__FunctionAssignment_7" + + + // $ANTLR start "rule__ApplyStatementRule__GeneratorAssignment_9" + // InternalGeneratorDSL.g:5939:1: rule__ApplyStatementRule__GeneratorAssignment_9 : ( ruleGeneratorReferenceRule ) ; + public final void rule__ApplyStatementRule__GeneratorAssignment_9() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5943:1: ( ( ruleGeneratorReferenceRule ) ) + // InternalGeneratorDSL.g:5944:2: ( ruleGeneratorReferenceRule ) + { + // InternalGeneratorDSL.g:5944:2: ( ruleGeneratorReferenceRule ) + // InternalGeneratorDSL.g:5945:3: ruleGeneratorReferenceRule + { + before(grammarAccess.getApplyStatementRuleAccess().getGeneratorGeneratorReferenceRuleParserRuleCall_9_0()); + pushFollow(FOLLOW_2); + ruleGeneratorReferenceRule(); + + state._fsp--; + + after(grammarAccess.getApplyStatementRuleAccess().getGeneratorGeneratorReferenceRuleParserRuleCall_9_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ApplyStatementRule__GeneratorAssignment_9" + + + // $ANTLR start "rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1" + // InternalGeneratorDSL.g:5954:1: rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1 : ( ( ruleStringOrId ) ) ; + public final void rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5958:1: ( ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:5959:2: ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:5959:2: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:5960:3: ( ruleStringOrId ) + { + before(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionGeneratorDefinitionCrossReference_1_0()); + // InternalGeneratorDSL.g:5961:3: ( ruleStringOrId ) + // InternalGeneratorDSL.g:5962:4: ruleStringOrId + { + before(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionGeneratorDefinitionStringOrIdParserRuleCall_1_0_1()); + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + after(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionGeneratorDefinitionStringOrIdParserRuleCall_1_0_1()); + + } + + after(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionGeneratorDefinitionCrossReference_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__GeneratorDefinitionReferenceRule__DefinitionAssignment_1" + + + // $ANTLR start "rule__LoopVariableReference__DefinitionAssignment_1" + // InternalGeneratorDSL.g:5973:1: rule__LoopVariableReference__DefinitionAssignment_1 : ( ( RULE_ID ) ) ; + public final void rule__LoopVariableReference__DefinitionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5977:1: ( ( ( RULE_ID ) ) ) + // InternalGeneratorDSL.g:5978:2: ( ( RULE_ID ) ) + { + // InternalGeneratorDSL.g:5978:2: ( ( RULE_ID ) ) + // InternalGeneratorDSL.g:5979:3: ( RULE_ID ) + { + before(grammarAccess.getLoopVariableReferenceAccess().getDefinitionForStatementCrossReference_1_0()); + // InternalGeneratorDSL.g:5980:3: ( RULE_ID ) + // InternalGeneratorDSL.g:5981:4: RULE_ID + { + before(grammarAccess.getLoopVariableReferenceAccess().getDefinitionForStatementIDTerminalRuleCall_1_0_1()); + match(input,RULE_ID,FOLLOW_2); + after(grammarAccess.getLoopVariableReferenceAccess().getDefinitionForStatementIDTerminalRuleCall_1_0_1()); + + } + + after(grammarAccess.getLoopVariableReferenceAccess().getDefinitionForStatementCrossReference_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LoopVariableReference__DefinitionAssignment_1" + + + // $ANTLR start "rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2" + // InternalGeneratorDSL.g:5992:1: rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2 : ( ( ruleStringOrId ) ) ; + public final void rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:5996:1: ( ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:5997:2: ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:5997:2: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:5998:3: ( ruleStringOrId ) + { + before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionCrossReference_2_0()); + // InternalGeneratorDSL.g:5999:3: ( ruleStringOrId ) + // InternalGeneratorDSL.g:6000:4: ruleStringOrId + { + before(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionStringOrIdParserRuleCall_2_0_1()); + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionStringOrIdParserRuleCall_2_0_1()); + + } + + after(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionCrossReference_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__FunctionDefinitionReferenceRule__DefinitionAssignment_2" + + + // $ANTLR start "rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2" + // InternalGeneratorDSL.g:6011:1: rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2 : ( ( ruleStringOrId ) ) ; + public final void rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6015:1: ( ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:6016:2: ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:6016:2: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:6017:3: ( ruleStringOrId ) + { + before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionReferenceCrossReference_2_0()); + // InternalGeneratorDSL.g:6018:3: ( ruleStringOrId ) + // InternalGeneratorDSL.g:6019:4: ruleStringOrId + { + before(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionReferenceStringOrIdParserRuleCall_2_0_1()); + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionReferenceStringOrIdParserRuleCall_2_0_1()); + + } + + after(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionReferenceCrossReference_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParametrizedFunctionDefinitionReferenceRule__DefinitionAssignment_2" + + + // $ANTLR start "rule__InstanceRule__NameAssignment_0" + // InternalGeneratorDSL.g:6030:1: rule__InstanceRule__NameAssignment_0 : ( ( ruleStringOrId ) ) ; + public final void rule__InstanceRule__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6034:1: ( ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:6035:2: ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:6035:2: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:6036:3: ( ruleStringOrId ) + { + before(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionCrossReference_0_0()); + // InternalGeneratorDSL.g:6037:3: ( ruleStringOrId ) + // InternalGeneratorDSL.g:6038:4: ruleStringOrId + { + before(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionStringOrIdParserRuleCall_0_0_1()); + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + after(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionStringOrIdParserRuleCall_0_0_1()); + + } + + after(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionCrossReference_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__NameAssignment_0" + + + // $ANTLR start "rule__InstanceRule__AttributesAssignment_1_1" + // InternalGeneratorDSL.g:6049:1: rule__InstanceRule__AttributesAssignment_1_1 : ( ruleAttributeRule ) ; + public final void rule__InstanceRule__AttributesAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6053:1: ( ( ruleAttributeRule ) ) + // InternalGeneratorDSL.g:6054:2: ( ruleAttributeRule ) + { + // InternalGeneratorDSL.g:6054:2: ( ruleAttributeRule ) + // InternalGeneratorDSL.g:6055:3: ruleAttributeRule + { + before(grammarAccess.getInstanceRuleAccess().getAttributesAttributeRuleParserRuleCall_1_1_0()); + pushFollow(FOLLOW_2); + ruleAttributeRule(); + + state._fsp--; + + after(grammarAccess.getInstanceRuleAccess().getAttributesAttributeRuleParserRuleCall_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__InstanceRule__AttributesAssignment_1_1" + + + // $ANTLR start "rule__AttributeRule__NameAssignment_0" + // InternalGeneratorDSL.g:6064:1: rule__AttributeRule__NameAssignment_0 : ( ruleNameOrMiscRule ) ; + public final void rule__AttributeRule__NameAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6068:1: ( ( ruleNameOrMiscRule ) ) + // InternalGeneratorDSL.g:6069:2: ( ruleNameOrMiscRule ) + { + // InternalGeneratorDSL.g:6069:2: ( ruleNameOrMiscRule ) + // InternalGeneratorDSL.g:6070:3: ruleNameOrMiscRule + { + before(grammarAccess.getAttributeRuleAccess().getNameNameOrMiscRuleParserRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleNameOrMiscRule(); + + state._fsp--; + + after(grammarAccess.getAttributeRuleAccess().getNameNameOrMiscRuleParserRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AttributeRule__NameAssignment_0" + + + // $ANTLR start "rule__AttributeRule__ValueAssignment_2" + // InternalGeneratorDSL.g:6079:1: rule__AttributeRule__ValueAssignment_2 : ( ruleValueRule ) ; + public final void rule__AttributeRule__ValueAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6083:1: ( ( ruleValueRule ) ) + // InternalGeneratorDSL.g:6084:2: ( ruleValueRule ) + { + // InternalGeneratorDSL.g:6084:2: ( ruleValueRule ) + // InternalGeneratorDSL.g:6085:3: ruleValueRule + { + before(grammarAccess.getAttributeRuleAccess().getValueValueRuleParserRuleCall_2_0()); + pushFollow(FOLLOW_2); + ruleValueRule(); + + state._fsp--; + + after(grammarAccess.getAttributeRuleAccess().getValueValueRuleParserRuleCall_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AttributeRule__ValueAssignment_2" + + + // $ANTLR start "rule__NameRule__NameAssignment" + // InternalGeneratorDSL.g:6094:1: rule__NameRule__NameAssignment : ( ( ruleStringOrId ) ) ; + public final void rule__NameRule__NameAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6098:1: ( ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:6099:2: ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:6099:2: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:6100:3: ( ruleStringOrId ) + { + before(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionCrossReference_0()); + // InternalGeneratorDSL.g:6101:3: ( ruleStringOrId ) + // InternalGeneratorDSL.g:6102:4: ruleStringOrId + { + before(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionStringOrIdParserRuleCall_0_1()); + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + after(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionStringOrIdParserRuleCall_0_1()); + + } + + after(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionCrossReference_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NameRule__NameAssignment" + + + // $ANTLR start "rule__MiscRule__NameAssignment" + // InternalGeneratorDSL.g:6113:1: rule__MiscRule__NameAssignment : ( RULE_STRING ) ; + public final void rule__MiscRule__NameAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6117:1: ( ( RULE_STRING ) ) + // InternalGeneratorDSL.g:6118:2: ( RULE_STRING ) + { + // InternalGeneratorDSL.g:6118:2: ( RULE_STRING ) + // InternalGeneratorDSL.g:6119:3: RULE_STRING + { + before(grammarAccess.getMiscRuleAccess().getNameSTRINGTerminalRuleCall_0()); + match(input,RULE_STRING,FOLLOW_2); + after(grammarAccess.getMiscRuleAccess().getNameSTRINGTerminalRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MiscRule__NameAssignment" + + + // $ANTLR start "rule__ArrayRule__ValuesAssignment_2_0" + // InternalGeneratorDSL.g:6128:1: rule__ArrayRule__ValuesAssignment_2_0 : ( ruleValueRule ) ; + public final void rule__ArrayRule__ValuesAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6132:1: ( ( ruleValueRule ) ) + // InternalGeneratorDSL.g:6133:2: ( ruleValueRule ) + { + // InternalGeneratorDSL.g:6133:2: ( ruleValueRule ) + // InternalGeneratorDSL.g:6134:3: ruleValueRule + { + before(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_0_0()); + pushFollow(FOLLOW_2); + ruleValueRule(); + + state._fsp--; + + after(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__ValuesAssignment_2_0" + + + // $ANTLR start "rule__ArrayRule__ValuesAssignment_2_1_1" + // InternalGeneratorDSL.g:6143:1: rule__ArrayRule__ValuesAssignment_2_1_1 : ( ruleValueRule ) ; + public final void rule__ArrayRule__ValuesAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6147:1: ( ( ruleValueRule ) ) + // InternalGeneratorDSL.g:6148:2: ( ruleValueRule ) + { + // InternalGeneratorDSL.g:6148:2: ( ruleValueRule ) + // InternalGeneratorDSL.g:6149:3: ruleValueRule + { + before(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_1_1_0()); + pushFollow(FOLLOW_2); + ruleValueRule(); + + state._fsp--; + + after(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ArrayRule__ValuesAssignment_2_1_1" + + + // $ANTLR start "rule__LiteralValueRule__LiteralAssignment" + // InternalGeneratorDSL.g:6158:1: rule__LiteralValueRule__LiteralAssignment : ( ruleLiteralRule ) ; + public final void rule__LiteralValueRule__LiteralAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6162:1: ( ( ruleLiteralRule ) ) + // InternalGeneratorDSL.g:6163:2: ( ruleLiteralRule ) + { + // InternalGeneratorDSL.g:6163:2: ( ruleLiteralRule ) + // InternalGeneratorDSL.g:6164:3: ruleLiteralRule + { + before(grammarAccess.getLiteralValueRuleAccess().getLiteralLiteralRuleParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleLiteralRule(); + + state._fsp--; + + after(grammarAccess.getLiteralValueRuleAccess().getLiteralLiteralRuleParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__LiteralValueRule__LiteralAssignment" + + + // $ANTLR start "rule__DataReferenceRule__DefinitionAssignment_2" + // InternalGeneratorDSL.g:6173:1: rule__DataReferenceRule__DefinitionAssignment_2 : ( ( ruleStringOrId ) ) ; + public final void rule__DataReferenceRule__DefinitionAssignment_2() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6177:1: ( ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:6178:2: ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:6178:2: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:6179:3: ( ruleStringOrId ) + { + before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); + // InternalGeneratorDSL.g:6180:3: ( ruleStringOrId ) + // InternalGeneratorDSL.g:6181:4: ruleStringOrId + { + before(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionStringOrIdParserRuleCall_2_0_1()); + + } + + after(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DataReferenceRule__DefinitionAssignment_2" + + + // $ANTLR start "rule__OrExpressionRule__SubExpressionsAssignment_0" + // InternalGeneratorDSL.g:6192:1: rule__OrExpressionRule__SubExpressionsAssignment_0 : ( ruleXorExpressionRule ) ; + public final void rule__OrExpressionRule__SubExpressionsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6196:1: ( ( ruleXorExpressionRule ) ) + // InternalGeneratorDSL.g:6197:2: ( ruleXorExpressionRule ) + { + // InternalGeneratorDSL.g:6197:2: ( ruleXorExpressionRule ) + // InternalGeneratorDSL.g:6198:3: ruleXorExpressionRule + { + before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleXorExpressionRule(); + + state._fsp--; + + after(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpressionRule__SubExpressionsAssignment_0" + + + // $ANTLR start "rule__OrExpressionRule__SubExpressionsAssignment_1_1" + // InternalGeneratorDSL.g:6207:1: rule__OrExpressionRule__SubExpressionsAssignment_1_1 : ( ruleXorExpressionRule ) ; + public final void rule__OrExpressionRule__SubExpressionsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6211:1: ( ( ruleXorExpressionRule ) ) + // InternalGeneratorDSL.g:6212:2: ( ruleXorExpressionRule ) + { + // InternalGeneratorDSL.g:6212:2: ( ruleXorExpressionRule ) + // InternalGeneratorDSL.g:6213:3: ruleXorExpressionRule + { + before(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_1_1_0()); + pushFollow(FOLLOW_2); + ruleXorExpressionRule(); + + state._fsp--; + + after(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__OrExpressionRule__SubExpressionsAssignment_1_1" + + + // $ANTLR start "rule__XorExpressionRule__SubExpressionsAssignment_0" + // InternalGeneratorDSL.g:6222:1: rule__XorExpressionRule__SubExpressionsAssignment_0 : ( ruleAndExpressionRule ) ; + public final void rule__XorExpressionRule__SubExpressionsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6226:1: ( ( ruleAndExpressionRule ) ) + // InternalGeneratorDSL.g:6227:2: ( ruleAndExpressionRule ) + { + // InternalGeneratorDSL.g:6227:2: ( ruleAndExpressionRule ) + // InternalGeneratorDSL.g:6228:3: ruleAndExpressionRule + { + before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleAndExpressionRule(); + + state._fsp--; + + after(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XorExpressionRule__SubExpressionsAssignment_0" + + + // $ANTLR start "rule__XorExpressionRule__SubExpressionsAssignment_1_1" + // InternalGeneratorDSL.g:6237:1: rule__XorExpressionRule__SubExpressionsAssignment_1_1 : ( ruleAndExpressionRule ) ; + public final void rule__XorExpressionRule__SubExpressionsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6241:1: ( ( ruleAndExpressionRule ) ) + // InternalGeneratorDSL.g:6242:2: ( ruleAndExpressionRule ) + { + // InternalGeneratorDSL.g:6242:2: ( ruleAndExpressionRule ) + // InternalGeneratorDSL.g:6243:3: ruleAndExpressionRule + { + before(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_1_1_0()); + pushFollow(FOLLOW_2); + ruleAndExpressionRule(); + + state._fsp--; + + after(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__XorExpressionRule__SubExpressionsAssignment_1_1" + + + // $ANTLR start "rule__AndExpressionRule__SubExpressionsAssignment_0" + // InternalGeneratorDSL.g:6252:1: rule__AndExpressionRule__SubExpressionsAssignment_0 : ( ruleNotExpressionRule ) ; + public final void rule__AndExpressionRule__SubExpressionsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6256:1: ( ( ruleNotExpressionRule ) ) + // InternalGeneratorDSL.g:6257:2: ( ruleNotExpressionRule ) + { + // InternalGeneratorDSL.g:6257:2: ( ruleNotExpressionRule ) + // InternalGeneratorDSL.g:6258:3: ruleNotExpressionRule + { + before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleNotExpressionRule(); + + state._fsp--; + + after(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpressionRule__SubExpressionsAssignment_0" + + + // $ANTLR start "rule__AndExpressionRule__SubExpressionsAssignment_1_1" + // InternalGeneratorDSL.g:6267:1: rule__AndExpressionRule__SubExpressionsAssignment_1_1 : ( ruleNotExpressionRule ) ; + public final void rule__AndExpressionRule__SubExpressionsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6271:1: ( ( ruleNotExpressionRule ) ) + // InternalGeneratorDSL.g:6272:2: ( ruleNotExpressionRule ) + { + // InternalGeneratorDSL.g:6272:2: ( ruleNotExpressionRule ) + // InternalGeneratorDSL.g:6273:3: ruleNotExpressionRule + { + before(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_1_1_0()); + pushFollow(FOLLOW_2); + ruleNotExpressionRule(); + + state._fsp--; + + after(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AndExpressionRule__SubExpressionsAssignment_1_1" + + + // $ANTLR start "rule__NotExpressionRule__NegatedAssignment_0" + // InternalGeneratorDSL.g:6282:1: rule__NotExpressionRule__NegatedAssignment_0 : ( ( '!' ) ) ; + public final void rule__NotExpressionRule__NegatedAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6286:1: ( ( ( '!' ) ) ) + // InternalGeneratorDSL.g:6287:2: ( ( '!' ) ) + { + // InternalGeneratorDSL.g:6287:2: ( ( '!' ) ) + // InternalGeneratorDSL.g:6288:3: ( '!' ) + { + before(grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); + // InternalGeneratorDSL.g:6289:3: ( '!' ) + // InternalGeneratorDSL.g:6290:4: '!' + { + before(grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); + match(input,59,FOLLOW_2); + after(grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); + + } + + after(grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NotExpressionRule__NegatedAssignment_0" + + + // $ANTLR start "rule__NotExpressionRule__OperandAssignment_1" + // InternalGeneratorDSL.g:6301:1: rule__NotExpressionRule__OperandAssignment_1 : ( ruleComparisonExpressionRule ) ; + public final void rule__NotExpressionRule__OperandAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6305:1: ( ( ruleComparisonExpressionRule ) ) + // InternalGeneratorDSL.g:6306:2: ( ruleComparisonExpressionRule ) + { + // InternalGeneratorDSL.g:6306:2: ( ruleComparisonExpressionRule ) + // InternalGeneratorDSL.g:6307:3: ruleComparisonExpressionRule + { + before(grammarAccess.getNotExpressionRuleAccess().getOperandComparisonExpressionRuleParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleComparisonExpressionRule(); + + state._fsp--; + + after(grammarAccess.getNotExpressionRuleAccess().getOperandComparisonExpressionRuleParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__NotExpressionRule__OperandAssignment_1" + + + // $ANTLR start "rule__ComparisonExpressionRule__LeftOperandAssignment_0" + // InternalGeneratorDSL.g:6316:1: rule__ComparisonExpressionRule__LeftOperandAssignment_0 : ( ruleAddOrSubtractExpressionRule ) ; + public final void rule__ComparisonExpressionRule__LeftOperandAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6320:1: ( ( ruleAddOrSubtractExpressionRule ) ) + // InternalGeneratorDSL.g:6321:2: ( ruleAddOrSubtractExpressionRule ) + { + // InternalGeneratorDSL.g:6321:2: ( ruleAddOrSubtractExpressionRule ) + // InternalGeneratorDSL.g:6322:3: ruleAddOrSubtractExpressionRule + { + before(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAddOrSubtractExpressionRuleParserRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleAddOrSubtractExpressionRule(); + + state._fsp--; + + after(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAddOrSubtractExpressionRuleParserRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpressionRule__LeftOperandAssignment_0" + + + // $ANTLR start "rule__ComparisonExpressionRule__ComparisonAssignment_1" + // InternalGeneratorDSL.g:6331:1: rule__ComparisonExpressionRule__ComparisonAssignment_1 : ( rulePartialComparisonExpressionRule ) ; + public final void rule__ComparisonExpressionRule__ComparisonAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6335:1: ( ( rulePartialComparisonExpressionRule ) ) + // InternalGeneratorDSL.g:6336:2: ( rulePartialComparisonExpressionRule ) + { + // InternalGeneratorDSL.g:6336:2: ( rulePartialComparisonExpressionRule ) + // InternalGeneratorDSL.g:6337:3: rulePartialComparisonExpressionRule + { + before(grammarAccess.getComparisonExpressionRuleAccess().getComparisonPartialComparisonExpressionRuleParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + rulePartialComparisonExpressionRule(); + + state._fsp--; + + after(grammarAccess.getComparisonExpressionRuleAccess().getComparisonPartialComparisonExpressionRuleParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ComparisonExpressionRule__ComparisonAssignment_1" + + + // $ANTLR start "rule__PartialComparisonExpressionRule__OperatorAssignment_0" + // InternalGeneratorDSL.g:6346:1: rule__PartialComparisonExpressionRule__OperatorAssignment_0 : ( ruleComparisonOperatorRule ) ; + public final void rule__PartialComparisonExpressionRule__OperatorAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6350:1: ( ( ruleComparisonOperatorRule ) ) + // InternalGeneratorDSL.g:6351:2: ( ruleComparisonOperatorRule ) + { + // InternalGeneratorDSL.g:6351:2: ( ruleComparisonOperatorRule ) + // InternalGeneratorDSL.g:6352:3: ruleComparisonOperatorRule + { + before(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorComparisonOperatorRuleEnumRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleComparisonOperatorRule(); + + state._fsp--; + + after(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorComparisonOperatorRuleEnumRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PartialComparisonExpressionRule__OperatorAssignment_0" + + + // $ANTLR start "rule__PartialComparisonExpressionRule__SubExpressionAssignment_1" + // InternalGeneratorDSL.g:6361:1: rule__PartialComparisonExpressionRule__SubExpressionAssignment_1 : ( ruleAddOrSubtractExpressionRule ) ; + public final void rule__PartialComparisonExpressionRule__SubExpressionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6365:1: ( ( ruleAddOrSubtractExpressionRule ) ) + // InternalGeneratorDSL.g:6366:2: ( ruleAddOrSubtractExpressionRule ) + { + // InternalGeneratorDSL.g:6366:2: ( ruleAddOrSubtractExpressionRule ) + // InternalGeneratorDSL.g:6367:3: ruleAddOrSubtractExpressionRule + { + before(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAddOrSubtractExpressionRuleParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleAddOrSubtractExpressionRule(); + + state._fsp--; + + after(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAddOrSubtractExpressionRuleParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PartialComparisonExpressionRule__SubExpressionAssignment_1" + + + // $ANTLR start "rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0" + // InternalGeneratorDSL.g:6376:1: rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0 : ( ruleMultiplyDivideModuloExpressionRule ) ; + public final void rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6380:1: ( ( ruleMultiplyDivideModuloExpressionRule ) ) + // InternalGeneratorDSL.g:6381:2: ( ruleMultiplyDivideModuloExpressionRule ) + { + // InternalGeneratorDSL.g:6381:2: ( ruleMultiplyDivideModuloExpressionRule ) + // InternalGeneratorDSL.g:6382:3: ruleMultiplyDivideModuloExpressionRule + { + before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandMultiplyDivideModuloExpressionRuleParserRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleMultiplyDivideModuloExpressionRule(); + + state._fsp--; + + after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandMultiplyDivideModuloExpressionRuleParserRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractExpressionRule__LeftOperandAssignment_0" + + + // $ANTLR start "rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0" + // InternalGeneratorDSL.g:6391:1: rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0 : ( ruleAddOrSubtractOperatorRule ) ; + public final void rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6395:1: ( ( ruleAddOrSubtractOperatorRule ) ) + // InternalGeneratorDSL.g:6396:2: ( ruleAddOrSubtractOperatorRule ) + { + // InternalGeneratorDSL.g:6396:2: ( ruleAddOrSubtractOperatorRule ) + // InternalGeneratorDSL.g:6397:3: ruleAddOrSubtractOperatorRule + { + before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_1_0_0()); + pushFollow(FOLLOW_2); + ruleAddOrSubtractOperatorRule(); + + state._fsp--; + + after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_1_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractExpressionRule__OperatorsAssignment_1_0" + + + // $ANTLR start "rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1" + // InternalGeneratorDSL.g:6406:1: rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1 : ( ruleMultiplyDivideModuloExpressionRule ) ; + public final void rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6410:1: ( ( ruleMultiplyDivideModuloExpressionRule ) ) + // InternalGeneratorDSL.g:6411:2: ( ruleMultiplyDivideModuloExpressionRule ) + { + // InternalGeneratorDSL.g:6411:2: ( ruleMultiplyDivideModuloExpressionRule ) + // InternalGeneratorDSL.g:6412:3: ruleMultiplyDivideModuloExpressionRule + { + before(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsMultiplyDivideModuloExpressionRuleParserRuleCall_1_1_0()); + pushFollow(FOLLOW_2); + ruleMultiplyDivideModuloExpressionRule(); + + state._fsp--; + + after(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsMultiplyDivideModuloExpressionRuleParserRuleCall_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__AddOrSubtractExpressionRule__OperandsAssignment_1_1" + + + // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0" + // InternalGeneratorDSL.g:6421:1: rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0 : ( rulePowerOfExpressionRule ) ; + public final void rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6425:1: ( ( rulePowerOfExpressionRule ) ) + // InternalGeneratorDSL.g:6426:2: ( rulePowerOfExpressionRule ) + { + // InternalGeneratorDSL.g:6426:2: ( rulePowerOfExpressionRule ) + // InternalGeneratorDSL.g:6427:3: rulePowerOfExpressionRule + { + before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandPowerOfExpressionRuleParserRuleCall_0_0()); + pushFollow(FOLLOW_2); + rulePowerOfExpressionRule(); + + state._fsp--; + + after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandPowerOfExpressionRuleParserRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloExpressionRule__LeftOperandAssignment_0" + + + // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0" + // InternalGeneratorDSL.g:6436:1: rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0 : ( ruleMultiplyDivideModuloOperatorRule ) ; + public final void rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6440:1: ( ( ruleMultiplyDivideModuloOperatorRule ) ) + // InternalGeneratorDSL.g:6441:2: ( ruleMultiplyDivideModuloOperatorRule ) + { + // InternalGeneratorDSL.g:6441:2: ( ruleMultiplyDivideModuloOperatorRule ) + // InternalGeneratorDSL.g:6442:3: ruleMultiplyDivideModuloOperatorRule + { + before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsMultiplyDivideModuloOperatorRuleEnumRuleCall_1_0_0()); + pushFollow(FOLLOW_2); + ruleMultiplyDivideModuloOperatorRule(); + + state._fsp--; + + after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsMultiplyDivideModuloOperatorRuleEnumRuleCall_1_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloExpressionRule__OperatorsAssignment_1_0" + + + // $ANTLR start "rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1" + // InternalGeneratorDSL.g:6451:1: rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1 : ( rulePowerOfExpressionRule ) ; + public final void rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6455:1: ( ( rulePowerOfExpressionRule ) ) + // InternalGeneratorDSL.g:6456:2: ( rulePowerOfExpressionRule ) + { + // InternalGeneratorDSL.g:6456:2: ( rulePowerOfExpressionRule ) + // InternalGeneratorDSL.g:6457:3: rulePowerOfExpressionRule + { + before(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsPowerOfExpressionRuleParserRuleCall_1_1_0()); + pushFollow(FOLLOW_2); + rulePowerOfExpressionRule(); + + state._fsp--; + + after(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsPowerOfExpressionRuleParserRuleCall_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__MultiplyDivideModuloExpressionRule__OperandsAssignment_1_1" + + + // $ANTLR start "rule__PowerOfExpressionRule__LeftOperandAssignment_0" + // InternalGeneratorDSL.g:6466:1: rule__PowerOfExpressionRule__LeftOperandAssignment_0 : ( ruleUnaryAddOrSubtractExpressionRule ) ; + public final void rule__PowerOfExpressionRule__LeftOperandAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6470:1: ( ( ruleUnaryAddOrSubtractExpressionRule ) ) + // InternalGeneratorDSL.g:6471:2: ( ruleUnaryAddOrSubtractExpressionRule ) + { + // InternalGeneratorDSL.g:6471:2: ( ruleUnaryAddOrSubtractExpressionRule ) + // InternalGeneratorDSL.g:6472:3: ruleUnaryAddOrSubtractExpressionRule + { + before(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandUnaryAddOrSubtractExpressionRuleParserRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleUnaryAddOrSubtractExpressionRule(); + + state._fsp--; + + after(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandUnaryAddOrSubtractExpressionRuleParserRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PowerOfExpressionRule__LeftOperandAssignment_0" + + + // $ANTLR start "rule__PowerOfExpressionRule__RightOperandAssignment_1_1" + // InternalGeneratorDSL.g:6481:1: rule__PowerOfExpressionRule__RightOperandAssignment_1_1 : ( rulePowerOfExpressionRule ) ; + public final void rule__PowerOfExpressionRule__RightOperandAssignment_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6485:1: ( ( rulePowerOfExpressionRule ) ) + // InternalGeneratorDSL.g:6486:2: ( rulePowerOfExpressionRule ) + { + // InternalGeneratorDSL.g:6486:2: ( rulePowerOfExpressionRule ) + // InternalGeneratorDSL.g:6487:3: rulePowerOfExpressionRule + { + before(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandPowerOfExpressionRuleParserRuleCall_1_1_0()); + pushFollow(FOLLOW_2); + rulePowerOfExpressionRule(); + + state._fsp--; + + after(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandPowerOfExpressionRuleParserRuleCall_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__PowerOfExpressionRule__RightOperandAssignment_1_1" + + + // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0" + // InternalGeneratorDSL.g:6496:1: rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0 : ( ruleAddOrSubtractOperatorRule ) ; + public final void rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6500:1: ( ( ruleAddOrSubtractOperatorRule ) ) + // InternalGeneratorDSL.g:6501:2: ( ruleAddOrSubtractOperatorRule ) + { + // InternalGeneratorDSL.g:6501:2: ( ruleAddOrSubtractOperatorRule ) + // InternalGeneratorDSL.g:6502:3: ruleAddOrSubtractOperatorRule + { + before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleAddOrSubtractOperatorRule(); + + state._fsp--; + + after(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryAddOrSubtractExpressionRule__OperatorsAssignment_0" + + + // $ANTLR start "rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1" + // InternalGeneratorDSL.g:6511:1: rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1 : ( ruleLiteralOrReferenceRule ) ; + public final void rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6515:1: ( ( ruleLiteralOrReferenceRule ) ) + // InternalGeneratorDSL.g:6516:2: ( ruleLiteralOrReferenceRule ) + { + // InternalGeneratorDSL.g:6516:2: ( ruleLiteralOrReferenceRule ) + // InternalGeneratorDSL.g:6517:3: ruleLiteralOrReferenceRule + { + before(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionLiteralOrReferenceRuleParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleLiteralOrReferenceRule(); + + state._fsp--; + + after(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionLiteralOrReferenceRuleParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__UnaryAddOrSubtractExpressionRule__SubExpressionAssignment_1" + + + // $ANTLR start "rule__ParanthesesRule__SubExpressionAssignment_1" + // InternalGeneratorDSL.g:6526:1: rule__ParanthesesRule__SubExpressionAssignment_1 : ( ruleExpressionRule ) ; + public final void rule__ParanthesesRule__SubExpressionAssignment_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6530:1: ( ( ruleExpressionRule ) ) + // InternalGeneratorDSL.g:6531:2: ( ruleExpressionRule ) + { + // InternalGeneratorDSL.g:6531:2: ( ruleExpressionRule ) + // InternalGeneratorDSL.g:6532:3: ruleExpressionRule + { + before(grammarAccess.getParanthesesRuleAccess().getSubExpressionExpressionRuleParserRuleCall_1_0()); + pushFollow(FOLLOW_2); + ruleExpressionRule(); + + state._fsp--; + + after(grammarAccess.getParanthesesRuleAccess().getSubExpressionExpressionRuleParserRuleCall_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__ParanthesesRule__SubExpressionAssignment_1" + + + // $ANTLR start "rule__CallRule__FunctionAssignment_0" + // InternalGeneratorDSL.g:6541:1: rule__CallRule__FunctionAssignment_0 : ( ruleFunctionNameRule ) ; + public final void rule__CallRule__FunctionAssignment_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6545:1: ( ( ruleFunctionNameRule ) ) + // InternalGeneratorDSL.g:6546:2: ( ruleFunctionNameRule ) + { + // InternalGeneratorDSL.g:6546:2: ( ruleFunctionNameRule ) + // InternalGeneratorDSL.g:6547:3: ruleFunctionNameRule + { + before(grammarAccess.getCallRuleAccess().getFunctionFunctionNameRuleParserRuleCall_0_0()); + pushFollow(FOLLOW_2); + ruleFunctionNameRule(); + + state._fsp--; + + after(grammarAccess.getCallRuleAccess().getFunctionFunctionNameRuleParserRuleCall_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__FunctionAssignment_0" + + + // $ANTLR start "rule__CallRule__ParametersAssignment_2_0" + // InternalGeneratorDSL.g:6556:1: rule__CallRule__ParametersAssignment_2_0 : ( ruleExpressionRule ) ; + public final void rule__CallRule__ParametersAssignment_2_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6560:1: ( ( ruleExpressionRule ) ) + // InternalGeneratorDSL.g:6561:2: ( ruleExpressionRule ) + { + // InternalGeneratorDSL.g:6561:2: ( ruleExpressionRule ) + // InternalGeneratorDSL.g:6562:3: ruleExpressionRule + { + before(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_0_0()); + pushFollow(FOLLOW_2); + ruleExpressionRule(); + + state._fsp--; + + after(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__ParametersAssignment_2_0" + + + // $ANTLR start "rule__CallRule__ParametersAssignment_2_1_1" + // InternalGeneratorDSL.g:6571:1: rule__CallRule__ParametersAssignment_2_1_1 : ( ruleExpressionRule ) ; + public final void rule__CallRule__ParametersAssignment_2_1_1() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6575:1: ( ( ruleExpressionRule ) ) + // InternalGeneratorDSL.g:6576:2: ( ruleExpressionRule ) + { + // InternalGeneratorDSL.g:6576:2: ( ruleExpressionRule ) + // InternalGeneratorDSL.g:6577:3: ruleExpressionRule + { + before(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_1_1_0()); + pushFollow(FOLLOW_2); + ruleExpressionRule(); + + state._fsp--; + + after(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_1_1_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__CallRule__ParametersAssignment_2_1_1" + + + // $ANTLR start "rule__DoubleLiteralRule__ValueAssignment" + // InternalGeneratorDSL.g:6586:1: rule__DoubleLiteralRule__ValueAssignment : ( ruleDOUBLE ) ; + public final void rule__DoubleLiteralRule__ValueAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6590:1: ( ( ruleDOUBLE ) ) + // InternalGeneratorDSL.g:6591:2: ( ruleDOUBLE ) + { + // InternalGeneratorDSL.g:6591:2: ( ruleDOUBLE ) + // InternalGeneratorDSL.g:6592:3: ruleDOUBLE + { + before(grammarAccess.getDoubleLiteralRuleAccess().getValueDOUBLEParserRuleCall_0()); + pushFollow(FOLLOW_2); + ruleDOUBLE(); + + state._fsp--; + + after(grammarAccess.getDoubleLiteralRuleAccess().getValueDOUBLEParserRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__DoubleLiteralRule__ValueAssignment" + + + // $ANTLR start "rule__IntegerLiteralRule__ValueAssignment" + // InternalGeneratorDSL.g:6601:1: rule__IntegerLiteralRule__ValueAssignment : ( RULE_INT ) ; + public final void rule__IntegerLiteralRule__ValueAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6605:1: ( ( RULE_INT ) ) + // InternalGeneratorDSL.g:6606:2: ( RULE_INT ) + { + // InternalGeneratorDSL.g:6606:2: ( RULE_INT ) + // InternalGeneratorDSL.g:6607:3: RULE_INT + { + before(grammarAccess.getIntegerLiteralRuleAccess().getValueINTTerminalRuleCall_0()); + match(input,RULE_INT,FOLLOW_2); + after(grammarAccess.getIntegerLiteralRuleAccess().getValueINTTerminalRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__IntegerLiteralRule__ValueAssignment" + + + // $ANTLR start "rule__StringLiteralRule__ValueAssignment" + // InternalGeneratorDSL.g:6616:1: rule__StringLiteralRule__ValueAssignment : ( RULE_STRING ) ; + public final void rule__StringLiteralRule__ValueAssignment() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6620:1: ( ( RULE_STRING ) ) + // InternalGeneratorDSL.g:6621:2: ( RULE_STRING ) + { + // InternalGeneratorDSL.g:6621:2: ( RULE_STRING ) + // InternalGeneratorDSL.g:6622:3: RULE_STRING + { + before(grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0()); + match(input,RULE_STRING,FOLLOW_2); + after(grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__StringLiteralRule__ValueAssignment" + + + // $ANTLR start "rule__BooleanLiteralRule__ValueAssignment_1_0" + // InternalGeneratorDSL.g:6631:1: rule__BooleanLiteralRule__ValueAssignment_1_0 : ( ( 'true' ) ) ; + public final void rule__BooleanLiteralRule__ValueAssignment_1_0() throws RecognitionException { + + int stackSize = keepStackSize(); + + try { + // InternalGeneratorDSL.g:6635:1: ( ( ( 'true' ) ) ) + // InternalGeneratorDSL.g:6636:2: ( ( 'true' ) ) + { + // InternalGeneratorDSL.g:6636:2: ( ( 'true' ) ) + // InternalGeneratorDSL.g:6637:3: ( 'true' ) + { + before(grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); + // InternalGeneratorDSL.g:6638:3: ( 'true' ) + // InternalGeneratorDSL.g:6639:4: 'true' + { + before(grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); + match(input,60,FOLLOW_2); + after(grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); + + } + + after(grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + + restoreStackSize(stackSize); + + } + return ; + } + // $ANTLR end "rule__BooleanLiteralRule__ValueAssignment_1_0" + + // Delegated rules + + + + + public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000008034000000L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000001000002L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000010000002L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000004000002L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000008020000002L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000030L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000005200000000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000008120000000L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000800000000L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000200004000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000002800000000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000002000000002L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000004000000000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000010000000000L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000020000000000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000200004000020L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0000200014000020L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000200000000000L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x00008000000000B0L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x00000000000000B2L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0001000000000000L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x10020002000010F0L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x1002000A000010F0L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000002000000000L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0002000000000000L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0004000000000002L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x1B420002001810F0L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0008000000000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0008000000000002L}); + public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0010000000000002L}); + public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x000000000007E000L}); + public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x000000000007E002L}); + public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000000180000L}); + public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000180002L}); + public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000000000E00000L}); + public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000000000E00002L}); + public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0020000000000000L}); + public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0080000000000000L}); + public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0040000000000000L}); + public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x1BC20002001810F0L}); + public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0100000000000000L}); + public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0400000000000000L}); + +} \ No newline at end of file diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src/de/evoal/languages/model/generator/dsl/ide/GeneratorDSLIdeModule.java b/src/languages/de.evoal.languages.model.generator.dsl.ide/src/de/evoal/languages/model/generator/dsl/ide/GeneratorDSLIdeModule.java new file mode 100644 index 0000000000000000000000000000000000000000..d0a5171e9651a281cb396df285e3bdb196376595 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src/de/evoal/languages/model/generator/dsl/ide/GeneratorDSLIdeModule.java @@ -0,0 +1,11 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ide; + + +/** + * Use this class to register ide components. + */ +public class GeneratorDSLIdeModule extends AbstractGeneratorDSLIdeModule { +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ide/src/de/evoal/languages/model/generator/dsl/ide/GeneratorDSLIdeSetup.java b/src/languages/de.evoal.languages.model.generator.dsl.ide/src/de/evoal/languages/model/generator/dsl/ide/GeneratorDSLIdeSetup.java new file mode 100644 index 0000000000000000000000000000000000000000..3bbf97fc55814ff9b0100792e88ff8713a20d1ea --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ide/src/de/evoal/languages/model/generator/dsl/ide/GeneratorDSLIdeSetup.java @@ -0,0 +1,22 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ide; + +import com.google.inject.Guice; +import com.google.inject.Injector; +import de.evoal.languages.model.generator.dsl.GeneratorDSLRuntimeModule; +import de.evoal.languages.model.generator.dsl.GeneratorDSLStandaloneSetup; +import org.eclipse.xtext.util.Modules2; + +/** + * Initialization support for running Xtext languages as language servers. + */ +public class GeneratorDSLIdeSetup extends GeneratorDSLStandaloneSetup { + + @Override + public Injector createInjector() { + return Guice.createInjector(Modules2.mixin(new GeneratorDSLRuntimeModule(), new GeneratorDSLIdeModule())); + } + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/.classpath b/src/languages/de.evoal.languages.model.generator.dsl.ui/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..9891e069465aca8402f51571c600c13c1ba1aff0 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src/"/> + <classpathentry kind="src" path="src-gen/"/> + <classpathentry kind="src" path="xtend-gen/"/> + <classpathentry kind="output" path="target/classes"/> +</classpath> diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/.project b/src/languages/de.evoal.languages.model.generator.dsl.ui/.project new file mode 100644 index 0000000000000000000000000000000000000000..91726d0ef3335b18083183ed6193def893a2d90a --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/.project @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>de.evoal.languages.model.generator.dsl.ui</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/META-INF/MANIFEST.MF b/src/languages/de.evoal.languages.model.generator.dsl.ui/META-INF/MANIFEST.MF new file mode 100644 index 0000000000000000000000000000000000000000..397f26d52bed3ebb36a116f905466ceb3f631afe --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/META-INF/MANIFEST.MF @@ -0,0 +1,25 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: de.evoal.languages.model.generator.dsl.ui +Bundle-ManifestVersion: 2 +Bundle-Name: de.evoal.languages.model.generator.dsl.ui +Bundle-Vendor: EvoAl Project +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: de.evoal.languages.model.generator.dsl.ui; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: de.evoal.languages.model.generator.dsl, + de.evoal.languages.model.generator.dsl.ide, + org.eclipse.xtext.ui, + org.eclipse.xtext.ui.shared, + org.eclipse.xtext.ui.codetemplates.ui, + org.eclipse.ui.editors;bundle-version="3.5.0", + org.eclipse.ui.ide;bundle-version="3.5.0", + org.eclipse.ui, + org.eclipse.compare, + org.eclipse.xtext.builder, + de.evoal.languages.model.instance.dsl.ui;bundle-version="1.0.0" +Import-Package: org.apache.log4j +Bundle-RequiredExecutionEnvironment: JavaSE-11 +Export-Package: de.evoal.languages.model.generator.dsl.ui.internal, + de.evoal.languages.model.generator.dsl.ui.quickfix, + de.evoal.languages.model.generator.dsl.ui.contentassist +Bundle-Activator: de.evoal.languages.model.generator.dsl.ui.internal.DslActivator diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/build.properties b/src/languages/de.evoal.languages.model.generator.dsl.ui/build.properties new file mode 100644 index 0000000000000000000000000000000000000000..323f56c513d04a1e0ba18fe2dad51f354dcb3201 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/build.properties @@ -0,0 +1,7 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/,\ + plugin.xml +bin.excludes = **/*.xtend diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/plugin.xml b/src/languages/de.evoal.languages.model.generator.dsl.ui/plugin.xml new file mode 100644 index 0000000000000000000000000000000000000000..f8b4681663e063d578b141f884d32015ab42da2b --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/plugin.xml @@ -0,0 +1,434 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> +<plugin> + <extension + point="org.eclipse.ui.editors"> + <editor + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor" + contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor" + default="true" + extensions="generator" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL" + name="GeneratorDSL Editor"> + </editor> + </extension> + <extension + point="org.eclipse.ui.handlers"> + <handler + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler" + commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration"> + <activeWhen> + <reference + definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened"> + </reference> + </activeWhen> + </handler> + <handler + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler" + commandId="de.evoal.languages.model.generator.dsl.GeneratorDSL.validate"> + <activeWhen> + <reference + definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened"> + </reference> + </activeWhen> + </handler> + <!-- copy qualified name --> + <handler + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler" + commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"> + <activeWhen> + <reference definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened" /> + </activeWhen> + </handler> + <handler + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler" + commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"> + <activeWhen> + <and> + <reference definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.XtextEditor.opened" /> + <iterate> + <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" /> + </iterate> + </and> + </activeWhen> + </handler> + </extension> + <extension point="org.eclipse.core.expressions.definitions"> + <definition id="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened"> + <and> + <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/> + <with variable="activeEditor"> + <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" + value="de.evoal.languages.model.generator.dsl.GeneratorDSL" + forcePluginActivation="true"/> + </with> + </and> + </definition> + <definition id="de.evoal.languages.model.generator.dsl.GeneratorDSL.XtextEditor.opened"> + <and> + <reference definitionId="isXtextEditorActive"/> + <with variable="activeEditor"> + <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName" + value="de.evoal.languages.model.generator.dsl.GeneratorDSL" + forcePluginActivation="true"/> + </with> + </and> + </definition> + </extension> + <extension + point="org.eclipse.ui.preferencePages"> + <page + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL" + name="GeneratorDSL"> + <keywordReference id="de.evoal.languages.model.generator.dsl.ui.keyword_GeneratorDSL"/> + </page> + <page + category="de.evoal.languages.model.generator.dsl.GeneratorDSL" + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL.coloring" + name="Syntax Coloring"> + <keywordReference id="de.evoal.languages.model.generator.dsl.ui.keyword_GeneratorDSL"/> + </page> + <page + category="de.evoal.languages.model.generator.dsl.GeneratorDSL" + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL.templates" + name="Templates"> + <keywordReference id="de.evoal.languages.model.generator.dsl.ui.keyword_GeneratorDSL"/> + </page> + </extension> + <extension + point="org.eclipse.ui.propertyPages"> + <page + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL" + name="GeneratorDSL"> + <keywordReference id="de.evoal.languages.model.generator.dsl.ui.keyword_GeneratorDSL"/> + <enabledWhen> + <adapt type="org.eclipse.core.resources.IProject"/> + </enabledWhen> + <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/> + </page> + </extension> + <extension + point="org.eclipse.ui.keywords"> + <keyword + id="de.evoal.languages.model.generator.dsl.ui.keyword_GeneratorDSL" + label="GeneratorDSL"/> + </extension> + <extension + point="org.eclipse.ui.commands"> + <command + description="Trigger expensive validation" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL.validate" + name="Validate"> + </command> + <!-- copy qualified name --> + <command + id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName" + categoryId="org.eclipse.ui.category.edit" + description="Copy the qualified name for the selected element" + name="Copy Qualified Name"> + </command> + <command + id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName" + categoryId="org.eclipse.ui.category.edit" + description="Copy the qualified name for the selected element" + name="Copy Qualified Name"> + </command> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution + locationURI="popup:#TextEditorContext?after=group.edit"> + <command + commandId="de.evoal.languages.model.generator.dsl.GeneratorDSL.validate" + style="push" + tooltip="Trigger expensive validation"> + <visibleWhen checkEnabled="false"> + <reference + definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened"> + </reference> + </visibleWhen> + </command> + </menuContribution> + <!-- copy qualified name --> + <menuContribution locationURI="popup:#TextEditorContext?after=copy"> + <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName" + style="push" tooltip="Copy Qualified Name"> + <visibleWhen checkEnabled="false"> + <reference definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened" /> + </visibleWhen> + </command> + </menuContribution> + <menuContribution locationURI="menu:edit?after=copy"> + <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName" + style="push" tooltip="Copy Qualified Name"> + <visibleWhen checkEnabled="false"> + <reference definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened" /> + </visibleWhen> + </command> + </menuContribution> + <menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions"> + <command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName" + style="push" tooltip="Copy Qualified Name"> + <visibleWhen checkEnabled="false"> + <and> + <reference definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.XtextEditor.opened" /> + <iterate> + <adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" /> + </iterate> + </and> + </visibleWhen> + </command> + </menuContribution> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution locationURI="popup:#TextEditorContext?endof=group.find"> + <command commandId="org.eclipse.xtext.ui.editor.FindReferences"> + <visibleWhen checkEnabled="false"> + <reference definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened"> + </reference> + </visibleWhen> + </command> + </menuContribution> + </extension> + <extension point="org.eclipse.ui.handlers"> + <handler + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler" + commandId="org.eclipse.xtext.ui.editor.FindReferences"> + <activeWhen> + <reference + definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened"> + </reference> + </activeWhen> + </handler> + </extension> + <extension point="org.eclipse.core.contenttype.contentTypes"> + <content-type + base-type="org.eclipse.core.runtime.text" + file-extensions="generator" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL.contenttype" + name="GeneratorDSL File" + priority="normal"> + </content-type> + </extension> + <!-- adding resource factories --> + <extension + point="org.eclipse.emf.ecore.extension_parser"> + <parser + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory" + type="generator"> + </parser> + </extension> + <extension point="org.eclipse.xtext.extension_resourceServiceProvider"> + <resourceServiceProvider + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider" + uriExtension="generator"> + </resourceServiceProvider> + </extension> + <!-- marker definitions for de.evoal.languages.model.generator.dsl.GeneratorDSL --> + <extension + id="generatordsl.check.fast" + name="GeneratorDSL Problem" + point="org.eclipse.core.resources.markers"> + <super type="org.eclipse.xtext.ui.check.fast"/> + <persistent value="true"/> + </extension> + <extension + id="generatordsl.check.normal" + name="GeneratorDSL Problem" + point="org.eclipse.core.resources.markers"> + <super type="org.eclipse.xtext.ui.check.normal"/> + <persistent value="true"/> + </extension> + <extension + id="generatordsl.check.expensive" + name="GeneratorDSL Problem" + point="org.eclipse.core.resources.markers"> + <super type="org.eclipse.xtext.ui.check.expensive"/> + <persistent value="true"/> + </extension> + <extension point="org.eclipse.ui.preferencePages"> + <page + category="de.evoal.languages.model.generator.dsl.GeneratorDSL" + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.validation.ValidatorPreferencePage" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL.validator.preferencePage" + name="Errors/Warnings"> + <keywordReference id="de.evoal.languages.model.generator.dsl.ui.keyword_GeneratorDSL"/> + </page> + </extension> + <extension point="org.eclipse.xtext.builder.participant"> + <participant + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant" + fileExtensions="generator"/> + </extension> + <extension point="org.eclipse.ui.preferencePages"> + <page + category="de.evoal.languages.model.generator.dsl.GeneratorDSL" + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL.compiler.preferencePage" + name="Compiler"> + <keywordReference id="de.evoal.languages.model.generator.dsl.ui.keyword_GeneratorDSL"/> + </page> + </extension> + <extension point="org.eclipse.ui.propertyPages"> + <page + category="de.evoal.languages.model.generator.dsl.GeneratorDSL" + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL.compiler.propertyPage" + name="Compiler"> + <keywordReference id="de.evoal.languages.model.generator.dsl.ui.keyword_GeneratorDSL"/> + <enabledWhen> + <adapt type="org.eclipse.core.resources.IProject"/> + </enabledWhen> + <filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/> + </page> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration"> + <command + commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL.OpenGeneratedCode" + style="push"> + <visibleWhen checkEnabled="false"> + <reference definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened" /> + </visibleWhen> + </command> + </menuContribution> + </extension> + <extension point="org.eclipse.ui.handlers"> + <handler + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler" + commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"> + <activeWhen> + <reference definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened" /> + </activeWhen> + </handler> + </extension> + <!-- Quick Outline --> + <extension + point="org.eclipse.ui.handlers"> + <handler + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler" + commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"> + <activeWhen> + <reference + definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened"> + </reference> + </activeWhen> + </handler> + </extension> + <extension + point="org.eclipse.ui.commands"> + <command + description="Open the quick outline." + id="org.eclipse.xtext.ui.editor.outline.QuickOutline" + name="Quick Outline"> + </command> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution + locationURI="popup:#TextEditorContext?after=group.open"> + <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline" + style="push" + tooltip="Open Quick Outline"> + <visibleWhen checkEnabled="false"> + <reference definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened"/> + </visibleWhen> + </command> + </menuContribution> + </extension> + <!-- quickfix marker resolution generator for de.evoal.languages.model.generator.dsl.GeneratorDSL --> + <extension + point="org.eclipse.ui.ide.markerResolution"> + <markerResolutionGenerator + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator" + markerType="de.evoal.languages.model.generator.dsl.ui.generatordsl.check.fast"> + <attribute + name="FIXABLE_KEY" + value="true"> + </attribute> + </markerResolutionGenerator> + <markerResolutionGenerator + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator" + markerType="de.evoal.languages.model.generator.dsl.ui.generatordsl.check.normal"> + <attribute + name="FIXABLE_KEY" + value="true"> + </attribute> + </markerResolutionGenerator> + <markerResolutionGenerator + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator" + markerType="de.evoal.languages.model.generator.dsl.ui.generatordsl.check.expensive"> + <attribute + name="FIXABLE_KEY" + value="true"> + </attribute> + </markerResolutionGenerator> + </extension> + <!-- Rename Refactoring --> + <extension point="org.eclipse.ui.handlers"> + <handler + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler" + commandId="org.eclipse.xtext.ui.refactoring.RenameElement"> + <activeWhen> + <reference + definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened"> + </reference> + </activeWhen> + </handler> + </extension> + <extension point="org.eclipse.ui.menus"> + <menuContribution + locationURI="popup:#TextEditorContext?after=group.edit"> + <command commandId="org.eclipse.xtext.ui.refactoring.RenameElement" + style="push"> + <visibleWhen checkEnabled="false"> + <reference + definitionId="de.evoal.languages.model.generator.dsl.GeneratorDSL.Editor.opened"> + </reference> + </visibleWhen> + </command> + </menuContribution> + </extension> + <extension point="org.eclipse.ui.preferencePages"> + <page + category="de.evoal.languages.model.generator.dsl.GeneratorDSL" + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage" + id="de.evoal.languages.model.generator.dsl.GeneratorDSL.refactoring" + name="Refactoring"> + <keywordReference id="de.evoal.languages.model.generator.dsl.ui.keyword_GeneratorDSL"/> + </page> + </extension> + <extension point="org.eclipse.compare.contentViewers"> + <viewer id="de.evoal.languages.model.generator.dsl.GeneratorDSL.compare.contentViewers" + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator" + extensions="generator"> + </viewer> + <contentTypeBinding + contentTypeId="de.evoal.languages.model.generator.dsl.GeneratorDSL.contenttype" + contentViewerId="de.evoal.languages.model.generator.dsl.GeneratorDSL.compare.contentViewers" /> + </extension> + <extension point="org.eclipse.compare.contentMergeViewers"> + <viewer id="de.evoal.languages.model.generator.dsl.GeneratorDSL.compare.contentMergeViewers" + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator" + extensions="generator" label="GeneratorDSL Compare"> + </viewer> + <contentTypeBinding + contentTypeId="de.evoal.languages.model.generator.dsl.GeneratorDSL.contenttype" + contentMergeViewerId="de.evoal.languages.model.generator.dsl.GeneratorDSL.compare.contentMergeViewers" /> + </extension> + <extension point="org.eclipse.ui.editors.documentProviders"> + <provider id="de.evoal.languages.model.generator.dsl.GeneratorDSL.editors.documentProviders" + class="de.evoal.languages.model.generator.dsl.ui.GeneratorDSLExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider" + extensions="generator"> + </provider> + </extension> + <extension point="org.eclipse.team.core.fileTypes"> + <fileTypes + extension="generator" + type="text"> + </fileTypes> + </extension> +</plugin> diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/pom.xml b/src/languages/de.evoal.languages.model.generator.dsl.ui/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..cbd7ece2da730313b8fc108e5037e4207eccd8ec --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/pom.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>de.evoal.languages</groupId> + <artifactId>de.evoal.languages.releng.parent</artifactId> + <version>1.0.0-SNAPSHOT</version> + <relativePath>../de.evoal.languages.releng.parent</relativePath> + </parent> + + <artifactId>de.evoal.languages.model.generator.dsl.ui</artifactId> + <packaging>eclipse-plugin</packaging> +</project> diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/AbstractGeneratorDSLUiModule.java b/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/AbstractGeneratorDSLUiModule.java new file mode 100644 index 0000000000000000000000000000000000000000..69adef3a605d1832c454137f39900f7896a806fc --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/AbstractGeneratorDSLUiModule.java @@ -0,0 +1,293 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ui; + +import com.google.inject.Binder; +import com.google.inject.Provider; +import com.google.inject.name.Names; +import de.evoal.languages.model.generator.dsl.ide.contentassist.antlr.GeneratorDSLParser; +import de.evoal.languages.model.generator.dsl.ide.contentassist.antlr.PartialGeneratorDSLContentAssistParser; +import de.evoal.languages.model.generator.dsl.ide.contentassist.antlr.internal.InternalGeneratorDSLLexer; +import de.evoal.languages.model.generator.dsl.ui.contentassist.GeneratorDSLProposalProvider; +import de.evoal.languages.model.generator.dsl.ui.labeling.GeneratorDSLDescriptionLabelProvider; +import de.evoal.languages.model.generator.dsl.ui.labeling.GeneratorDSLLabelProvider; +import de.evoal.languages.model.generator.dsl.ui.outline.GeneratorDSLOutlineTreeProvider; +import de.evoal.languages.model.generator.dsl.ui.quickfix.GeneratorDSLQuickfixProvider; +import de.evoal.languages.model.generator.dsl.validation.GeneratorDSLValidatorConfigurationBlock; +import org.eclipse.compare.IViewerCreator; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.jface.viewers.ILabelProvider; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.xtext.builder.BuilderParticipant; +import org.eclipse.xtext.builder.EclipseOutputConfigurationProvider; +import org.eclipse.xtext.builder.IXtextBuilderParticipant; +import org.eclipse.xtext.builder.builderState.IBuilderState; +import org.eclipse.xtext.builder.clustering.CurrentDescriptions; +import org.eclipse.xtext.builder.impl.PersistentDataAwareDirtyResource; +import org.eclipse.xtext.builder.nature.NatureAddingEditorCallback; +import org.eclipse.xtext.builder.preferences.BuilderPreferenceAccess; +import org.eclipse.xtext.generator.IContextualOutputConfigurationProvider; +import org.eclipse.xtext.ide.LexerIdeBindings; +import org.eclipse.xtext.ide.editor.contentassist.antlr.IContentAssistParser; +import org.eclipse.xtext.ide.editor.contentassist.antlr.internal.Lexer; +import org.eclipse.xtext.ide.editor.partialEditing.IPartialEditingContentAssistParser; +import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider; +import org.eclipse.xtext.parser.antlr.ITokenDefProvider; +import org.eclipse.xtext.parser.antlr.LexerProvider; +import org.eclipse.xtext.resource.IResourceDescriptions; +import org.eclipse.xtext.resource.containers.IAllContainersState; +import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider; +import org.eclipse.xtext.service.SingletonBinding; +import org.eclipse.xtext.ui.DefaultUiModule; +import org.eclipse.xtext.ui.UIBindings; +import org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator; +import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialEditingContentAssistContextFactory; +import org.eclipse.xtext.ui.codetemplates.ui.partialEditing.PartialEditingContentAssistContextFactory; +import org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage; +import org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration; +import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar; +import org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry; +import org.eclipse.xtext.ui.compare.DefaultViewerCreator; +import org.eclipse.xtext.ui.editor.DocumentBasedDirtyResource; +import org.eclipse.xtext.ui.editor.IXtextEditorCallback; +import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; +import org.eclipse.xtext.ui.editor.contentassist.FQNPrefixMatcher; +import org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider; +import org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper; +import org.eclipse.xtext.ui.editor.contentassist.PrefixMatcher; +import org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper; +import org.eclipse.xtext.ui.editor.contentassist.antlr.DelegatingContentAssistContextFactory; +import org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider; +import org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider; +import org.eclipse.xtext.ui.editor.preferences.IPreferenceStoreInitializer; +import org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider; +import org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage; +import org.eclipse.xtext.ui.refactoring.IDependentElementsCalculator; +import org.eclipse.xtext.ui.refactoring.IReferenceUpdater; +import org.eclipse.xtext.ui.refactoring.IRenameRefactoringProvider; +import org.eclipse.xtext.ui.refactoring.IRenameStrategy; +import org.eclipse.xtext.ui.refactoring.impl.DefaultDependentElementsCalculator; +import org.eclipse.xtext.ui.refactoring.impl.DefaultReferenceUpdater; +import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameRefactoringProvider; +import org.eclipse.xtext.ui.refactoring.impl.DefaultRenameStrategy; +import org.eclipse.xtext.ui.refactoring.ui.DefaultRenameSupport; +import org.eclipse.xtext.ui.refactoring.ui.IRenameSupport; +import org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferences; +import org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider; +import org.eclipse.xtext.ui.shared.Access; +import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock; + +/** + * Manual modifications go to {@link GeneratorDSLUiModule}. + */ +@SuppressWarnings("all") +public abstract class AbstractGeneratorDSLUiModule extends DefaultUiModule { + + public AbstractGeneratorDSLUiModule(AbstractUIPlugin plugin) { + super(plugin); + } + + // contributed by org.eclipse.xtext.xtext.generator.ImplicitFragment + public Provider<? extends IAllContainersState> provideIAllContainersState() { + return Access.getJavaProjectsState(); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IProposalConflictHelper> bindIProposalConflictHelper() { + return AntlrProposalConflictHelper.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureContentAssistLexer(Binder binder) { + binder.bind(Lexer.class) + .annotatedWith(Names.named(LexerIdeBindings.CONTENT_ASSIST)) + .to(InternalGeneratorDSLLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureHighlightingLexer(Binder binder) { + binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class) + .annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING)) + .to(de.evoal.languages.model.generator.dsl.parser.antlr.internal.InternalGeneratorDSLLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureHighlightingTokenDefProvider(Binder binder) { + binder.bind(ITokenDefProvider.class) + .annotatedWith(Names.named(LexerIdeBindings.HIGHLIGHTING)) + .to(AntlrTokenDefProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends ContentAssistContext.Factory> bindContentAssistContext$Factory() { + return DelegatingContentAssistContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IContentAssistParser> bindIContentAssistParser() { + return GeneratorDSLParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureContentAssistLexerProvider(Binder binder) { + binder.bind(InternalGeneratorDSLLexer.class).toProvider(LexerProvider.create(InternalGeneratorDSLLexer.class)); + } + + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 + public Class<? extends AbstractValidatorConfigurationBlock> bindAbstractValidatorConfigurationBlock() { + return GeneratorDSLValidatorConfigurationBlock.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class<? extends PrefixMatcher> bindPrefixMatcher() { + return FQNPrefixMatcher.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class<? extends IDependentElementsCalculator> bindIDependentElementsCalculator() { + return DefaultDependentElementsCalculator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptionsBuilderScope(Binder binder) { + binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(CurrentDescriptions.ResourceSetAware.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class<? extends IXtextEditorCallback> bindIXtextEditorCallback() { + return NatureAddingEditorCallback.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class<? extends IContextualOutputConfigurationProvider> bindIContextualOutputConfigurationProvider() { + return EclipseOutputConfigurationProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptionsPersisted(Binder binder) { + binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(IBuilderState.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class<? extends DocumentBasedDirtyResource> bindDocumentBasedDirtyResource() { + return PersistentDataAwareDirtyResource.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public Class<? extends IXtextBuilderParticipant> bindIXtextBuilderParticipant() { + return BuilderParticipant.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public IWorkspaceRoot bindIWorkspaceRootToInstance() { + return ResourcesPlugin.getWorkspace().getRoot(); + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public void configureBuilderPreferenceStoreInitializer(Binder binder) { + binder.bind(IPreferenceStoreInitializer.class) + .annotatedWith(Names.named("builderPreferenceInitializer")) + .to(BuilderPreferenceAccess.Initializer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2 + public Class<? extends ILabelProvider> bindILabelProvider() { + return GeneratorDSLLabelProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.labeling.LabelProviderFragment2 + public void configureResourceUIServiceLabelProvider(Binder binder) { + binder.bind(ILabelProvider.class).annotatedWith(ResourceServiceDescriptionLabelProvider.class).to(GeneratorDSLDescriptionLabelProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2 + public Class<? extends IOutlineTreeProvider> bindIOutlineTreeProvider() { + return GeneratorDSLOutlineTreeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.outline.OutlineTreeProviderFragment2 + public Class<? extends IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() { + return GeneratorDSLOutlineTreeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.quickfix.QuickfixProviderFragment2 + public Class<? extends IssueResolutionProvider> bindIssueResolutionProvider() { + return GeneratorDSLQuickfixProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.contentAssist.ContentAssistFragment2 + public Class<? extends IContentProposalProvider> bindIContentProposalProvider() { + return GeneratorDSLProposalProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public void configureIPreferenceStoreInitializer(Binder binder) { + binder.bind(IPreferenceStoreInitializer.class) + .annotatedWith(Names.named("RefactoringPreferences")) + .to(RefactoringPreferences.Initializer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IRenameStrategy> bindIRenameStrategy() { + return DefaultRenameStrategy.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IReferenceUpdater> bindIReferenceUpdater() { + return DefaultReferenceUpdater.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IRenameRefactoringProvider> bindIRenameRefactoringProvider() { + return DefaultRenameRefactoringProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.refactoring.RefactorElementNameFragment2 + public Class<? extends IRenameSupport.Factory> bindIRenameSupport$Factory() { + return DefaultRenameSupport.Factory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Provider<? extends TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() { + return AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider(); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Provider<? extends LanguageRegistry> provideLanguageRegistry() { + return AccessibleCodetemplatesActivator.getLanguageRegistry(); + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + @SingletonBinding(eager=true) + public Class<? extends LanguageRegistrar> bindLanguageRegistrar() { + return LanguageRegistrar.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class<? extends XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() { + return AdvancedTemplatesPreferencePage.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class<? extends IPartialEditingContentAssistParser> bindIPartialEditingContentAssistParser() { + return PartialGeneratorDSLContentAssistParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.templates.CodetemplatesGeneratorFragment2 + public Class<? extends IPartialEditingContentAssistContextFactory> bindIPartialEditingContentAssistContextFactory() { + return PartialEditingContentAssistContextFactory.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2 + public Class<? extends IViewerCreator> bindIViewerCreator() { + return DefaultViewerCreator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.ui.compare.CompareFragment2 + public void configureCompareViewerTitle(Binder binder) { + binder.bind(String.class).annotatedWith(Names.named(UIBindings.COMPARE_VIEWER_TITLE)).toInstance("GeneratorDSL Compare"); + } + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/GeneratorDSLExecutableExtensionFactory.java b/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/GeneratorDSLExecutableExtensionFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..0331db07f5267be0678c7031a4f404975abdafb9 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/GeneratorDSLExecutableExtensionFactory.java @@ -0,0 +1,29 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ui; + +import com.google.inject.Injector; +import de.evoal.languages.model.generator.dsl.ui.internal.DslActivator; +import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory; +import org.osgi.framework.Bundle; +import org.osgi.framework.FrameworkUtil; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class GeneratorDSLExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory { + + @Override + protected Bundle getBundle() { + return FrameworkUtil.getBundle(DslActivator.class); + } + + @Override + protected Injector getInjector() { + DslActivator activator = DslActivator.getInstance(); + return activator != null ? activator.getInjector(DslActivator.DE_EVOAL_LANGUAGES_MODEL_GENERATOR_DSL_GENERATORDSL) : null; + } + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/contentassist/AbstractGeneratorDSLProposalProvider.java b/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/contentassist/AbstractGeneratorDSLProposalProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..afbcafa16fdd811c6cc5fce58b71a42375215227 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/contentassist/AbstractGeneratorDSLProposalProvider.java @@ -0,0 +1,160 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ui.contentassist; + +import de.evoal.languages.model.instance.dsl.ui.contentassist.InstanceLanguageProposalProvider; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.xtext.Assignment; +import org.eclipse.xtext.CrossReference; +import org.eclipse.xtext.RuleCall; +import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; +import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor; + +/** + * Represents a generated, default implementation of superclass {@link InstanceLanguageProposalProvider}. + * Methods are dynamically dispatched on the first parameter, i.e., you can override them + * with a more concrete subtype. + */ +public abstract class AbstractGeneratorDSLProposalProvider extends InstanceLanguageProposalProvider { + + public void completeConfigurationRule_Uses(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConfigurationRule_Generators(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConfigurationRule_Functions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeConfigurationRule_Statements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeUseRule_ImportURI(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeParametrizedFunctionDefinitionRule_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeParametrizedFunctionDefinitionRule_Definition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeGeneratorDefinitionRule_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeGeneratorDefinitionRule_Definition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeForStatementRule_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeForStatementRule_Range(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeForStatementRule_Statements(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeCounterRangeRule_Start(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeCounterRangeRule_End(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFunctionsRule_FunctionReferences(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeFunctionReferencesRule_Functions(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeGeneratorsRule_GeneratorReferences(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeGeneratorReferencesRule_Generators(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeApplyStatementRule_File(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeApplyStatementRule_Count(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeApplyStatementRule_Function(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeApplyStatementRule_Generator(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor); + } + public void completeGeneratorDefinitionReferenceRule_Definition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeLoopVariableReference_Definition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeFunctionDefinitionReferenceRule_Definition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + public void completeParametrizedFunctionDefinitionReferenceRule_Definition(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + lookupCrossReference(((CrossReference)assignment.getTerminal()), context, acceptor); + } + + public void complete_ConfigurationRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_UseRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ParametrizedFunctionDefinitionRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_GeneratorDefinitionRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_StatementRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ForStatementRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_RangeRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_CounterRangeRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_FunctionsRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_FunctionReferencesRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_GeneratorsRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_GeneratorReferencesRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ApplyStatementRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_GeneratorReferenceRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_GeneratorDefinitionReferenceRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_FunctionReferenceRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_FunctionDefReferenceRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_LoopVariableReference(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_FunctionDefinitionReferenceRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } + public void complete_ParametrizedFunctionDefinitionReferenceRule(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) { + // subclasses may override + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/internal/DslActivator.java b/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/internal/DslActivator.java new file mode 100644 index 0000000000000000000000000000000000000000..7aa799d9cb5790c42a92df4ef880c54c6ae7d0f2 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/ui/internal/DslActivator.java @@ -0,0 +1,94 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ui.internal; + +import com.google.common.collect.Maps; +import com.google.inject.Guice; +import com.google.inject.Injector; +import de.evoal.languages.model.generator.dsl.GeneratorDSLRuntimeModule; +import de.evoal.languages.model.generator.dsl.ui.GeneratorDSLUiModule; +import java.util.Collections; +import java.util.Map; +import org.apache.log4j.Logger; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.eclipse.xtext.ui.shared.SharedStateModule; +import org.eclipse.xtext.util.Modules2; +import org.osgi.framework.BundleContext; + +/** + * This class was generated. Customizations should only happen in a newly + * introduced subclass. + */ +public class DslActivator extends AbstractUIPlugin { + + public static final String PLUGIN_ID = "de.evoal.languages.model.generator.dsl.ui"; + public static final String DE_EVOAL_LANGUAGES_MODEL_GENERATOR_DSL_GENERATORDSL = "de.evoal.languages.model.generator.dsl.GeneratorDSL"; + + private static final Logger logger = Logger.getLogger(DslActivator.class); + + private static DslActivator INSTANCE; + + private Map<String, Injector> injectors = Collections.synchronizedMap(Maps.<String, Injector> newHashMapWithExpectedSize(1)); + + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + INSTANCE = this; + } + + @Override + public void stop(BundleContext context) throws Exception { + injectors.clear(); + INSTANCE = null; + super.stop(context); + } + + public static DslActivator getInstance() { + return INSTANCE; + } + + public Injector getInjector(String language) { + synchronized (injectors) { + Injector injector = injectors.get(language); + if (injector == null) { + injectors.put(language, injector = createInjector(language)); + } + return injector; + } + } + + protected Injector createInjector(String language) { + try { + com.google.inject.Module runtimeModule = getRuntimeModule(language); + com.google.inject.Module sharedStateModule = getSharedStateModule(); + com.google.inject.Module uiModule = getUiModule(language); + com.google.inject.Module mergedModule = Modules2.mixin(runtimeModule, sharedStateModule, uiModule); + return Guice.createInjector(mergedModule); + } catch (Exception e) { + logger.error("Failed to create injector for " + language); + logger.error(e.getMessage(), e); + throw new RuntimeException("Failed to create injector for " + language, e); + } + } + + protected com.google.inject.Module getRuntimeModule(String grammar) { + if (DE_EVOAL_LANGUAGES_MODEL_GENERATOR_DSL_GENERATORDSL.equals(grammar)) { + return new GeneratorDSLRuntimeModule(); + } + throw new IllegalArgumentException(grammar); + } + + protected com.google.inject.Module getUiModule(String grammar) { + if (DE_EVOAL_LANGUAGES_MODEL_GENERATOR_DSL_GENERATORDSL.equals(grammar)) { + return new GeneratorDSLUiModule(this); + } + throw new IllegalArgumentException(grammar); + } + + protected com.google.inject.Module getSharedStateModule() { + return new SharedStateModule(); + } + + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/validation/GeneratorDSLValidatorConfigurationBlock.java b/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/validation/GeneratorDSLValidatorConfigurationBlock.java new file mode 100644 index 0000000000000000000000000000000000000000..2f4c04441e340220cdfed13ef6aa90f6062dc157 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/src-gen/de/evoal/languages/model/generator/dsl/validation/GeneratorDSLValidatorConfigurationBlock.java @@ -0,0 +1,35 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.validation; + +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.xtext.ui.validation.AbstractValidatorConfigurationBlock; + +@SuppressWarnings("restriction") +public class GeneratorDSLValidatorConfigurationBlock extends AbstractValidatorConfigurationBlock { + + protected static final String SETTINGS_SECTION_NAME = "GeneratorDSL"; + + @Override + protected void fillSettingsPage(Composite composite, int nColumns, int defaultIndent) { + addComboBox(GeneratorDSLConfigurableIssueCodesProvider.DEPRECATED_MODEL_PART, "Deprecated Model Part", composite, defaultIndent); + } + + @Override + public void dispose() { + storeSectionExpansionStates(getDialogSettings()); + super.dispose(); + } + + @Override + protected IDialogSettings getDialogSettings() { + IDialogSettings dialogSettings = super.getDialogSettings(); + IDialogSettings section = dialogSettings.getSection(SETTINGS_SECTION_NAME); + if (section == null) { + return dialogSettings.addNewSection(SETTINGS_SECTION_NAME); + } + return section; + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/GeneratorDSLUiModule.java b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/GeneratorDSLUiModule.java new file mode 100644 index 0000000000000000000000000000000000000000..92bce99ae783c71a1684a4b8d61113b510659e38 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/GeneratorDSLUiModule.java @@ -0,0 +1,16 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ui; + +import org.eclipse.ui.plugin.AbstractUIPlugin; + +/** + * Use this class to register components to be used within the Eclipse IDE. + */ +public class GeneratorDSLUiModule extends AbstractGeneratorDSLUiModule { + + public GeneratorDSLUiModule(AbstractUIPlugin plugin) { + super(plugin); + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/contentassist/GeneratorDSLProposalProvider.java b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/contentassist/GeneratorDSLProposalProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..ef7b1047305784aca3321cc35b51b93d819fe4fd --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/contentassist/GeneratorDSLProposalProvider.java @@ -0,0 +1,12 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ui.contentassist; + + +/** + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#content-assist + * on how to customize the content assistant. + */ +public class GeneratorDSLProposalProvider extends AbstractGeneratorDSLProposalProvider { +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/labeling/GeneratorDSLDescriptionLabelProvider.java b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/labeling/GeneratorDSLDescriptionLabelProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..1564b459ef0d35811c48f42e347a3fade9f54541 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/labeling/GeneratorDSLDescriptionLabelProvider.java @@ -0,0 +1,25 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ui.labeling; + +import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider; + +/** + * Provides labels for IEObjectDescriptions and IResourceDescriptions. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#label-provider + */ +public class GeneratorDSLDescriptionLabelProvider extends DefaultDescriptionLabelProvider { + + // Labels and icons can be computed like this: +// @Override +// public String text(IEObjectDescription ele) { +// return ele.getName().toString(); +// } +// +// @Override +// public String image(IEObjectDescription ele) { +// return ele.getEClass().getName() + ".gif"; +// } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/labeling/GeneratorDSLLabelProvider.java b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/labeling/GeneratorDSLLabelProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..601245ebbda8f6faed958e35a8bbc5d4fad3da7f --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/labeling/GeneratorDSLLabelProvider.java @@ -0,0 +1,31 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ui.labeling; + +import com.google.inject.Inject; +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; +import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider; + +/** + * Provides labels for EObjects. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#label-provider + */ +public class GeneratorDSLLabelProvider extends DefaultEObjectLabelProvider { + + @Inject + public GeneratorDSLLabelProvider(AdapterFactoryLabelProvider delegate) { + super(delegate); + } + + // Labels and icons can be computed like this: + +// String text(Greeting ele) { +// return "A greeting to " + ele.getName(); +// } +// +// String image(Greeting ele) { +// return "Greeting.gif"; +// } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/outline/GeneratorDSLOutlineTreeProvider.java b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/outline/GeneratorDSLOutlineTreeProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..2f80830ef45fe0c36a65deac6abf590a9f9fe924 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/outline/GeneratorDSLOutlineTreeProvider.java @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ui.outline; + +import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider; + +/** + * Customization of the default outline structure. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#outline + */ +public class GeneratorDSLOutlineTreeProvider extends DefaultOutlineTreeProvider { + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/quickfix/GeneratorDSLQuickfixProvider.java b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/quickfix/GeneratorDSLQuickfixProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..47330899eae5f6ea2eeb596578bc912e46040926 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl.ui/src/de/evoal/languages/model/generator/dsl/ui/quickfix/GeneratorDSLQuickfixProvider.java @@ -0,0 +1,26 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.ui.quickfix; + +import de.evoal.languages.model.instance.dsl.ui.quickfix.InstanceLanguageQuickfixProvider; + +/** + * Custom quickfixes. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes + */ +public class GeneratorDSLQuickfixProvider extends InstanceLanguageQuickfixProvider { + +// @Fix(GeneratorDSLValidator.INVALID_NAME) +// public void capitalizeName(final Issue issue, IssueResolutionAcceptor acceptor) { +// acceptor.accept(issue, "Capitalize name", "Capitalize the name.", "upcase.png", new IModification() { +// public void apply(IModificationContext context) throws BadLocationException { +// IXtextDocument xtextDocument = context.getXtextDocument(); +// String firstLetter = xtextDocument.get(issue.getOffset(), 1); +// xtextDocument.replace(issue.getOffset(), 1, firstLetter.toUpperCase()); +// } +// }); +// } + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/.antlr-generator-3.2.0-patch.jar b/src/languages/de.evoal.languages.model.generator.dsl/.antlr-generator-3.2.0-patch.jar new file mode 100644 index 0000000000000000000000000000000000000000..90516fd7ac76a3ec685e046f91eb762e68e20586 Binary files /dev/null and b/src/languages/de.evoal.languages.model.generator.dsl/.antlr-generator-3.2.0-patch.jar differ diff --git a/src/languages/de.evoal.languages.model.generator.dsl/.classpath b/src/languages/de.evoal.languages.model.generator.dsl/.classpath new file mode 100644 index 0000000000000000000000000000000000000000..9891e069465aca8402f51571c600c13c1ba1aff0 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/.classpath @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/> + <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> + <classpathentry kind="src" path="src/"/> + <classpathentry kind="src" path="src-gen/"/> + <classpathentry kind="src" path="xtend-gen/"/> + <classpathentry kind="output" path="target/classes"/> +</classpath> diff --git a/src/languages/de.evoal.languages.model.generator.dsl/.project b/src/languages/de.evoal.languages.model.generator.dsl/.project new file mode 100644 index 0000000000000000000000000000000000000000..2e3b1ae4ad397909ddc35c4083ab6e1678d7157c --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/.project @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>de.evoal.languages.model.generator.dsl</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.xtext.ui.shared.xtextBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.ManifestBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.pde.SchemaBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + <nature>org.eclipse.xtext.ui.shared.xtextNature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + </natures> +</projectDescription> diff --git a/src/languages/de.evoal.languages.model.generator.dsl/META-INF/MANIFEST.MF b/src/languages/de.evoal.languages.model.generator.dsl/META-INF/MANIFEST.MF new file mode 100644 index 0000000000000000000000000000000000000000..0e6313845c60876b8b14800dda900e95d66c3296 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/META-INF/MANIFEST.MF @@ -0,0 +1,32 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: de.evoal.languages.model.generator.dsl +Bundle-ManifestVersion: 2 +Bundle-Name: de.evoal.languages.model.generator.dsl +Bundle-Vendor: EvoAl Project +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: de.evoal.languages.model.generator.dsl; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: org.eclipse.xtext, + org.eclipse.xtext.xbase, + org.eclipse.equinox.common;bundle-version="3.5.0", + de.evoal.languages.model.instance.dsl;bundle-version="1.0.0";visibility:=reexport, + org.eclipse.emf.ecore, + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0", + org.eclipse.xtext.util, + org.eclipse.emf.common, + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)", + de.evoal.languages.model.dl;bundle-version="1.0.0", + de.evoal.languages.model.ddl;bundle-version="1.0.0" +Bundle-RequiredExecutionEnvironment: JavaSE-11 +Export-Package: de.evoal.languages.model.generator.dsl, + de.evoal.languages.model.generator.dsl.services, + de.evoal.languages.model.generator.dsl.validation, + de.evoal.languages.model.generator.dsl.parser.antlr.internal, + de.evoal.languages.model.generator.dsl.generatorDSL, + de.evoal.languages.model.generator.dsl.serializer, + de.evoal.languages.model.generator.dsl.generatorDSL.impl, + de.evoal.languages.model.generator.dsl.generatorDSL.util, + de.evoal.languages.model.generator.dsl.scoping, + de.evoal.languages.model.generator.dsl.generator, + de.evoal.languages.model.generator.dsl.parser.antlr +Import-Package: org.apache.log4j diff --git a/src/languages/de.evoal.languages.model.generator.dsl/build.properties b/src/languages/de.evoal.languages.model.generator.dsl/build.properties new file mode 100644 index 0000000000000000000000000000000000000000..3e516cd47516345367f1d595d7157c0ca50d1d23 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/build.properties @@ -0,0 +1,19 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = model/generated/,\ + .,\ + META-INF/,\ + plugin.xml +bin.excludes = **/*.mwe2,\ + **/*.xtend +additional.bundles = org.eclipse.xtext.xbase,\ + org.eclipse.xtext.common.types,\ + org.eclipse.xtext.xtext.generator,\ + org.eclipse.emf.codegen.ecore,\ + org.eclipse.emf.mwe.utils,\ + org.eclipse.emf.mwe2.launch,\ + org.eclipse.emf.mwe2.lib,\ + org.objectweb.asm,\ + org.apache.commons.logging,\ + org.apache.log4j diff --git a/src/languages/de.evoal.languages.model.generator.dsl/model/generated/GeneratorDSL.ecore b/src/languages/de.evoal.languages.model.generator.dsl/model/generated/GeneratorDSL.ecore new file mode 100644 index 0000000000000000000000000000000000000000..d8f4f54405b7f5a89bf6770e5b7cd8ebaca9a78b --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/model/generated/GeneratorDSL.ecore @@ -0,0 +1,81 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="generatorDSL" nsURI="http://www.evoal.de/languages/model/generator/dsl/GeneratorDSL" + nsPrefix="generatorDSL"> + <eClassifiers xsi:type="ecore:EClass" name="Configuration"> + <eStructuralFeatures xsi:type="ecore:EReference" name="uses" upperBound="-1" eType="#//Use" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="generators" upperBound="-1" + eType="#//GeneratorDefinition" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="functions" upperBound="-1" + eType="#//ParametrizedFunctionDefinition" containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" + eType="#//Statement" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Use"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="importURI" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ParametrizedFunctionDefinition"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="definition" eType="ecore:EClass platform:/resource/de.evoal.languages.model.instance/model/model.ecore#//Instance" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="GeneratorDefinition"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="definition" eType="ecore:EClass platform:/resource/de.evoal.languages.model.instance/model/model.ecore#//Instance" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Statement"/> + <eClassifiers xsi:type="ecore:EClass" name="ForStatement" eSuperTypes="#//Statement"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="range" eType="#//Range" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="statements" upperBound="-1" + eType="#//Statement" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Range"/> + <eClassifiers xsi:type="ecore:EClass" name="CounterRange" eSuperTypes="#//Range"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="start" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="end" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Functions" eSuperTypes="#//Range"> + <eStructuralFeatures xsi:type="ecore:EReference" name="functionReferences" eType="#//FunctionReferences" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="FunctionReferences"> + <eStructuralFeatures xsi:type="ecore:EReference" name="functions" upperBound="-1" + eType="#//FunctionDefReference" containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="Generators" eSuperTypes="#//Range"> + <eStructuralFeatures xsi:type="ecore:EReference" name="generatorReferences" eType="#//GeneratorReferences" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="GeneratorReferences"> + <eStructuralFeatures xsi:type="ecore:EReference" name="generators" unique="false" + upperBound="-1" eType="#//GeneratorDefinition"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ApplyStatement" eSuperTypes="#//Statement"> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="file" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> + <eStructuralFeatures xsi:type="ecore:EAttribute" name="count" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="function" eType="#//FunctionReference" + containment="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="generator" eType="#//GeneratorReference" + containment="true"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="GeneratorReference"/> + <eClassifiers xsi:type="ecore:EClass" name="GeneratorDefinitionReference" eSuperTypes="#//GeneratorReference"> + <eStructuralFeatures xsi:type="ecore:EReference" name="definition" eType="#//GeneratorDefinition"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="FunctionReference"/> + <eClassifiers xsi:type="ecore:EClass" name="FunctionDefReference" eSuperTypes="#//FunctionReference"/> + <eClassifiers xsi:type="ecore:EClass" name="LoopVariable" eSuperTypes="#//GeneratorReference #//FunctionReference"> + <eStructuralFeatures xsi:type="ecore:EReference" name="definition" eType="#//ForStatement"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="FunctionDefinitionReference" eSuperTypes="#//FunctionDefReference"> + <eStructuralFeatures xsi:type="ecore:EReference" name="definition" eType="ecore:EClass platform:/resource/de.evoal.languages.model.dl/model/model.ecore#//FunctionDefinition"/> + </eClassifiers> + <eClassifiers xsi:type="ecore:EClass" name="ParametrizedFunctionDefinitionReference" + eSuperTypes="#//FunctionDefReference"> + <eStructuralFeatures xsi:type="ecore:EReference" name="definition" eType="#//FunctionDefinitionReference"/> + </eClassifiers> +</ecore:EPackage> diff --git a/src/languages/de.evoal.languages.model.generator.dsl/model/generated/GeneratorDSL.genmodel b/src/languages/de.evoal.languages.model.generator.dsl/model/generated/GeneratorDSL.genmodel new file mode 100644 index 0000000000000000000000000000000000000000..f49274f5cbb073d052ea77596381d1b6bb4dfab2 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/model/generated/GeneratorDSL.genmodel @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8"?> +<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" + xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="generated by Xtext 2.25.0" modelDirectory="/de.evoal.languages.model.generator.dsl/src-gen" + modelPluginID="de.evoal.languages.model.generator.dsl" forceOverwrite="true" modelName="GeneratorDSL" + updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" + complianceLevel="8.0" copyrightFields="false" runtimeVersion="2.20" usedGenPackages="platform:/resource/de.evoal.languages.model.dl/model/model.genmodel#//dl platform:/resource/de.evoal.languages.model.instance/model/model.genmodel#//instance"> + <genPackages prefix="GeneratorDSL" basePackage="de.evoal.languages.model.generator.dsl" + disposableProviderFactory="true" fileExtensions="generator" ecorePackage="GeneratorDSL.ecore#/"> + <genClasses ecoreClass="GeneratorDSL.ecore#//Configuration"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//Configuration/uses"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//Configuration/generators"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//Configuration/functions"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//Configuration/statements"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//Use"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GeneratorDSL.ecore#//Use/importURI"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//ParametrizedFunctionDefinition"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GeneratorDSL.ecore#//ParametrizedFunctionDefinition/name"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//ParametrizedFunctionDefinition/definition"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//GeneratorDefinition"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GeneratorDSL.ecore#//GeneratorDefinition/name"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//GeneratorDefinition/definition"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//Statement"/> + <genClasses ecoreClass="GeneratorDSL.ecore#//ForStatement"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GeneratorDSL.ecore#//ForStatement/name"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//ForStatement/range"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//ForStatement/statements"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//Range"/> + <genClasses ecoreClass="GeneratorDSL.ecore#//CounterRange"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GeneratorDSL.ecore#//CounterRange/start"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GeneratorDSL.ecore#//CounterRange/end"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//Functions"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//Functions/functionReferences"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//FunctionReferences"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//FunctionReferences/functions"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//Generators"> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//Generators/generatorReferences"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//GeneratorReferences"> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//GeneratorReferences/generators"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//ApplyStatement"> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GeneratorDSL.ecore#//ApplyStatement/file"/> + <genFeatures createChild="false" ecoreFeature="ecore:EAttribute GeneratorDSL.ecore#//ApplyStatement/count"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//ApplyStatement/function"/> + <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//ApplyStatement/generator"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//GeneratorReference"/> + <genClasses ecoreClass="GeneratorDSL.ecore#//GeneratorDefinitionReference"> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//GeneratorDefinitionReference/definition"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//FunctionReference"/> + <genClasses ecoreClass="GeneratorDSL.ecore#//FunctionDefReference"/> + <genClasses ecoreClass="GeneratorDSL.ecore#//LoopVariable"> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//LoopVariable/definition"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//FunctionDefinitionReference"> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//FunctionDefinitionReference/definition"/> + </genClasses> + <genClasses ecoreClass="GeneratorDSL.ecore#//ParametrizedFunctionDefinitionReference"> + <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference GeneratorDSL.ecore#//ParametrizedFunctionDefinitionReference/definition"/> + </genClasses> + </genPackages> +</genmodel:GenModel> diff --git a/src/languages/de.evoal.languages.model.generator.dsl/plugin.xml b/src/languages/de.evoal.languages.model.generator.dsl/plugin.xml new file mode 100644 index 0000000000000000000000000000000000000000..63eed0c85c63ccb4ea0ca7c7a6c2adf4f8176c38 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/plugin.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> +<plugin> + <extension point="org.eclipse.emf.ecore.generated_package"> + <package + uri = "http://www.evoal.de/languages/model/generator/dsl/GeneratorDSL" + class = "de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage" + genModel = "model/generated/GeneratorDSL.genmodel" /> + </extension> +</plugin> diff --git a/src/languages/de.evoal.languages.model.generator.dsl/pom.xml b/src/languages/de.evoal.languages.model.generator.dsl/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..1ab65ed0684e2ee01958cbebb28404c679bdb3b6 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/pom.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>de.evoal.languages</groupId> + <artifactId>de.evoal.languages.releng.parent</artifactId> + <version>1.0.0-SNAPSHOT</version> + <relativePath>../de.evoal.languages.releng.parent</relativePath> + </parent> + + <artifactId>de.evoal.languages.model.generator.dsl</artifactId> + <packaging>eclipse-plugin</packaging> +</project> diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/AbstractGeneratorDSLRuntimeModule.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/AbstractGeneratorDSLRuntimeModule.java new file mode 100644 index 0000000000000000000000000000000000000000..c8aca8b4907922d5464dbad67b1eb7e6c261894f --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/AbstractGeneratorDSLRuntimeModule.java @@ -0,0 +1,201 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl; + +import com.google.inject.Binder; +import com.google.inject.Provider; +import com.google.inject.name.Names; +import de.evoal.languages.model.generator.dsl.generator.GeneratorDSLGenerator; +import de.evoal.languages.model.generator.dsl.parser.antlr.GeneratorDSLAntlrTokenFileProvider; +import de.evoal.languages.model.generator.dsl.parser.antlr.GeneratorDSLParser; +import de.evoal.languages.model.generator.dsl.parser.antlr.internal.InternalGeneratorDSLLexer; +import de.evoal.languages.model.generator.dsl.scoping.GeneratorDSLScopeProvider; +import de.evoal.languages.model.generator.dsl.serializer.GeneratorDSLSemanticSequencer; +import de.evoal.languages.model.generator.dsl.serializer.GeneratorDSLSyntacticSequencer; +import de.evoal.languages.model.generator.dsl.services.GeneratorDSLGrammarAccess; +import de.evoal.languages.model.generator.dsl.validation.GeneratorDSLConfigurableIssueCodesProvider; +import de.evoal.languages.model.generator.dsl.validation.GeneratorDSLValidator; +import java.util.Properties; +import org.eclipse.xtext.Constants; +import org.eclipse.xtext.IGrammarAccess; +import org.eclipse.xtext.generator.IGenerator2; +import org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider; +import org.eclipse.xtext.naming.IQualifiedNameProvider; +import org.eclipse.xtext.parser.IParser; +import org.eclipse.xtext.parser.ITokenToStringConverter; +import org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider; +import org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter; +import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; +import org.eclipse.xtext.parser.antlr.ITokenDefProvider; +import org.eclipse.xtext.parser.antlr.Lexer; +import org.eclipse.xtext.parser.antlr.LexerBindings; +import org.eclipse.xtext.parser.antlr.LexerProvider; +import org.eclipse.xtext.resource.IContainer; +import org.eclipse.xtext.resource.IResourceDescriptions; +import org.eclipse.xtext.resource.containers.IAllContainersState; +import org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider; +import org.eclipse.xtext.resource.containers.StateBasedContainerManager; +import org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider; +import org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions; +import org.eclipse.xtext.scoping.IGlobalScopeProvider; +import org.eclipse.xtext.scoping.IScopeProvider; +import org.eclipse.xtext.scoping.IgnoreCaseLinking; +import org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider; +import org.eclipse.xtext.scoping.impl.DefaultGlobalScopeProvider; +import org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider; +import org.eclipse.xtext.serializer.ISerializer; +import org.eclipse.xtext.serializer.impl.Serializer; +import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer; +import org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer; +import org.eclipse.xtext.service.DefaultRuntimeModule; +import org.eclipse.xtext.service.SingletonBinding; +import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider; + +/** + * Manual modifications go to {@link GeneratorDSLRuntimeModule}. + */ +@SuppressWarnings("all") +public abstract class AbstractGeneratorDSLRuntimeModule extends DefaultRuntimeModule { + + protected Properties properties = null; + + @Override + public void configure(Binder binder) { + properties = tryBindProperties(binder, "de/evoal/languages/model/generator/dsl/GeneratorDSL.properties"); + super.configure(binder); + } + + public void configureLanguageName(Binder binder) { + binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("de.evoal.languages.model.generator.dsl.GeneratorDSL"); + } + + public void configureFileExtensions(Binder binder) { + if (properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null) + binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("generator"); + } + + // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 + public ClassLoader bindClassLoaderToInstance() { + return getClass().getClassLoader(); + } + + // contributed by org.eclipse.xtext.xtext.generator.grammarAccess.GrammarAccessFragment2 + public Class<? extends IGrammarAccess> bindIGrammarAccess() { + return GeneratorDSLGrammarAccess.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class<? extends ISemanticSequencer> bindISemanticSequencer() { + return GeneratorDSLSemanticSequencer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class<? extends ISyntacticSequencer> bindISyntacticSequencer() { + return GeneratorDSLSyntacticSequencer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.serializer.SerializerFragment2 + public Class<? extends ISerializer> bindISerializer() { + return Serializer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IParser> bindIParser() { + return GeneratorDSLParser.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends ITokenToStringConverter> bindITokenToStringConverter() { + return AntlrTokenToStringConverter.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() { + return GeneratorDSLAntlrTokenFileProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends Lexer> bindLexer() { + return InternalGeneratorDSLLexer.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Class<? extends ITokenDefProvider> bindITokenDefProvider() { + return AntlrTokenDefProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public Provider<? extends InternalGeneratorDSLLexer> provideInternalGeneratorDSLLexer() { + return LexerProvider.create(InternalGeneratorDSLLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment2 + public void configureRuntimeLexer(Binder binder) { + binder.bind(Lexer.class) + .annotatedWith(Names.named(LexerBindings.RUNTIME)) + .to(InternalGeneratorDSLLexer.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 + @SingletonBinding(eager=true) + public Class<? extends GeneratorDSLValidator> bindGeneratorDSLValidator() { + return GeneratorDSLValidator.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.validation.ValidatorFragment2 + public Class<? extends ConfigurableIssueCodesProvider> bindConfigurableIssueCodesProvider() { + return GeneratorDSLConfigurableIssueCodesProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public Class<? extends IScopeProvider> bindIScopeProvider() { + return GeneratorDSLScopeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public void configureIScopeProviderDelegate(Binder binder) { + binder.bind(IScopeProvider.class).annotatedWith(Names.named(AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(ImportedNamespaceAwareLocalScopeProvider.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() { + return DefaultGlobalScopeProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.scoping.ImportNamespacesScopingFragment2 + public void configureIgnoreCaseLinking(Binder binder) { + binder.bindConstant().annotatedWith(IgnoreCaseLinking.class).to(false); + } + + // contributed by org.eclipse.xtext.xtext.generator.exporting.QualifiedNamesFragment2 + public Class<? extends IQualifiedNameProvider> bindIQualifiedNameProvider() { + return DefaultDeclarativeQualifiedNameProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class<? extends IContainer.Manager> bindIContainer$Manager() { + return StateBasedContainerManager.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public Class<? extends IAllContainersState.Provider> bindIAllContainersState$Provider() { + return ResourceSetBasedAllContainersStateProvider.class; + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptions(Binder binder) { + binder.bind(IResourceDescriptions.class).to(ResourceSetBasedResourceDescriptions.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.builder.BuilderIntegrationFragment2 + public void configureIResourceDescriptionsPersisted(Binder binder) { + binder.bind(IResourceDescriptions.class).annotatedWith(Names.named(ResourceDescriptionsProvider.PERSISTED_DESCRIPTIONS)).to(ResourceSetBasedResourceDescriptions.class); + } + + // contributed by org.eclipse.xtext.xtext.generator.generator.GeneratorFragment2 + public Class<? extends IGenerator2> bindIGenerator2() { + return GeneratorDSLGenerator.class; + } + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/GeneratorDSL.xtextbin b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/GeneratorDSL.xtextbin new file mode 100644 index 0000000000000000000000000000000000000000..dd12c1678a47743f9ad863dbf14bc71acad5cbd0 Binary files /dev/null and b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/GeneratorDSL.xtextbin differ diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/GeneratorDSLStandaloneSetupGenerated.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/GeneratorDSLStandaloneSetupGenerated.java new file mode 100644 index 0000000000000000000000000000000000000000..42254b144ee8f8042bdfe3eb40496da71a8a8277 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/GeneratorDSLStandaloneSetupGenerated.java @@ -0,0 +1,42 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl; + +import com.google.inject.Guice; +import com.google.inject.Injector; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.instance.dsl.InstanceLanguageStandaloneSetup; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.xtext.ISetup; +import org.eclipse.xtext.resource.IResourceFactory; +import org.eclipse.xtext.resource.IResourceServiceProvider; + +@SuppressWarnings("all") +public class GeneratorDSLStandaloneSetupGenerated implements ISetup { + + @Override + public Injector createInjectorAndDoEMFRegistration() { + InstanceLanguageStandaloneSetup.doSetup(); + + Injector injector = createInjector(); + register(injector); + return injector; + } + + public Injector createInjector() { + return Guice.createInjector(new GeneratorDSLRuntimeModule()); + } + + public void register(Injector injector) { + if (!EPackage.Registry.INSTANCE.containsKey("http://www.evoal.de/languages/model/generator/dsl/GeneratorDSL")) { + EPackage.Registry.INSTANCE.put("http://www.evoal.de/languages/model/generator/dsl/GeneratorDSL", GeneratorDSLPackage.eINSTANCE); + } + IResourceFactory resourceFactory = injector.getInstance(IResourceFactory.class); + IResourceServiceProvider serviceProvider = injector.getInstance(IResourceServiceProvider.class); + + Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("generator", resourceFactory); + IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("generator", serviceProvider); + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ApplyStatement.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ApplyStatement.java new file mode 100644 index 0000000000000000000000000000000000000000..775dddf5230929038574e1d41bb05e5b602dbb45 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ApplyStatement.java @@ -0,0 +1,116 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Apply Statement</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getFile <em>File</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getCount <em>Count</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getFunction <em>Function</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getGenerator <em>Generator</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getApplyStatement() + * @model + * @generated + */ +public interface ApplyStatement extends Statement +{ + /** + * Returns the value of the '<em><b>File</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>File</em>' attribute. + * @see #setFile(String) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getApplyStatement_File() + * @model + * @generated + */ + String getFile(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getFile <em>File</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>File</em>' attribute. + * @see #getFile() + * @generated + */ + void setFile(String value); + + /** + * Returns the value of the '<em><b>Count</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Count</em>' attribute. + * @see #setCount(int) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getApplyStatement_Count() + * @model + * @generated + */ + int getCount(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getCount <em>Count</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Count</em>' attribute. + * @see #getCount() + * @generated + */ + void setCount(int value); + + /** + * Returns the value of the '<em><b>Function</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Function</em>' containment reference. + * @see #setFunction(FunctionReference) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getApplyStatement_Function() + * @model containment="true" + * @generated + */ + FunctionReference getFunction(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getFunction <em>Function</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Function</em>' containment reference. + * @see #getFunction() + * @generated + */ + void setFunction(FunctionReference value); + + /** + * Returns the value of the '<em><b>Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Generator</em>' containment reference. + * @see #setGenerator(GeneratorReference) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getApplyStatement_Generator() + * @model containment="true" + * @generated + */ + GeneratorReference getGenerator(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getGenerator <em>Generator</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Generator</em>' containment reference. + * @see #getGenerator() + * @generated + */ + void setGenerator(GeneratorReference value); + +} // ApplyStatement diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Configuration.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Configuration.java new file mode 100644 index 0000000000000000000000000000000000000000..144dbe22f8fa260ceb420a64dc5716bf46bd5c21 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Configuration.java @@ -0,0 +1,79 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Configuration</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getUses <em>Uses</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getGenerators <em>Generators</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getFunctions <em>Functions</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getStatements <em>Statements</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getConfiguration() + * @model + * @generated + */ +public interface Configuration extends EObject +{ + /** + * Returns the value of the '<em><b>Uses</b></em>' containment reference list. + * The list contents are of type {@link de.evoal.languages.model.generator.dsl.generatorDSL.Use}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Uses</em>' containment reference list. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getConfiguration_Uses() + * @model containment="true" + * @generated + */ + EList<Use> getUses(); + + /** + * Returns the value of the '<em><b>Generators</b></em>' containment reference list. + * The list contents are of type {@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Generators</em>' containment reference list. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getConfiguration_Generators() + * @model containment="true" + * @generated + */ + EList<GeneratorDefinition> getGenerators(); + + /** + * Returns the value of the '<em><b>Functions</b></em>' containment reference list. + * The list contents are of type {@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Functions</em>' containment reference list. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getConfiguration_Functions() + * @model containment="true" + * @generated + */ + EList<ParametrizedFunctionDefinition> getFunctions(); + + /** + * Returns the value of the '<em><b>Statements</b></em>' containment reference list. + * The list contents are of type {@link de.evoal.languages.model.generator.dsl.generatorDSL.Statement}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Statements</em>' containment reference list. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getConfiguration_Statements() + * @model containment="true" + * @generated + */ + EList<Statement> getStatements(); + +} // Configuration diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/CounterRange.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/CounterRange.java new file mode 100644 index 0000000000000000000000000000000000000000..779c0c6e6d29f655782ba92d4b777db6279adfc9 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/CounterRange.java @@ -0,0 +1,70 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Counter Range</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange#getStart <em>Start</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange#getEnd <em>End</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getCounterRange() + * @model + * @generated + */ +public interface CounterRange extends Range +{ + /** + * Returns the value of the '<em><b>Start</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Start</em>' attribute. + * @see #setStart(int) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getCounterRange_Start() + * @model + * @generated + */ + int getStart(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange#getStart <em>Start</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Start</em>' attribute. + * @see #getStart() + * @generated + */ + void setStart(int value); + + /** + * Returns the value of the '<em><b>End</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>End</em>' attribute. + * @see #setEnd(int) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getCounterRange_End() + * @model + * @generated + */ + int getEnd(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange#getEnd <em>End</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>End</em>' attribute. + * @see #getEnd() + * @generated + */ + void setEnd(int value); + +} // CounterRange diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ForStatement.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ForStatement.java new file mode 100644 index 0000000000000000000000000000000000000000..0e1b281f5d4e9086baef78ec4b42b76fca53cdbf --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ForStatement.java @@ -0,0 +1,84 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import org.eclipse.emf.common.util.EList; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>For Statement</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement#getName <em>Name</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement#getRange <em>Range</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement#getStatements <em>Statements</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getForStatement() + * @model + * @generated + */ +public interface ForStatement extends Statement +{ + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getForStatement_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Range</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Range</em>' containment reference. + * @see #setRange(Range) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getForStatement_Range() + * @model containment="true" + * @generated + */ + Range getRange(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement#getRange <em>Range</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Range</em>' containment reference. + * @see #getRange() + * @generated + */ + void setRange(Range value); + + /** + * Returns the value of the '<em><b>Statements</b></em>' containment reference list. + * The list contents are of type {@link de.evoal.languages.model.generator.dsl.generatorDSL.Statement}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Statements</em>' containment reference list. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getForStatement_Statements() + * @model containment="true" + * @generated + */ + EList<Statement> getStatements(); + +} // ForStatement diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionDefReference.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionDefReference.java new file mode 100644 index 0000000000000000000000000000000000000000..a02415bbfebee0f6cce883db8c652df853a0c05b --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionDefReference.java @@ -0,0 +1,19 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Function Def Reference</b></em>'. + * <!-- end-user-doc --> + * + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getFunctionDefReference() + * @model + * @generated + */ +public interface FunctionDefReference extends FunctionReference +{ +} // FunctionDefReference diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionDefinitionReference.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionDefinitionReference.java new file mode 100644 index 0000000000000000000000000000000000000000..86a2725ca462ec9718685ac393106a55b2f11dd3 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionDefinitionReference.java @@ -0,0 +1,48 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import de.evoal.languages.model.dl.FunctionDefinition; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Function Definition Reference</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getFunctionDefinitionReference() + * @model + * @generated + */ +public interface FunctionDefinitionReference extends FunctionDefReference +{ + /** + * Returns the value of the '<em><b>Definition</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Definition</em>' reference. + * @see #setDefinition(FunctionDefinition) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getFunctionDefinitionReference_Definition() + * @model + * @generated + */ + FunctionDefinition getDefinition(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference#getDefinition <em>Definition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Definition</em>' reference. + * @see #getDefinition() + * @generated + */ + void setDefinition(FunctionDefinition value); + +} // FunctionDefinitionReference diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionReference.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionReference.java new file mode 100644 index 0000000000000000000000000000000000000000..8d016fff41d4c192f23237eed5c7751c8b94649e --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionReference.java @@ -0,0 +1,20 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Function Reference</b></em>'. + * <!-- end-user-doc --> + * + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getFunctionReference() + * @model + * @generated + */ +public interface FunctionReference extends EObject +{ +} // FunctionReference diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionReferences.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionReferences.java new file mode 100644 index 0000000000000000000000000000000000000000..eb6b039d39461fd70250ca140d904a7701f1841e --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/FunctionReferences.java @@ -0,0 +1,40 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Function References</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReferences#getFunctions <em>Functions</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getFunctionReferences() + * @model + * @generated + */ +public interface FunctionReferences extends EObject +{ + /** + * Returns the value of the '<em><b>Functions</b></em>' containment reference list. + * The list contents are of type {@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefReference}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Functions</em>' containment reference list. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getFunctionReferences_Functions() + * @model containment="true" + * @generated + */ + EList<FunctionDefReference> getFunctions(); + +} // FunctionReferences diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Functions.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Functions.java new file mode 100644 index 0000000000000000000000000000000000000000..31e213dd768bbfff05b0298f27015eb6951c9b71 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Functions.java @@ -0,0 +1,47 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Functions</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.Functions#getFunctionReferences <em>Function References</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getFunctions() + * @model + * @generated + */ +public interface Functions extends Range +{ + /** + * Returns the value of the '<em><b>Function References</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Function References</em>' containment reference. + * @see #setFunctionReferences(FunctionReferences) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getFunctions_FunctionReferences() + * @model containment="true" + * @generated + */ + FunctionReferences getFunctionReferences(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Functions#getFunctionReferences <em>Function References</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Function References</em>' containment reference. + * @see #getFunctionReferences() + * @generated + */ + void setFunctionReferences(FunctionReferences value); + +} // Functions diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDSLFactory.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDSLFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..bed22c22e5b96032d2cc8934cd943d4b88ac7c5d --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDSLFactory.java @@ -0,0 +1,215 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import org.eclipse.emf.ecore.EFactory; + +/** + * <!-- begin-user-doc --> + * The <b>Factory</b> for the model. + * It provides a create method for each non-abstract class of the model. + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage + * @generated + */ +public interface GeneratorDSLFactory extends EFactory +{ + /** + * The singleton instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + GeneratorDSLFactory eINSTANCE = de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLFactoryImpl.init(); + + /** + * Returns a new object of class '<em>Configuration</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Configuration</em>'. + * @generated + */ + Configuration createConfiguration(); + + /** + * Returns a new object of class '<em>Use</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Use</em>'. + * @generated + */ + Use createUse(); + + /** + * Returns a new object of class '<em>Parametrized Function Definition</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Parametrized Function Definition</em>'. + * @generated + */ + ParametrizedFunctionDefinition createParametrizedFunctionDefinition(); + + /** + * Returns a new object of class '<em>Generator Definition</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Generator Definition</em>'. + * @generated + */ + GeneratorDefinition createGeneratorDefinition(); + + /** + * Returns a new object of class '<em>Statement</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Statement</em>'. + * @generated + */ + Statement createStatement(); + + /** + * Returns a new object of class '<em>For Statement</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>For Statement</em>'. + * @generated + */ + ForStatement createForStatement(); + + /** + * Returns a new object of class '<em>Range</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Range</em>'. + * @generated + */ + Range createRange(); + + /** + * Returns a new object of class '<em>Counter Range</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Counter Range</em>'. + * @generated + */ + CounterRange createCounterRange(); + + /** + * Returns a new object of class '<em>Functions</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Functions</em>'. + * @generated + */ + Functions createFunctions(); + + /** + * Returns a new object of class '<em>Function References</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Function References</em>'. + * @generated + */ + FunctionReferences createFunctionReferences(); + + /** + * Returns a new object of class '<em>Generators</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Generators</em>'. + * @generated + */ + Generators createGenerators(); + + /** + * Returns a new object of class '<em>Generator References</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Generator References</em>'. + * @generated + */ + GeneratorReferences createGeneratorReferences(); + + /** + * Returns a new object of class '<em>Apply Statement</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Apply Statement</em>'. + * @generated + */ + ApplyStatement createApplyStatement(); + + /** + * Returns a new object of class '<em>Generator Reference</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Generator Reference</em>'. + * @generated + */ + GeneratorReference createGeneratorReference(); + + /** + * Returns a new object of class '<em>Generator Definition Reference</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Generator Definition Reference</em>'. + * @generated + */ + GeneratorDefinitionReference createGeneratorDefinitionReference(); + + /** + * Returns a new object of class '<em>Function Reference</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Function Reference</em>'. + * @generated + */ + FunctionReference createFunctionReference(); + + /** + * Returns a new object of class '<em>Function Def Reference</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Function Def Reference</em>'. + * @generated + */ + FunctionDefReference createFunctionDefReference(); + + /** + * Returns a new object of class '<em>Loop Variable</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Loop Variable</em>'. + * @generated + */ + LoopVariable createLoopVariable(); + + /** + * Returns a new object of class '<em>Function Definition Reference</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Function Definition Reference</em>'. + * @generated + */ + FunctionDefinitionReference createFunctionDefinitionReference(); + + /** + * Returns a new object of class '<em>Parametrized Function Definition Reference</em>'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return a new object of class '<em>Parametrized Function Definition Reference</em>'. + * @generated + */ + ParametrizedFunctionDefinitionReference createParametrizedFunctionDefinitionReference(); + + /** + * Returns the package supported by this factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the package supported by this factory. + * @generated + */ + GeneratorDSLPackage getGeneratorDSLPackage(); + +} //GeneratorDSLFactory diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDSLPackage.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDSLPackage.java new file mode 100644 index 0000000000000000000000000000000000000000..668442cfdb4c75788268aff0e0f4e88bcc8c36e3 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDSLPackage.java @@ -0,0 +1,1594 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * <!-- begin-user-doc --> + * The <b>Package</b> for the model. + * It contains accessors for the meta objects to represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLFactory + * @model kind="package" + * @generated + */ +public interface GeneratorDSLPackage extends EPackage +{ + /** + * The package name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNAME = "generatorDSL"; + + /** + * The package namespace URI. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_URI = "http://www.evoal.de/languages/model/generator/dsl/GeneratorDSL"; + + /** + * The package namespace name. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + String eNS_PREFIX = "generatorDSL"; + + /** + * The singleton instance of the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + GeneratorDSLPackage eINSTANCE = de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl.init(); + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ConfigurationImpl <em>Configuration</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.ConfigurationImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getConfiguration() + * @generated + */ + int CONFIGURATION = 0; + + /** + * The feature id for the '<em><b>Uses</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONFIGURATION__USES = 0; + + /** + * The feature id for the '<em><b>Generators</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONFIGURATION__GENERATORS = 1; + + /** + * The feature id for the '<em><b>Functions</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONFIGURATION__FUNCTIONS = 2; + + /** + * The feature id for the '<em><b>Statements</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONFIGURATION__STATEMENTS = 3; + + /** + * The number of structural features of the '<em>Configuration</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int CONFIGURATION_FEATURE_COUNT = 4; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.UseImpl <em>Use</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.UseImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getUse() + * @generated + */ + int USE = 1; + + /** + * The feature id for the '<em><b>Import URI</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int USE__IMPORT_URI = 0; + + /** + * The number of structural features of the '<em>Use</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int USE_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ParametrizedFunctionDefinitionImpl <em>Parametrized Function Definition</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.ParametrizedFunctionDefinitionImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getParametrizedFunctionDefinition() + * @generated + */ + int PARAMETRIZED_FUNCTION_DEFINITION = 2; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PARAMETRIZED_FUNCTION_DEFINITION__NAME = 0; + + /** + * The feature id for the '<em><b>Definition</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION = 1; + + /** + * The number of structural features of the '<em>Parametrized Function Definition</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PARAMETRIZED_FUNCTION_DEFINITION_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDefinitionImpl <em>Generator Definition</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDefinitionImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getGeneratorDefinition() + * @generated + */ + int GENERATOR_DEFINITION = 3; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATOR_DEFINITION__NAME = 0; + + /** + * The feature id for the '<em><b>Definition</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATOR_DEFINITION__DEFINITION = 1; + + /** + * The number of structural features of the '<em>Generator Definition</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATOR_DEFINITION_FEATURE_COUNT = 2; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.StatementImpl <em>Statement</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.StatementImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getStatement() + * @generated + */ + int STATEMENT = 4; + + /** + * The number of structural features of the '<em>Statement</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int STATEMENT_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ForStatementImpl <em>For Statement</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.ForStatementImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getForStatement() + * @generated + */ + int FOR_STATEMENT = 5; + + /** + * The feature id for the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FOR_STATEMENT__NAME = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Range</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FOR_STATEMENT__RANGE = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Statements</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FOR_STATEMENT__STATEMENTS = STATEMENT_FEATURE_COUNT + 2; + + /** + * The number of structural features of the '<em>For Statement</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FOR_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 3; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.RangeImpl <em>Range</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.RangeImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getRange() + * @generated + */ + int RANGE = 6; + + /** + * The number of structural features of the '<em>Range</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int RANGE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.CounterRangeImpl <em>Counter Range</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.CounterRangeImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getCounterRange() + * @generated + */ + int COUNTER_RANGE = 7; + + /** + * The feature id for the '<em><b>Start</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COUNTER_RANGE__START = RANGE_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>End</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COUNTER_RANGE__END = RANGE_FEATURE_COUNT + 1; + + /** + * The number of structural features of the '<em>Counter Range</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int COUNTER_RANGE_FEATURE_COUNT = RANGE_FEATURE_COUNT + 2; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionsImpl <em>Functions</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionsImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getFunctions() + * @generated + */ + int FUNCTIONS = 8; + + /** + * The feature id for the '<em><b>Function References</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTIONS__FUNCTION_REFERENCES = RANGE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Functions</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTIONS_FEATURE_COUNT = RANGE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionReferencesImpl <em>Function References</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionReferencesImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getFunctionReferences() + * @generated + */ + int FUNCTION_REFERENCES = 9; + + /** + * The feature id for the '<em><b>Functions</b></em>' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTION_REFERENCES__FUNCTIONS = 0; + + /** + * The number of structural features of the '<em>Function References</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTION_REFERENCES_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorsImpl <em>Generators</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorsImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getGenerators() + * @generated + */ + int GENERATORS = 10; + + /** + * The feature id for the '<em><b>Generator References</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATORS__GENERATOR_REFERENCES = RANGE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Generators</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATORS_FEATURE_COUNT = RANGE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorReferencesImpl <em>Generator References</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorReferencesImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getGeneratorReferences() + * @generated + */ + int GENERATOR_REFERENCES = 11; + + /** + * The feature id for the '<em><b>Generators</b></em>' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATOR_REFERENCES__GENERATORS = 0; + + /** + * The number of structural features of the '<em>Generator References</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATOR_REFERENCES_FEATURE_COUNT = 1; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ApplyStatementImpl <em>Apply Statement</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.ApplyStatementImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getApplyStatement() + * @generated + */ + int APPLY_STATEMENT = 12; + + /** + * The feature id for the '<em><b>File</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLY_STATEMENT__FILE = STATEMENT_FEATURE_COUNT + 0; + + /** + * The feature id for the '<em><b>Count</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLY_STATEMENT__COUNT = STATEMENT_FEATURE_COUNT + 1; + + /** + * The feature id for the '<em><b>Function</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLY_STATEMENT__FUNCTION = STATEMENT_FEATURE_COUNT + 2; + + /** + * The feature id for the '<em><b>Generator</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLY_STATEMENT__GENERATOR = STATEMENT_FEATURE_COUNT + 3; + + /** + * The number of structural features of the '<em>Apply Statement</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int APPLY_STATEMENT_FEATURE_COUNT = STATEMENT_FEATURE_COUNT + 4; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorReferenceImpl <em>Generator Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getGeneratorReference() + * @generated + */ + int GENERATOR_REFERENCE = 13; + + /** + * The number of structural features of the '<em>Generator Reference</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATOR_REFERENCE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDefinitionReferenceImpl <em>Generator Definition Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDefinitionReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getGeneratorDefinitionReference() + * @generated + */ + int GENERATOR_DEFINITION_REFERENCE = 14; + + /** + * The feature id for the '<em><b>Definition</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATOR_DEFINITION_REFERENCE__DEFINITION = GENERATOR_REFERENCE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Generator Definition Reference</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int GENERATOR_DEFINITION_REFERENCE_FEATURE_COUNT = GENERATOR_REFERENCE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionReferenceImpl <em>Function Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getFunctionReference() + * @generated + */ + int FUNCTION_REFERENCE = 15; + + /** + * The number of structural features of the '<em>Function Reference</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTION_REFERENCE_FEATURE_COUNT = 0; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionDefReferenceImpl <em>Function Def Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionDefReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getFunctionDefReference() + * @generated + */ + int FUNCTION_DEF_REFERENCE = 16; + + /** + * The number of structural features of the '<em>Function Def Reference</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTION_DEF_REFERENCE_FEATURE_COUNT = FUNCTION_REFERENCE_FEATURE_COUNT + 0; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.LoopVariableImpl <em>Loop Variable</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.LoopVariableImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getLoopVariable() + * @generated + */ + int LOOP_VARIABLE = 17; + + /** + * The feature id for the '<em><b>Definition</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LOOP_VARIABLE__DEFINITION = GENERATOR_REFERENCE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Loop Variable</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int LOOP_VARIABLE_FEATURE_COUNT = GENERATOR_REFERENCE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionDefinitionReferenceImpl <em>Function Definition Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionDefinitionReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getFunctionDefinitionReference() + * @generated + */ + int FUNCTION_DEFINITION_REFERENCE = 18; + + /** + * The feature id for the '<em><b>Definition</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTION_DEFINITION_REFERENCE__DEFINITION = FUNCTION_DEF_REFERENCE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Function Definition Reference</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int FUNCTION_DEFINITION_REFERENCE_FEATURE_COUNT = FUNCTION_DEF_REFERENCE_FEATURE_COUNT + 1; + + /** + * The meta object id for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ParametrizedFunctionDefinitionReferenceImpl <em>Parametrized Function Definition Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.ParametrizedFunctionDefinitionReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getParametrizedFunctionDefinitionReference() + * @generated + */ + int PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE = 19; + + /** + * The feature id for the '<em><b>Definition</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION = FUNCTION_DEF_REFERENCE_FEATURE_COUNT + 0; + + /** + * The number of structural features of the '<em>Parametrized Function Definition Reference</em>' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + * @ordered + */ + int PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE_FEATURE_COUNT = FUNCTION_DEF_REFERENCE_FEATURE_COUNT + 1; + + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Configuration <em>Configuration</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Configuration</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Configuration + * @generated + */ + EClass getConfiguration(); + + /** + * Returns the meta object for the containment reference list '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getUses <em>Uses</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Uses</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getUses() + * @see #getConfiguration() + * @generated + */ + EReference getConfiguration_Uses(); + + /** + * Returns the meta object for the containment reference list '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getGenerators <em>Generators</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Generators</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getGenerators() + * @see #getConfiguration() + * @generated + */ + EReference getConfiguration_Generators(); + + /** + * Returns the meta object for the containment reference list '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getFunctions <em>Functions</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Functions</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getFunctions() + * @see #getConfiguration() + * @generated + */ + EReference getConfiguration_Functions(); + + /** + * Returns the meta object for the containment reference list '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getStatements <em>Statements</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Statements</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Configuration#getStatements() + * @see #getConfiguration() + * @generated + */ + EReference getConfiguration_Statements(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Use <em>Use</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Use</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Use + * @generated + */ + EClass getUse(); + + /** + * Returns the meta object for the attribute '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Use#getImportURI <em>Import URI</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Import URI</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Use#getImportURI() + * @see #getUse() + * @generated + */ + EAttribute getUse_ImportURI(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition <em>Parametrized Function Definition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Parametrized Function Definition</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition + * @generated + */ + EClass getParametrizedFunctionDefinition(); + + /** + * Returns the meta object for the attribute '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition#getName() + * @see #getParametrizedFunctionDefinition() + * @generated + */ + EAttribute getParametrizedFunctionDefinition_Name(); + + /** + * Returns the meta object for the containment reference '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition#getDefinition <em>Definition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Definition</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition#getDefinition() + * @see #getParametrizedFunctionDefinition() + * @generated + */ + EReference getParametrizedFunctionDefinition_Definition(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition <em>Generator Definition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Generator Definition</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition + * @generated + */ + EClass getGeneratorDefinition(); + + /** + * Returns the meta object for the attribute '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition#getName() + * @see #getGeneratorDefinition() + * @generated + */ + EAttribute getGeneratorDefinition_Name(); + + /** + * Returns the meta object for the containment reference '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition#getDefinition <em>Definition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Definition</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition#getDefinition() + * @see #getGeneratorDefinition() + * @generated + */ + EReference getGeneratorDefinition_Definition(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Statement <em>Statement</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Statement</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Statement + * @generated + */ + EClass getStatement(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement <em>For Statement</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>For Statement</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement + * @generated + */ + EClass getForStatement(); + + /** + * Returns the meta object for the attribute '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement#getName <em>Name</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Name</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement#getName() + * @see #getForStatement() + * @generated + */ + EAttribute getForStatement_Name(); + + /** + * Returns the meta object for the containment reference '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement#getRange <em>Range</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Range</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement#getRange() + * @see #getForStatement() + * @generated + */ + EReference getForStatement_Range(); + + /** + * Returns the meta object for the containment reference list '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement#getStatements <em>Statements</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Statements</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement#getStatements() + * @see #getForStatement() + * @generated + */ + EReference getForStatement_Statements(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Range <em>Range</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Range</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Range + * @generated + */ + EClass getRange(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange <em>Counter Range</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Counter Range</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange + * @generated + */ + EClass getCounterRange(); + + /** + * Returns the meta object for the attribute '{@link de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange#getStart <em>Start</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Start</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange#getStart() + * @see #getCounterRange() + * @generated + */ + EAttribute getCounterRange_Start(); + + /** + * Returns the meta object for the attribute '{@link de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange#getEnd <em>End</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>End</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange#getEnd() + * @see #getCounterRange() + * @generated + */ + EAttribute getCounterRange_End(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Functions <em>Functions</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Functions</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Functions + * @generated + */ + EClass getFunctions(); + + /** + * Returns the meta object for the containment reference '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Functions#getFunctionReferences <em>Function References</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Function References</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Functions#getFunctionReferences() + * @see #getFunctions() + * @generated + */ + EReference getFunctions_FunctionReferences(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReferences <em>Function References</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Function References</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReferences + * @generated + */ + EClass getFunctionReferences(); + + /** + * Returns the meta object for the containment reference list '{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReferences#getFunctions <em>Functions</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference list '<em>Functions</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReferences#getFunctions() + * @see #getFunctionReferences() + * @generated + */ + EReference getFunctionReferences_Functions(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Generators <em>Generators</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Generators</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Generators + * @generated + */ + EClass getGenerators(); + + /** + * Returns the meta object for the containment reference '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Generators#getGeneratorReferences <em>Generator References</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Generator References</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Generators#getGeneratorReferences() + * @see #getGenerators() + * @generated + */ + EReference getGenerators_GeneratorReferences(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReferences <em>Generator References</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Generator References</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReferences + * @generated + */ + EClass getGeneratorReferences(); + + /** + * Returns the meta object for the reference list '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReferences#getGenerators <em>Generators</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference list '<em>Generators</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReferences#getGenerators() + * @see #getGeneratorReferences() + * @generated + */ + EReference getGeneratorReferences_Generators(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement <em>Apply Statement</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Apply Statement</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement + * @generated + */ + EClass getApplyStatement(); + + /** + * Returns the meta object for the attribute '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getFile <em>File</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>File</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getFile() + * @see #getApplyStatement() + * @generated + */ + EAttribute getApplyStatement_File(); + + /** + * Returns the meta object for the attribute '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getCount <em>Count</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the attribute '<em>Count</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getCount() + * @see #getApplyStatement() + * @generated + */ + EAttribute getApplyStatement_Count(); + + /** + * Returns the meta object for the containment reference '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getFunction <em>Function</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Function</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getFunction() + * @see #getApplyStatement() + * @generated + */ + EReference getApplyStatement_Function(); + + /** + * Returns the meta object for the containment reference '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getGenerator <em>Generator</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the containment reference '<em>Generator</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement#getGenerator() + * @see #getApplyStatement() + * @generated + */ + EReference getApplyStatement_Generator(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReference <em>Generator Reference</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Generator Reference</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReference + * @generated + */ + EClass getGeneratorReference(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinitionReference <em>Generator Definition Reference</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Generator Definition Reference</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinitionReference + * @generated + */ + EClass getGeneratorDefinitionReference(); + + /** + * Returns the meta object for the reference '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinitionReference#getDefinition <em>Definition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Definition</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinitionReference#getDefinition() + * @see #getGeneratorDefinitionReference() + * @generated + */ + EReference getGeneratorDefinitionReference_Definition(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReference <em>Function Reference</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Function Reference</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReference + * @generated + */ + EClass getFunctionReference(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefReference <em>Function Def Reference</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Function Def Reference</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefReference + * @generated + */ + EClass getFunctionDefReference(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.LoopVariable <em>Loop Variable</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Loop Variable</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.LoopVariable + * @generated + */ + EClass getLoopVariable(); + + /** + * Returns the meta object for the reference '{@link de.evoal.languages.model.generator.dsl.generatorDSL.LoopVariable#getDefinition <em>Definition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Definition</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.LoopVariable#getDefinition() + * @see #getLoopVariable() + * @generated + */ + EReference getLoopVariable_Definition(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference <em>Function Definition Reference</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Function Definition Reference</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference + * @generated + */ + EClass getFunctionDefinitionReference(); + + /** + * Returns the meta object for the reference '{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference#getDefinition <em>Definition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Definition</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference#getDefinition() + * @see #getFunctionDefinitionReference() + * @generated + */ + EReference getFunctionDefinitionReference_Definition(); + + /** + * Returns the meta object for class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinitionReference <em>Parametrized Function Definition Reference</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for class '<em>Parametrized Function Definition Reference</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinitionReference + * @generated + */ + EClass getParametrizedFunctionDefinitionReference(); + + /** + * Returns the meta object for the reference '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinitionReference#getDefinition <em>Definition</em>}'. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the meta object for the reference '<em>Definition</em>'. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinitionReference#getDefinition() + * @see #getParametrizedFunctionDefinitionReference() + * @generated + */ + EReference getParametrizedFunctionDefinitionReference_Definition(); + + /** + * Returns the factory that creates the instances of the model. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the factory that creates the instances of the model. + * @generated + */ + GeneratorDSLFactory getGeneratorDSLFactory(); + + /** + * <!-- begin-user-doc --> + * Defines literals for the meta objects that represent + * <ul> + * <li>each class,</li> + * <li>each feature of each class,</li> + * <li>each enum,</li> + * <li>and each data type</li> + * </ul> + * <!-- end-user-doc --> + * @generated + */ + interface Literals + { + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ConfigurationImpl <em>Configuration</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.ConfigurationImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getConfiguration() + * @generated + */ + EClass CONFIGURATION = eINSTANCE.getConfiguration(); + + /** + * The meta object literal for the '<em><b>Uses</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CONFIGURATION__USES = eINSTANCE.getConfiguration_Uses(); + + /** + * The meta object literal for the '<em><b>Generators</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CONFIGURATION__GENERATORS = eINSTANCE.getConfiguration_Generators(); + + /** + * The meta object literal for the '<em><b>Functions</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CONFIGURATION__FUNCTIONS = eINSTANCE.getConfiguration_Functions(); + + /** + * The meta object literal for the '<em><b>Statements</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference CONFIGURATION__STATEMENTS = eINSTANCE.getConfiguration_Statements(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.UseImpl <em>Use</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.UseImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getUse() + * @generated + */ + EClass USE = eINSTANCE.getUse(); + + /** + * The meta object literal for the '<em><b>Import URI</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute USE__IMPORT_URI = eINSTANCE.getUse_ImportURI(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ParametrizedFunctionDefinitionImpl <em>Parametrized Function Definition</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.ParametrizedFunctionDefinitionImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getParametrizedFunctionDefinition() + * @generated + */ + EClass PARAMETRIZED_FUNCTION_DEFINITION = eINSTANCE.getParametrizedFunctionDefinition(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute PARAMETRIZED_FUNCTION_DEFINITION__NAME = eINSTANCE.getParametrizedFunctionDefinition_Name(); + + /** + * The meta object literal for the '<em><b>Definition</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION = eINSTANCE.getParametrizedFunctionDefinition_Definition(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDefinitionImpl <em>Generator Definition</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDefinitionImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getGeneratorDefinition() + * @generated + */ + EClass GENERATOR_DEFINITION = eINSTANCE.getGeneratorDefinition(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute GENERATOR_DEFINITION__NAME = eINSTANCE.getGeneratorDefinition_Name(); + + /** + * The meta object literal for the '<em><b>Definition</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GENERATOR_DEFINITION__DEFINITION = eINSTANCE.getGeneratorDefinition_Definition(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.StatementImpl <em>Statement</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.StatementImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getStatement() + * @generated + */ + EClass STATEMENT = eINSTANCE.getStatement(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ForStatementImpl <em>For Statement</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.ForStatementImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getForStatement() + * @generated + */ + EClass FOR_STATEMENT = eINSTANCE.getForStatement(); + + /** + * The meta object literal for the '<em><b>Name</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute FOR_STATEMENT__NAME = eINSTANCE.getForStatement_Name(); + + /** + * The meta object literal for the '<em><b>Range</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference FOR_STATEMENT__RANGE = eINSTANCE.getForStatement_Range(); + + /** + * The meta object literal for the '<em><b>Statements</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference FOR_STATEMENT__STATEMENTS = eINSTANCE.getForStatement_Statements(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.RangeImpl <em>Range</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.RangeImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getRange() + * @generated + */ + EClass RANGE = eINSTANCE.getRange(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.CounterRangeImpl <em>Counter Range</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.CounterRangeImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getCounterRange() + * @generated + */ + EClass COUNTER_RANGE = eINSTANCE.getCounterRange(); + + /** + * The meta object literal for the '<em><b>Start</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COUNTER_RANGE__START = eINSTANCE.getCounterRange_Start(); + + /** + * The meta object literal for the '<em><b>End</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute COUNTER_RANGE__END = eINSTANCE.getCounterRange_End(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionsImpl <em>Functions</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionsImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getFunctions() + * @generated + */ + EClass FUNCTIONS = eINSTANCE.getFunctions(); + + /** + * The meta object literal for the '<em><b>Function References</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference FUNCTIONS__FUNCTION_REFERENCES = eINSTANCE.getFunctions_FunctionReferences(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionReferencesImpl <em>Function References</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionReferencesImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getFunctionReferences() + * @generated + */ + EClass FUNCTION_REFERENCES = eINSTANCE.getFunctionReferences(); + + /** + * The meta object literal for the '<em><b>Functions</b></em>' containment reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference FUNCTION_REFERENCES__FUNCTIONS = eINSTANCE.getFunctionReferences_Functions(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorsImpl <em>Generators</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorsImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getGenerators() + * @generated + */ + EClass GENERATORS = eINSTANCE.getGenerators(); + + /** + * The meta object literal for the '<em><b>Generator References</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GENERATORS__GENERATOR_REFERENCES = eINSTANCE.getGenerators_GeneratorReferences(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorReferencesImpl <em>Generator References</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorReferencesImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getGeneratorReferences() + * @generated + */ + EClass GENERATOR_REFERENCES = eINSTANCE.getGeneratorReferences(); + + /** + * The meta object literal for the '<em><b>Generators</b></em>' reference list feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GENERATOR_REFERENCES__GENERATORS = eINSTANCE.getGeneratorReferences_Generators(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ApplyStatementImpl <em>Apply Statement</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.ApplyStatementImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getApplyStatement() + * @generated + */ + EClass APPLY_STATEMENT = eINSTANCE.getApplyStatement(); + + /** + * The meta object literal for the '<em><b>File</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute APPLY_STATEMENT__FILE = eINSTANCE.getApplyStatement_File(); + + /** + * The meta object literal for the '<em><b>Count</b></em>' attribute feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EAttribute APPLY_STATEMENT__COUNT = eINSTANCE.getApplyStatement_Count(); + + /** + * The meta object literal for the '<em><b>Function</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference APPLY_STATEMENT__FUNCTION = eINSTANCE.getApplyStatement_Function(); + + /** + * The meta object literal for the '<em><b>Generator</b></em>' containment reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference APPLY_STATEMENT__GENERATOR = eINSTANCE.getApplyStatement_Generator(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorReferenceImpl <em>Generator Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getGeneratorReference() + * @generated + */ + EClass GENERATOR_REFERENCE = eINSTANCE.getGeneratorReference(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDefinitionReferenceImpl <em>Generator Definition Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDefinitionReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getGeneratorDefinitionReference() + * @generated + */ + EClass GENERATOR_DEFINITION_REFERENCE = eINSTANCE.getGeneratorDefinitionReference(); + + /** + * The meta object literal for the '<em><b>Definition</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference GENERATOR_DEFINITION_REFERENCE__DEFINITION = eINSTANCE.getGeneratorDefinitionReference_Definition(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionReferenceImpl <em>Function Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getFunctionReference() + * @generated + */ + EClass FUNCTION_REFERENCE = eINSTANCE.getFunctionReference(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionDefReferenceImpl <em>Function Def Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionDefReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getFunctionDefReference() + * @generated + */ + EClass FUNCTION_DEF_REFERENCE = eINSTANCE.getFunctionDefReference(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.LoopVariableImpl <em>Loop Variable</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.LoopVariableImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getLoopVariable() + * @generated + */ + EClass LOOP_VARIABLE = eINSTANCE.getLoopVariable(); + + /** + * The meta object literal for the '<em><b>Definition</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference LOOP_VARIABLE__DEFINITION = eINSTANCE.getLoopVariable_Definition(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionDefinitionReferenceImpl <em>Function Definition Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionDefinitionReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getFunctionDefinitionReference() + * @generated + */ + EClass FUNCTION_DEFINITION_REFERENCE = eINSTANCE.getFunctionDefinitionReference(); + + /** + * The meta object literal for the '<em><b>Definition</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference FUNCTION_DEFINITION_REFERENCE__DEFINITION = eINSTANCE.getFunctionDefinitionReference_Definition(); + + /** + * The meta object literal for the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ParametrizedFunctionDefinitionReferenceImpl <em>Parametrized Function Definition Reference</em>}' class. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.ParametrizedFunctionDefinitionReferenceImpl + * @see de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDSLPackageImpl#getParametrizedFunctionDefinitionReference() + * @generated + */ + EClass PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE = eINSTANCE.getParametrizedFunctionDefinitionReference(); + + /** + * The meta object literal for the '<em><b>Definition</b></em>' reference feature. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + EReference PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION = eINSTANCE.getParametrizedFunctionDefinitionReference_Definition(); + + } + +} //GeneratorDSLPackage diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDefinition.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDefinition.java new file mode 100644 index 0000000000000000000000000000000000000000..0dcf7cce6322b50f02e6bbdb0eb3a430d02062da --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDefinition.java @@ -0,0 +1,73 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import de.evoal.languages.model.instance.Instance; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Generator Definition</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition#getName <em>Name</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getGeneratorDefinition() + * @model + * @generated + */ +public interface GeneratorDefinition extends EObject +{ + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getGeneratorDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Definition</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Definition</em>' containment reference. + * @see #setDefinition(Instance) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getGeneratorDefinition_Definition() + * @model containment="true" + * @generated + */ + Instance getDefinition(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition#getDefinition <em>Definition</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Definition</em>' containment reference. + * @see #getDefinition() + * @generated + */ + void setDefinition(Instance value); + +} // GeneratorDefinition diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDefinitionReference.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDefinitionReference.java new file mode 100644 index 0000000000000000000000000000000000000000..101b0ab6b2e6b48c566bcdbafa5d44ab1512b384 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorDefinitionReference.java @@ -0,0 +1,47 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Generator Definition Reference</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinitionReference#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getGeneratorDefinitionReference() + * @model + * @generated + */ +public interface GeneratorDefinitionReference extends GeneratorReference +{ + /** + * Returns the value of the '<em><b>Definition</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Definition</em>' reference. + * @see #setDefinition(GeneratorDefinition) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getGeneratorDefinitionReference_Definition() + * @model + * @generated + */ + GeneratorDefinition getDefinition(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinitionReference#getDefinition <em>Definition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Definition</em>' reference. + * @see #getDefinition() + * @generated + */ + void setDefinition(GeneratorDefinition value); + +} // GeneratorDefinitionReference diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorReference.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorReference.java new file mode 100644 index 0000000000000000000000000000000000000000..56a48845cd4f69c8c1a0f28c4d80f5526e4b3481 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorReference.java @@ -0,0 +1,20 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Generator Reference</b></em>'. + * <!-- end-user-doc --> + * + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getGeneratorReference() + * @model + * @generated + */ +public interface GeneratorReference extends EObject +{ +} // GeneratorReference diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorReferences.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorReferences.java new file mode 100644 index 0000000000000000000000000000000000000000..23982c2317af13bcecbbe840c7052902e2de357b --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/GeneratorReferences.java @@ -0,0 +1,40 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Generator References</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReferences#getGenerators <em>Generators</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getGeneratorReferences() + * @model + * @generated + */ +public interface GeneratorReferences extends EObject +{ + /** + * Returns the value of the '<em><b>Generators</b></em>' reference list. + * The list contents are of type {@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition}. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Generators</em>' reference list. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getGeneratorReferences_Generators() + * @model + * @generated + */ + EList<GeneratorDefinition> getGenerators(); + +} // GeneratorReferences diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Generators.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Generators.java new file mode 100644 index 0000000000000000000000000000000000000000..43e7c664ab159ec01150bf73746fafdd0e7c2d72 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Generators.java @@ -0,0 +1,47 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Generators</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.Generators#getGeneratorReferences <em>Generator References</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getGenerators() + * @model + * @generated + */ +public interface Generators extends Range +{ + /** + * Returns the value of the '<em><b>Generator References</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Generator References</em>' containment reference. + * @see #setGeneratorReferences(GeneratorReferences) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getGenerators_GeneratorReferences() + * @model containment="true" + * @generated + */ + GeneratorReferences getGeneratorReferences(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Generators#getGeneratorReferences <em>Generator References</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Generator References</em>' containment reference. + * @see #getGeneratorReferences() + * @generated + */ + void setGeneratorReferences(GeneratorReferences value); + +} // Generators diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/LoopVariable.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/LoopVariable.java new file mode 100644 index 0000000000000000000000000000000000000000..783d9ae728d9fbcbb89867f76de1cf8f8fbd6631 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/LoopVariable.java @@ -0,0 +1,47 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Loop Variable</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.LoopVariable#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getLoopVariable() + * @model + * @generated + */ +public interface LoopVariable extends GeneratorReference, FunctionReference +{ + /** + * Returns the value of the '<em><b>Definition</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Definition</em>' reference. + * @see #setDefinition(ForStatement) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getLoopVariable_Definition() + * @model + * @generated + */ + ForStatement getDefinition(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.LoopVariable#getDefinition <em>Definition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Definition</em>' reference. + * @see #getDefinition() + * @generated + */ + void setDefinition(ForStatement value); + +} // LoopVariable diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ParametrizedFunctionDefinition.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ParametrizedFunctionDefinition.java new file mode 100644 index 0000000000000000000000000000000000000000..228b20085fc9f717beae336c0716c7ab8efa7082 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ParametrizedFunctionDefinition.java @@ -0,0 +1,73 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import de.evoal.languages.model.instance.Instance; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Parametrized Function Definition</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition#getName <em>Name</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getParametrizedFunctionDefinition() + * @model + * @generated + */ +public interface ParametrizedFunctionDefinition extends EObject +{ + /** + * Returns the value of the '<em><b>Name</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Name</em>' attribute. + * @see #setName(String) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getParametrizedFunctionDefinition_Name() + * @model + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition#getName <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Name</em>' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + + /** + * Returns the value of the '<em><b>Definition</b></em>' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Definition</em>' containment reference. + * @see #setDefinition(Instance) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getParametrizedFunctionDefinition_Definition() + * @model containment="true" + * @generated + */ + Instance getDefinition(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition#getDefinition <em>Definition</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Definition</em>' containment reference. + * @see #getDefinition() + * @generated + */ + void setDefinition(Instance value); + +} // ParametrizedFunctionDefinition diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ParametrizedFunctionDefinitionReference.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ParametrizedFunctionDefinitionReference.java new file mode 100644 index 0000000000000000000000000000000000000000..ec87a200d666f3cc0db4ad99f0263fd45eb01a5b --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/ParametrizedFunctionDefinitionReference.java @@ -0,0 +1,47 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Parametrized Function Definition Reference</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinitionReference#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getParametrizedFunctionDefinitionReference() + * @model + * @generated + */ +public interface ParametrizedFunctionDefinitionReference extends FunctionDefReference +{ + /** + * Returns the value of the '<em><b>Definition</b></em>' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Definition</em>' reference. + * @see #setDefinition(FunctionDefinitionReference) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getParametrizedFunctionDefinitionReference_Definition() + * @model + * @generated + */ + FunctionDefinitionReference getDefinition(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinitionReference#getDefinition <em>Definition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Definition</em>' reference. + * @see #getDefinition() + * @generated + */ + void setDefinition(FunctionDefinitionReference value); + +} // ParametrizedFunctionDefinitionReference diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Range.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Range.java new file mode 100644 index 0000000000000000000000000000000000000000..84f548f9707b19638a468352c7c05394fabad2dd --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Range.java @@ -0,0 +1,20 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Range</b></em>'. + * <!-- end-user-doc --> + * + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getRange() + * @model + * @generated + */ +public interface Range extends EObject +{ +} // Range diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Statement.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Statement.java new file mode 100644 index 0000000000000000000000000000000000000000..52af2e571150d7515778b754118020299d33caae --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Statement.java @@ -0,0 +1,20 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Statement</b></em>'. + * <!-- end-user-doc --> + * + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getStatement() + * @model + * @generated + */ +public interface Statement extends EObject +{ +} // Statement diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Use.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Use.java new file mode 100644 index 0000000000000000000000000000000000000000..eaea74d3b3f30ed4d5880d02af1a027f9b2492e1 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/Use.java @@ -0,0 +1,48 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * A representation of the model object '<em><b>Use</b></em>'. + * <!-- end-user-doc --> + * + * <p> + * The following features are supported: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.Use#getImportURI <em>Import URI</em>}</li> + * </ul> + * + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getUse() + * @model + * @generated + */ +public interface Use extends EObject +{ + /** + * Returns the value of the '<em><b>Import URI</b></em>' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the value of the '<em>Import URI</em>' attribute. + * @see #setImportURI(String) + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#getUse_ImportURI() + * @model + * @generated + */ + String getImportURI(); + + /** + * Sets the value of the '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Use#getImportURI <em>Import URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param value the new value of the '<em>Import URI</em>' attribute. + * @see #getImportURI() + * @generated + */ + void setImportURI(String value); + +} // Use diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ApplyStatementImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ApplyStatementImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..0745ba880d63c9d0602b73f2c6ee8c13e82a86fd --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ApplyStatementImpl.java @@ -0,0 +1,401 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement; +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReference; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Apply Statement</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ApplyStatementImpl#getFile <em>File</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ApplyStatementImpl#getCount <em>Count</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ApplyStatementImpl#getFunction <em>Function</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ApplyStatementImpl#getGenerator <em>Generator</em>}</li> + * </ul> + * + * @generated + */ +public class ApplyStatementImpl extends StatementImpl implements ApplyStatement +{ + /** + * The default value of the '{@link #getFile() <em>File</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFile() + * @generated + * @ordered + */ + protected static final String FILE_EDEFAULT = null; + + /** + * The cached value of the '{@link #getFile() <em>File</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFile() + * @generated + * @ordered + */ + protected String file = FILE_EDEFAULT; + + /** + * The default value of the '{@link #getCount() <em>Count</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCount() + * @generated + * @ordered + */ + protected static final int COUNT_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getCount() <em>Count</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getCount() + * @generated + * @ordered + */ + protected int count = COUNT_EDEFAULT; + + /** + * The cached value of the '{@link #getFunction() <em>Function</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFunction() + * @generated + * @ordered + */ + protected FunctionReference function; + + /** + * The cached value of the '{@link #getGenerator() <em>Generator</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGenerator() + * @generated + * @ordered + */ + protected GeneratorReference generator; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ApplyStatementImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.APPLY_STATEMENT; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getFile() + { + return file; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setFile(String newFile) + { + String oldFile = file; + file = newFile; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.APPLY_STATEMENT__FILE, oldFile, file)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int getCount() + { + return count; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setCount(int newCount) + { + int oldCount = count; + count = newCount; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.APPLY_STATEMENT__COUNT, oldCount, count)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public FunctionReference getFunction() + { + return function; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetFunction(FunctionReference newFunction, NotificationChain msgs) + { + FunctionReference oldFunction = function; + function = newFunction; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.APPLY_STATEMENT__FUNCTION, oldFunction, newFunction); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setFunction(FunctionReference newFunction) + { + if (newFunction != function) + { + NotificationChain msgs = null; + if (function != null) + msgs = ((InternalEObject)function).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.APPLY_STATEMENT__FUNCTION, null, msgs); + if (newFunction != null) + msgs = ((InternalEObject)newFunction).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.APPLY_STATEMENT__FUNCTION, null, msgs); + msgs = basicSetFunction(newFunction, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.APPLY_STATEMENT__FUNCTION, newFunction, newFunction)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public GeneratorReference getGenerator() + { + return generator; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetGenerator(GeneratorReference newGenerator, NotificationChain msgs) + { + GeneratorReference oldGenerator = generator; + generator = newGenerator; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.APPLY_STATEMENT__GENERATOR, oldGenerator, newGenerator); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setGenerator(GeneratorReference newGenerator) + { + if (newGenerator != generator) + { + NotificationChain msgs = null; + if (generator != null) + msgs = ((InternalEObject)generator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.APPLY_STATEMENT__GENERATOR, null, msgs); + if (newGenerator != null) + msgs = ((InternalEObject)newGenerator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.APPLY_STATEMENT__GENERATOR, null, msgs); + msgs = basicSetGenerator(newGenerator, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.APPLY_STATEMENT__GENERATOR, newGenerator, newGenerator)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case GeneratorDSLPackage.APPLY_STATEMENT__FUNCTION: + return basicSetFunction(null, msgs); + case GeneratorDSLPackage.APPLY_STATEMENT__GENERATOR: + return basicSetGenerator(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.APPLY_STATEMENT__FILE: + return getFile(); + case GeneratorDSLPackage.APPLY_STATEMENT__COUNT: + return getCount(); + case GeneratorDSLPackage.APPLY_STATEMENT__FUNCTION: + return getFunction(); + case GeneratorDSLPackage.APPLY_STATEMENT__GENERATOR: + return getGenerator(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.APPLY_STATEMENT__FILE: + setFile((String)newValue); + return; + case GeneratorDSLPackage.APPLY_STATEMENT__COUNT: + setCount((Integer)newValue); + return; + case GeneratorDSLPackage.APPLY_STATEMENT__FUNCTION: + setFunction((FunctionReference)newValue); + return; + case GeneratorDSLPackage.APPLY_STATEMENT__GENERATOR: + setGenerator((GeneratorReference)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.APPLY_STATEMENT__FILE: + setFile(FILE_EDEFAULT); + return; + case GeneratorDSLPackage.APPLY_STATEMENT__COUNT: + setCount(COUNT_EDEFAULT); + return; + case GeneratorDSLPackage.APPLY_STATEMENT__FUNCTION: + setFunction((FunctionReference)null); + return; + case GeneratorDSLPackage.APPLY_STATEMENT__GENERATOR: + setGenerator((GeneratorReference)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.APPLY_STATEMENT__FILE: + return FILE_EDEFAULT == null ? file != null : !FILE_EDEFAULT.equals(file); + case GeneratorDSLPackage.APPLY_STATEMENT__COUNT: + return count != COUNT_EDEFAULT; + case GeneratorDSLPackage.APPLY_STATEMENT__FUNCTION: + return function != null; + case GeneratorDSLPackage.APPLY_STATEMENT__GENERATOR: + return generator != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (file: "); + result.append(file); + result.append(", count: "); + result.append(count); + result.append(')'); + return result.toString(); + } + +} //ApplyStatementImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ConfigurationImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ConfigurationImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..84d008703d6d83b3d3d7963cc117e55def9f636f --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ConfigurationImpl.java @@ -0,0 +1,289 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.Configuration; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition; +import de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition; +import de.evoal.languages.model.generator.dsl.generatorDSL.Statement; +import de.evoal.languages.model.generator.dsl.generatorDSL.Use; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Configuration</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ConfigurationImpl#getUses <em>Uses</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ConfigurationImpl#getGenerators <em>Generators</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ConfigurationImpl#getFunctions <em>Functions</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ConfigurationImpl#getStatements <em>Statements</em>}</li> + * </ul> + * + * @generated + */ +public class ConfigurationImpl extends MinimalEObjectImpl.Container implements Configuration +{ + /** + * The cached value of the '{@link #getUses() <em>Uses</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getUses() + * @generated + * @ordered + */ + protected EList<Use> uses; + + /** + * The cached value of the '{@link #getGenerators() <em>Generators</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGenerators() + * @generated + * @ordered + */ + protected EList<GeneratorDefinition> generators; + + /** + * The cached value of the '{@link #getFunctions() <em>Functions</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFunctions() + * @generated + * @ordered + */ + protected EList<ParametrizedFunctionDefinition> functions; + + /** + * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStatements() + * @generated + * @ordered + */ + protected EList<Statement> statements; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ConfigurationImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.CONFIGURATION; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList<Use> getUses() + { + if (uses == null) + { + uses = new EObjectContainmentEList<Use>(Use.class, this, GeneratorDSLPackage.CONFIGURATION__USES); + } + return uses; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList<GeneratorDefinition> getGenerators() + { + if (generators == null) + { + generators = new EObjectContainmentEList<GeneratorDefinition>(GeneratorDefinition.class, this, GeneratorDSLPackage.CONFIGURATION__GENERATORS); + } + return generators; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList<ParametrizedFunctionDefinition> getFunctions() + { + if (functions == null) + { + functions = new EObjectContainmentEList<ParametrizedFunctionDefinition>(ParametrizedFunctionDefinition.class, this, GeneratorDSLPackage.CONFIGURATION__FUNCTIONS); + } + return functions; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList<Statement> getStatements() + { + if (statements == null) + { + statements = new EObjectContainmentEList<Statement>(Statement.class, this, GeneratorDSLPackage.CONFIGURATION__STATEMENTS); + } + return statements; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case GeneratorDSLPackage.CONFIGURATION__USES: + return ((InternalEList<?>)getUses()).basicRemove(otherEnd, msgs); + case GeneratorDSLPackage.CONFIGURATION__GENERATORS: + return ((InternalEList<?>)getGenerators()).basicRemove(otherEnd, msgs); + case GeneratorDSLPackage.CONFIGURATION__FUNCTIONS: + return ((InternalEList<?>)getFunctions()).basicRemove(otherEnd, msgs); + case GeneratorDSLPackage.CONFIGURATION__STATEMENTS: + return ((InternalEList<?>)getStatements()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.CONFIGURATION__USES: + return getUses(); + case GeneratorDSLPackage.CONFIGURATION__GENERATORS: + return getGenerators(); + case GeneratorDSLPackage.CONFIGURATION__FUNCTIONS: + return getFunctions(); + case GeneratorDSLPackage.CONFIGURATION__STATEMENTS: + return getStatements(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.CONFIGURATION__USES: + getUses().clear(); + getUses().addAll((Collection<? extends Use>)newValue); + return; + case GeneratorDSLPackage.CONFIGURATION__GENERATORS: + getGenerators().clear(); + getGenerators().addAll((Collection<? extends GeneratorDefinition>)newValue); + return; + case GeneratorDSLPackage.CONFIGURATION__FUNCTIONS: + getFunctions().clear(); + getFunctions().addAll((Collection<? extends ParametrizedFunctionDefinition>)newValue); + return; + case GeneratorDSLPackage.CONFIGURATION__STATEMENTS: + getStatements().clear(); + getStatements().addAll((Collection<? extends Statement>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.CONFIGURATION__USES: + getUses().clear(); + return; + case GeneratorDSLPackage.CONFIGURATION__GENERATORS: + getGenerators().clear(); + return; + case GeneratorDSLPackage.CONFIGURATION__FUNCTIONS: + getFunctions().clear(); + return; + case GeneratorDSLPackage.CONFIGURATION__STATEMENTS: + getStatements().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.CONFIGURATION__USES: + return uses != null && !uses.isEmpty(); + case GeneratorDSLPackage.CONFIGURATION__GENERATORS: + return generators != null && !generators.isEmpty(); + case GeneratorDSLPackage.CONFIGURATION__FUNCTIONS: + return functions != null && !functions.isEmpty(); + case GeneratorDSLPackage.CONFIGURATION__STATEMENTS: + return statements != null && !statements.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //ConfigurationImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/CounterRangeImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/CounterRangeImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..ee6c20222f78669c6b7a0715787bcc2fc715f1f8 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/CounterRangeImpl.java @@ -0,0 +1,237 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Counter Range</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.CounterRangeImpl#getStart <em>Start</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.CounterRangeImpl#getEnd <em>End</em>}</li> + * </ul> + * + * @generated + */ +public class CounterRangeImpl extends RangeImpl implements CounterRange +{ + /** + * The default value of the '{@link #getStart() <em>Start</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStart() + * @generated + * @ordered + */ + protected static final int START_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getStart() <em>Start</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStart() + * @generated + * @ordered + */ + protected int start = START_EDEFAULT; + + /** + * The default value of the '{@link #getEnd() <em>End</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEnd() + * @generated + * @ordered + */ + protected static final int END_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getEnd() <em>End</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getEnd() + * @generated + * @ordered + */ + protected int end = END_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected CounterRangeImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.COUNTER_RANGE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int getStart() + { + return start; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setStart(int newStart) + { + int oldStart = start; + start = newStart; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.COUNTER_RANGE__START, oldStart, start)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public int getEnd() + { + return end; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setEnd(int newEnd) + { + int oldEnd = end; + end = newEnd; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.COUNTER_RANGE__END, oldEnd, end)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.COUNTER_RANGE__START: + return getStart(); + case GeneratorDSLPackage.COUNTER_RANGE__END: + return getEnd(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.COUNTER_RANGE__START: + setStart((Integer)newValue); + return; + case GeneratorDSLPackage.COUNTER_RANGE__END: + setEnd((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.COUNTER_RANGE__START: + setStart(START_EDEFAULT); + return; + case GeneratorDSLPackage.COUNTER_RANGE__END: + setEnd(END_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.COUNTER_RANGE__START: + return start != START_EDEFAULT; + case GeneratorDSLPackage.COUNTER_RANGE__END: + return end != END_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (start: "); + result.append(start); + result.append(", end: "); + result.append(end); + result.append(')'); + return result.toString(); + } + +} //CounterRangeImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ForStatementImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ForStatementImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..9af1266461a966f683f7528e226f5caa0fc7c5c6 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ForStatementImpl.java @@ -0,0 +1,317 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.Range; +import de.evoal.languages.model.generator.dsl.generatorDSL.Statement; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>For Statement</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ForStatementImpl#getName <em>Name</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ForStatementImpl#getRange <em>Range</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ForStatementImpl#getStatements <em>Statements</em>}</li> + * </ul> + * + * @generated + */ +public class ForStatementImpl extends StatementImpl implements ForStatement +{ + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getRange() <em>Range</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getRange() + * @generated + * @ordered + */ + protected Range range; + + /** + * The cached value of the '{@link #getStatements() <em>Statements</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getStatements() + * @generated + * @ordered + */ + protected EList<Statement> statements; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ForStatementImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.FOR_STATEMENT; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.FOR_STATEMENT__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Range getRange() + { + return range; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetRange(Range newRange, NotificationChain msgs) + { + Range oldRange = range; + range = newRange; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.FOR_STATEMENT__RANGE, oldRange, newRange); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setRange(Range newRange) + { + if (newRange != range) + { + NotificationChain msgs = null; + if (range != null) + msgs = ((InternalEObject)range).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.FOR_STATEMENT__RANGE, null, msgs); + if (newRange != null) + msgs = ((InternalEObject)newRange).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.FOR_STATEMENT__RANGE, null, msgs); + msgs = basicSetRange(newRange, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.FOR_STATEMENT__RANGE, newRange, newRange)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList<Statement> getStatements() + { + if (statements == null) + { + statements = new EObjectContainmentEList<Statement>(Statement.class, this, GeneratorDSLPackage.FOR_STATEMENT__STATEMENTS); + } + return statements; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case GeneratorDSLPackage.FOR_STATEMENT__RANGE: + return basicSetRange(null, msgs); + case GeneratorDSLPackage.FOR_STATEMENT__STATEMENTS: + return ((InternalEList<?>)getStatements()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.FOR_STATEMENT__NAME: + return getName(); + case GeneratorDSLPackage.FOR_STATEMENT__RANGE: + return getRange(); + case GeneratorDSLPackage.FOR_STATEMENT__STATEMENTS: + return getStatements(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.FOR_STATEMENT__NAME: + setName((String)newValue); + return; + case GeneratorDSLPackage.FOR_STATEMENT__RANGE: + setRange((Range)newValue); + return; + case GeneratorDSLPackage.FOR_STATEMENT__STATEMENTS: + getStatements().clear(); + getStatements().addAll((Collection<? extends Statement>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.FOR_STATEMENT__NAME: + setName(NAME_EDEFAULT); + return; + case GeneratorDSLPackage.FOR_STATEMENT__RANGE: + setRange((Range)null); + return; + case GeneratorDSLPackage.FOR_STATEMENT__STATEMENTS: + getStatements().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.FOR_STATEMENT__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case GeneratorDSLPackage.FOR_STATEMENT__RANGE: + return range != null; + case GeneratorDSLPackage.FOR_STATEMENT__STATEMENTS: + return statements != null && !statements.isEmpty(); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ForStatementImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionDefReferenceImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionDefReferenceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..4c2432065719fea76704d5bc82879ef2ca3c7c48 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionDefReferenceImpl.java @@ -0,0 +1,41 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; + +import org.eclipse.emf.ecore.EClass; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Function Def Reference</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class FunctionDefReferenceImpl extends FunctionReferenceImpl implements FunctionDefReference +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FunctionDefReferenceImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.FUNCTION_DEF_REFERENCE; + } + +} //FunctionDefReferenceImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionDefinitionReferenceImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionDefinitionReferenceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..84ba008b5ef5877e2884d7360d843182d166bae9 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionDefinitionReferenceImpl.java @@ -0,0 +1,176 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.dl.FunctionDefinition; + +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Function Definition Reference</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionDefinitionReferenceImpl#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @generated + */ +public class FunctionDefinitionReferenceImpl extends FunctionDefReferenceImpl implements FunctionDefinitionReference +{ + /** + * The cached value of the '{@link #getDefinition() <em>Definition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDefinition() + * @generated + * @ordered + */ + protected FunctionDefinition definition; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FunctionDefinitionReferenceImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.FUNCTION_DEFINITION_REFERENCE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public FunctionDefinition getDefinition() + { + if (definition != null && definition.eIsProxy()) + { + InternalEObject oldDefinition = (InternalEObject)definition; + definition = (FunctionDefinition)eResolveProxy(oldDefinition); + if (definition != oldDefinition) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, GeneratorDSLPackage.FUNCTION_DEFINITION_REFERENCE__DEFINITION, oldDefinition, definition)); + } + } + return definition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FunctionDefinition basicGetDefinition() + { + return definition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setDefinition(FunctionDefinition newDefinition) + { + FunctionDefinition oldDefinition = definition; + definition = newDefinition; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.FUNCTION_DEFINITION_REFERENCE__DEFINITION, oldDefinition, definition)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTION_DEFINITION_REFERENCE__DEFINITION: + if (resolve) return getDefinition(); + return basicGetDefinition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTION_DEFINITION_REFERENCE__DEFINITION: + setDefinition((FunctionDefinition)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTION_DEFINITION_REFERENCE__DEFINITION: + setDefinition((FunctionDefinition)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTION_DEFINITION_REFERENCE__DEFINITION: + return definition != null; + } + return super.eIsSet(featureID); + } + +} //FunctionDefinitionReferenceImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionReferenceImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionReferenceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..6747fa81e1dba9b20537cf6ed595bf353bd0ed9b --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionReferenceImpl.java @@ -0,0 +1,43 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Function Reference</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class FunctionReferenceImpl extends MinimalEObjectImpl.Container implements FunctionReference +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FunctionReferenceImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.FUNCTION_REFERENCE; + } + +} //FunctionReferenceImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionReferencesImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionReferencesImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..63f678a50c6c8a34c3c3890c6353186f48e65cae --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionReferencesImpl.java @@ -0,0 +1,169 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReferences; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Function References</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionReferencesImpl#getFunctions <em>Functions</em>}</li> + * </ul> + * + * @generated + */ +public class FunctionReferencesImpl extends MinimalEObjectImpl.Container implements FunctionReferences +{ + /** + * The cached value of the '{@link #getFunctions() <em>Functions</em>}' containment reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFunctions() + * @generated + * @ordered + */ + protected EList<FunctionDefReference> functions; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FunctionReferencesImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.FUNCTION_REFERENCES; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList<FunctionDefReference> getFunctions() + { + if (functions == null) + { + functions = new EObjectContainmentEList<FunctionDefReference>(FunctionDefReference.class, this, GeneratorDSLPackage.FUNCTION_REFERENCES__FUNCTIONS); + } + return functions; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTION_REFERENCES__FUNCTIONS: + return ((InternalEList<?>)getFunctions()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTION_REFERENCES__FUNCTIONS: + return getFunctions(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTION_REFERENCES__FUNCTIONS: + getFunctions().clear(); + getFunctions().addAll((Collection<? extends FunctionDefReference>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTION_REFERENCES__FUNCTIONS: + getFunctions().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTION_REFERENCES__FUNCTIONS: + return functions != null && !functions.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //FunctionReferencesImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionsImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionsImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..a063bcb8865151f0c192cfe03ffc290030c9dc83 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/FunctionsImpl.java @@ -0,0 +1,196 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReferences; +import de.evoal.languages.model.generator.dsl.generatorDSL.Functions; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Functions</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.FunctionsImpl#getFunctionReferences <em>Function References</em>}</li> + * </ul> + * + * @generated + */ +public class FunctionsImpl extends RangeImpl implements Functions +{ + /** + * The cached value of the '{@link #getFunctionReferences() <em>Function References</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getFunctionReferences() + * @generated + * @ordered + */ + protected FunctionReferences functionReferences; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected FunctionsImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.FUNCTIONS; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public FunctionReferences getFunctionReferences() + { + return functionReferences; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetFunctionReferences(FunctionReferences newFunctionReferences, NotificationChain msgs) + { + FunctionReferences oldFunctionReferences = functionReferences; + functionReferences = newFunctionReferences; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.FUNCTIONS__FUNCTION_REFERENCES, oldFunctionReferences, newFunctionReferences); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setFunctionReferences(FunctionReferences newFunctionReferences) + { + if (newFunctionReferences != functionReferences) + { + NotificationChain msgs = null; + if (functionReferences != null) + msgs = ((InternalEObject)functionReferences).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.FUNCTIONS__FUNCTION_REFERENCES, null, msgs); + if (newFunctionReferences != null) + msgs = ((InternalEObject)newFunctionReferences).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.FUNCTIONS__FUNCTION_REFERENCES, null, msgs); + msgs = basicSetFunctionReferences(newFunctionReferences, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.FUNCTIONS__FUNCTION_REFERENCES, newFunctionReferences, newFunctionReferences)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTIONS__FUNCTION_REFERENCES: + return basicSetFunctionReferences(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTIONS__FUNCTION_REFERENCES: + return getFunctionReferences(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTIONS__FUNCTION_REFERENCES: + setFunctionReferences((FunctionReferences)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTIONS__FUNCTION_REFERENCES: + setFunctionReferences((FunctionReferences)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.FUNCTIONS__FUNCTION_REFERENCES: + return functionReferences != null; + } + return super.eIsSet(featureID); + } + +} //FunctionsImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDSLFactoryImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDSLFactoryImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..b3159b5c308d7b10c072e8785f86fd47bceb7249 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDSLFactoryImpl.java @@ -0,0 +1,356 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.*; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Factory</b>. + * <!-- end-user-doc --> + * @generated + */ +public class GeneratorDSLFactoryImpl extends EFactoryImpl implements GeneratorDSLFactory +{ + /** + * Creates the default factory implementation. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public static GeneratorDSLFactory init() + { + try + { + GeneratorDSLFactory theGeneratorDSLFactory = (GeneratorDSLFactory)EPackage.Registry.INSTANCE.getEFactory(GeneratorDSLPackage.eNS_URI); + if (theGeneratorDSLFactory != null) + { + return theGeneratorDSLFactory; + } + } + catch (Exception exception) + { + EcorePlugin.INSTANCE.log(exception); + } + return new GeneratorDSLFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GeneratorDSLFactoryImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EObject create(EClass eClass) + { + switch (eClass.getClassifierID()) + { + case GeneratorDSLPackage.CONFIGURATION: return createConfiguration(); + case GeneratorDSLPackage.USE: return createUse(); + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION: return createParametrizedFunctionDefinition(); + case GeneratorDSLPackage.GENERATOR_DEFINITION: return createGeneratorDefinition(); + case GeneratorDSLPackage.STATEMENT: return createStatement(); + case GeneratorDSLPackage.FOR_STATEMENT: return createForStatement(); + case GeneratorDSLPackage.RANGE: return createRange(); + case GeneratorDSLPackage.COUNTER_RANGE: return createCounterRange(); + case GeneratorDSLPackage.FUNCTIONS: return createFunctions(); + case GeneratorDSLPackage.FUNCTION_REFERENCES: return createFunctionReferences(); + case GeneratorDSLPackage.GENERATORS: return createGenerators(); + case GeneratorDSLPackage.GENERATOR_REFERENCES: return createGeneratorReferences(); + case GeneratorDSLPackage.APPLY_STATEMENT: return createApplyStatement(); + case GeneratorDSLPackage.GENERATOR_REFERENCE: return createGeneratorReference(); + case GeneratorDSLPackage.GENERATOR_DEFINITION_REFERENCE: return createGeneratorDefinitionReference(); + case GeneratorDSLPackage.FUNCTION_REFERENCE: return createFunctionReference(); + case GeneratorDSLPackage.FUNCTION_DEF_REFERENCE: return createFunctionDefReference(); + case GeneratorDSLPackage.LOOP_VARIABLE: return createLoopVariable(); + case GeneratorDSLPackage.FUNCTION_DEFINITION_REFERENCE: return createFunctionDefinitionReference(); + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE: return createParametrizedFunctionDefinitionReference(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Configuration createConfiguration() + { + ConfigurationImpl configuration = new ConfigurationImpl(); + return configuration; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Use createUse() + { + UseImpl use = new UseImpl(); + return use; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ParametrizedFunctionDefinition createParametrizedFunctionDefinition() + { + ParametrizedFunctionDefinitionImpl parametrizedFunctionDefinition = new ParametrizedFunctionDefinitionImpl(); + return parametrizedFunctionDefinition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public GeneratorDefinition createGeneratorDefinition() + { + GeneratorDefinitionImpl generatorDefinition = new GeneratorDefinitionImpl(); + return generatorDefinition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Statement createStatement() + { + StatementImpl statement = new StatementImpl(); + return statement; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ForStatement createForStatement() + { + ForStatementImpl forStatement = new ForStatementImpl(); + return forStatement; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Range createRange() + { + RangeImpl range = new RangeImpl(); + return range; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public CounterRange createCounterRange() + { + CounterRangeImpl counterRange = new CounterRangeImpl(); + return counterRange; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Functions createFunctions() + { + FunctionsImpl functions = new FunctionsImpl(); + return functions; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public FunctionReferences createFunctionReferences() + { + FunctionReferencesImpl functionReferences = new FunctionReferencesImpl(); + return functionReferences; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Generators createGenerators() + { + GeneratorsImpl generators = new GeneratorsImpl(); + return generators; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public GeneratorReferences createGeneratorReferences() + { + GeneratorReferencesImpl generatorReferences = new GeneratorReferencesImpl(); + return generatorReferences; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ApplyStatement createApplyStatement() + { + ApplyStatementImpl applyStatement = new ApplyStatementImpl(); + return applyStatement; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public GeneratorReference createGeneratorReference() + { + GeneratorReferenceImpl generatorReference = new GeneratorReferenceImpl(); + return generatorReference; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public GeneratorDefinitionReference createGeneratorDefinitionReference() + { + GeneratorDefinitionReferenceImpl generatorDefinitionReference = new GeneratorDefinitionReferenceImpl(); + return generatorDefinitionReference; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public FunctionReference createFunctionReference() + { + FunctionReferenceImpl functionReference = new FunctionReferenceImpl(); + return functionReference; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public FunctionDefReference createFunctionDefReference() + { + FunctionDefReferenceImpl functionDefReference = new FunctionDefReferenceImpl(); + return functionDefReference; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public LoopVariable createLoopVariable() + { + LoopVariableImpl loopVariable = new LoopVariableImpl(); + return loopVariable; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public FunctionDefinitionReference createFunctionDefinitionReference() + { + FunctionDefinitionReferenceImpl functionDefinitionReference = new FunctionDefinitionReferenceImpl(); + return functionDefinitionReference; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ParametrizedFunctionDefinitionReference createParametrizedFunctionDefinitionReference() + { + ParametrizedFunctionDefinitionReferenceImpl parametrizedFunctionDefinitionReference = new ParametrizedFunctionDefinitionReferenceImpl(); + return parametrizedFunctionDefinitionReference; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public GeneratorDSLPackage getGeneratorDSLPackage() + { + return (GeneratorDSLPackage)getEPackage(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @deprecated + * @generated + */ + @Deprecated + public static GeneratorDSLPackage getPackage() + { + return GeneratorDSLPackage.eINSTANCE; + } + +} //GeneratorDSLFactoryImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDSLPackageImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDSLPackageImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..e2e13fa960b2a9d1aada6274c7ba6e45496fc217 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDSLPackageImpl.java @@ -0,0 +1,981 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.ddl.DdlPackage; + +import de.evoal.languages.model.dl.DlPackage; + +import de.evoal.languages.model.el.ELPackage; + +import de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement; +import de.evoal.languages.model.generator.dsl.generatorDSL.Configuration; +import de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange; +import de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement; +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReferences; +import de.evoal.languages.model.generator.dsl.generatorDSL.Functions; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLFactory; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinitionReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReferences; +import de.evoal.languages.model.generator.dsl.generatorDSL.Generators; +import de.evoal.languages.model.generator.dsl.generatorDSL.LoopVariable; +import de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition; +import de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinitionReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.Range; +import de.evoal.languages.model.generator.dsl.generatorDSL.Statement; +import de.evoal.languages.model.generator.dsl.generatorDSL.Use; + +import de.evoal.languages.model.instance.InstancePackage; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model <b>Package</b>. + * <!-- end-user-doc --> + * @generated + */ +public class GeneratorDSLPackageImpl extends EPackageImpl implements GeneratorDSLPackage +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass configurationEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass useEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass parametrizedFunctionDefinitionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass generatorDefinitionEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass statementEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass forStatementEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass rangeEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass counterRangeEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass functionsEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass functionReferencesEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass generatorsEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass generatorReferencesEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass applyStatementEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass generatorReferenceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass generatorDefinitionReferenceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass functionReferenceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass functionDefReferenceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass loopVariableEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass functionDefinitionReferenceEClass = null; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private EClass parametrizedFunctionDefinitionReferenceEClass = null; + + /** + * Creates an instance of the model <b>Package</b>, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + * <p>Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage#eNS_URI + * @see #init() + * @generated + */ + private GeneratorDSLPackageImpl() + { + super(eNS_URI, GeneratorDSLFactory.eINSTANCE); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. + * + * <p>This method is used to initialize {@link GeneratorDSLPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static GeneratorDSLPackage init() + { + if (isInited) return (GeneratorDSLPackage)EPackage.Registry.INSTANCE.getEPackage(GeneratorDSLPackage.eNS_URI); + + // Obtain or create and register package + Object registeredGeneratorDSLPackage = EPackage.Registry.INSTANCE.get(eNS_URI); + GeneratorDSLPackageImpl theGeneratorDSLPackage = registeredGeneratorDSLPackage instanceof GeneratorDSLPackageImpl ? (GeneratorDSLPackageImpl)registeredGeneratorDSLPackage : new GeneratorDSLPackageImpl(); + + isInited = true; + + // Initialize simple dependencies + DlPackage.eINSTANCE.eClass(); + InstancePackage.eINSTANCE.eClass(); + ELPackage.eINSTANCE.eClass(); + DdlPackage.eINSTANCE.eClass(); + + // Create package meta-data objects + theGeneratorDSLPackage.createPackageContents(); + + // Initialize created meta-data + theGeneratorDSLPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + theGeneratorDSLPackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(GeneratorDSLPackage.eNS_URI, theGeneratorDSLPackage); + return theGeneratorDSLPackage; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getConfiguration() + { + return configurationEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getConfiguration_Uses() + { + return (EReference)configurationEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getConfiguration_Generators() + { + return (EReference)configurationEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getConfiguration_Functions() + { + return (EReference)configurationEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getConfiguration_Statements() + { + return (EReference)configurationEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getUse() + { + return useEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getUse_ImportURI() + { + return (EAttribute)useEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getParametrizedFunctionDefinition() + { + return parametrizedFunctionDefinitionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getParametrizedFunctionDefinition_Name() + { + return (EAttribute)parametrizedFunctionDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getParametrizedFunctionDefinition_Definition() + { + return (EReference)parametrizedFunctionDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getGeneratorDefinition() + { + return generatorDefinitionEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getGeneratorDefinition_Name() + { + return (EAttribute)generatorDefinitionEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getGeneratorDefinition_Definition() + { + return (EReference)generatorDefinitionEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getStatement() + { + return statementEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getForStatement() + { + return forStatementEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getForStatement_Name() + { + return (EAttribute)forStatementEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getForStatement_Range() + { + return (EReference)forStatementEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getForStatement_Statements() + { + return (EReference)forStatementEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getRange() + { + return rangeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getCounterRange() + { + return counterRangeEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getCounterRange_Start() + { + return (EAttribute)counterRangeEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getCounterRange_End() + { + return (EAttribute)counterRangeEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getFunctions() + { + return functionsEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getFunctions_FunctionReferences() + { + return (EReference)functionsEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getFunctionReferences() + { + return functionReferencesEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getFunctionReferences_Functions() + { + return (EReference)functionReferencesEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getGenerators() + { + return generatorsEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getGenerators_GeneratorReferences() + { + return (EReference)generatorsEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getGeneratorReferences() + { + return generatorReferencesEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getGeneratorReferences_Generators() + { + return (EReference)generatorReferencesEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getApplyStatement() + { + return applyStatementEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getApplyStatement_File() + { + return (EAttribute)applyStatementEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EAttribute getApplyStatement_Count() + { + return (EAttribute)applyStatementEClass.getEStructuralFeatures().get(1); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getApplyStatement_Function() + { + return (EReference)applyStatementEClass.getEStructuralFeatures().get(2); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getApplyStatement_Generator() + { + return (EReference)applyStatementEClass.getEStructuralFeatures().get(3); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getGeneratorReference() + { + return generatorReferenceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getGeneratorDefinitionReference() + { + return generatorDefinitionReferenceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getGeneratorDefinitionReference_Definition() + { + return (EReference)generatorDefinitionReferenceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getFunctionReference() + { + return functionReferenceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getFunctionDefReference() + { + return functionDefReferenceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getLoopVariable() + { + return loopVariableEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getLoopVariable_Definition() + { + return (EReference)loopVariableEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getFunctionDefinitionReference() + { + return functionDefinitionReferenceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getFunctionDefinitionReference_Definition() + { + return (EReference)functionDefinitionReferenceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EClass getParametrizedFunctionDefinitionReference() + { + return parametrizedFunctionDefinitionReferenceEClass; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EReference getParametrizedFunctionDefinitionReference_Definition() + { + return (EReference)parametrizedFunctionDefinitionReferenceEClass.getEStructuralFeatures().get(0); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public GeneratorDSLFactory getGeneratorDSLFactory() + { + return (GeneratorDSLFactory)getEFactoryInstance(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void createPackageContents() + { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + configurationEClass = createEClass(CONFIGURATION); + createEReference(configurationEClass, CONFIGURATION__USES); + createEReference(configurationEClass, CONFIGURATION__GENERATORS); + createEReference(configurationEClass, CONFIGURATION__FUNCTIONS); + createEReference(configurationEClass, CONFIGURATION__STATEMENTS); + + useEClass = createEClass(USE); + createEAttribute(useEClass, USE__IMPORT_URI); + + parametrizedFunctionDefinitionEClass = createEClass(PARAMETRIZED_FUNCTION_DEFINITION); + createEAttribute(parametrizedFunctionDefinitionEClass, PARAMETRIZED_FUNCTION_DEFINITION__NAME); + createEReference(parametrizedFunctionDefinitionEClass, PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION); + + generatorDefinitionEClass = createEClass(GENERATOR_DEFINITION); + createEAttribute(generatorDefinitionEClass, GENERATOR_DEFINITION__NAME); + createEReference(generatorDefinitionEClass, GENERATOR_DEFINITION__DEFINITION); + + statementEClass = createEClass(STATEMENT); + + forStatementEClass = createEClass(FOR_STATEMENT); + createEAttribute(forStatementEClass, FOR_STATEMENT__NAME); + createEReference(forStatementEClass, FOR_STATEMENT__RANGE); + createEReference(forStatementEClass, FOR_STATEMENT__STATEMENTS); + + rangeEClass = createEClass(RANGE); + + counterRangeEClass = createEClass(COUNTER_RANGE); + createEAttribute(counterRangeEClass, COUNTER_RANGE__START); + createEAttribute(counterRangeEClass, COUNTER_RANGE__END); + + functionsEClass = createEClass(FUNCTIONS); + createEReference(functionsEClass, FUNCTIONS__FUNCTION_REFERENCES); + + functionReferencesEClass = createEClass(FUNCTION_REFERENCES); + createEReference(functionReferencesEClass, FUNCTION_REFERENCES__FUNCTIONS); + + generatorsEClass = createEClass(GENERATORS); + createEReference(generatorsEClass, GENERATORS__GENERATOR_REFERENCES); + + generatorReferencesEClass = createEClass(GENERATOR_REFERENCES); + createEReference(generatorReferencesEClass, GENERATOR_REFERENCES__GENERATORS); + + applyStatementEClass = createEClass(APPLY_STATEMENT); + createEAttribute(applyStatementEClass, APPLY_STATEMENT__FILE); + createEAttribute(applyStatementEClass, APPLY_STATEMENT__COUNT); + createEReference(applyStatementEClass, APPLY_STATEMENT__FUNCTION); + createEReference(applyStatementEClass, APPLY_STATEMENT__GENERATOR); + + generatorReferenceEClass = createEClass(GENERATOR_REFERENCE); + + generatorDefinitionReferenceEClass = createEClass(GENERATOR_DEFINITION_REFERENCE); + createEReference(generatorDefinitionReferenceEClass, GENERATOR_DEFINITION_REFERENCE__DEFINITION); + + functionReferenceEClass = createEClass(FUNCTION_REFERENCE); + + functionDefReferenceEClass = createEClass(FUNCTION_DEF_REFERENCE); + + loopVariableEClass = createEClass(LOOP_VARIABLE); + createEReference(loopVariableEClass, LOOP_VARIABLE__DEFINITION); + + functionDefinitionReferenceEClass = createEClass(FUNCTION_DEFINITION_REFERENCE); + createEReference(functionDefinitionReferenceEClass, FUNCTION_DEFINITION_REFERENCE__DEFINITION); + + parametrizedFunctionDefinitionReferenceEClass = createEClass(PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE); + createEReference(parametrizedFunctionDefinitionReferenceEClass, PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public void initializePackageContents() + { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Obtain other dependent packages + InstancePackage theInstancePackage = (InstancePackage)EPackage.Registry.INSTANCE.getEPackage(InstancePackage.eNS_URI); + DlPackage theDlPackage = (DlPackage)EPackage.Registry.INSTANCE.getEPackage(DlPackage.eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + forStatementEClass.getESuperTypes().add(this.getStatement()); + counterRangeEClass.getESuperTypes().add(this.getRange()); + functionsEClass.getESuperTypes().add(this.getRange()); + generatorsEClass.getESuperTypes().add(this.getRange()); + applyStatementEClass.getESuperTypes().add(this.getStatement()); + generatorDefinitionReferenceEClass.getESuperTypes().add(this.getGeneratorReference()); + functionDefReferenceEClass.getESuperTypes().add(this.getFunctionReference()); + loopVariableEClass.getESuperTypes().add(this.getGeneratorReference()); + loopVariableEClass.getESuperTypes().add(this.getFunctionReference()); + functionDefinitionReferenceEClass.getESuperTypes().add(this.getFunctionDefReference()); + parametrizedFunctionDefinitionReferenceEClass.getESuperTypes().add(this.getFunctionDefReference()); + + // Initialize classes and features; add operations and parameters + initEClass(configurationEClass, Configuration.class, "Configuration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getConfiguration_Uses(), this.getUse(), null, "uses", null, 0, -1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getConfiguration_Generators(), this.getGeneratorDefinition(), null, "generators", null, 0, -1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getConfiguration_Functions(), this.getParametrizedFunctionDefinition(), null, "functions", null, 0, -1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getConfiguration_Statements(), this.getStatement(), null, "statements", null, 0, -1, Configuration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(useEClass, Use.class, "Use", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getUse_ImportURI(), ecorePackage.getEString(), "importURI", null, 0, 1, Use.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(parametrizedFunctionDefinitionEClass, ParametrizedFunctionDefinition.class, "ParametrizedFunctionDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getParametrizedFunctionDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, ParametrizedFunctionDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getParametrizedFunctionDefinition_Definition(), theInstancePackage.getInstance(), null, "definition", null, 0, 1, ParametrizedFunctionDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(generatorDefinitionEClass, GeneratorDefinition.class, "GeneratorDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getGeneratorDefinition_Name(), ecorePackage.getEString(), "name", null, 0, 1, GeneratorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getGeneratorDefinition_Definition(), theInstancePackage.getInstance(), null, "definition", null, 0, 1, GeneratorDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(statementEClass, Statement.class, "Statement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(forStatementEClass, ForStatement.class, "ForStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getForStatement_Name(), ecorePackage.getEString(), "name", null, 0, 1, ForStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getForStatement_Range(), this.getRange(), null, "range", null, 0, 1, ForStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getForStatement_Statements(), this.getStatement(), null, "statements", null, 0, -1, ForStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(rangeEClass, Range.class, "Range", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(counterRangeEClass, CounterRange.class, "CounterRange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getCounterRange_Start(), ecorePackage.getEInt(), "start", null, 0, 1, CounterRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getCounterRange_End(), ecorePackage.getEInt(), "end", null, 0, 1, CounterRange.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(functionsEClass, Functions.class, "Functions", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getFunctions_FunctionReferences(), this.getFunctionReferences(), null, "functionReferences", null, 0, 1, Functions.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(functionReferencesEClass, FunctionReferences.class, "FunctionReferences", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getFunctionReferences_Functions(), this.getFunctionDefReference(), null, "functions", null, 0, -1, FunctionReferences.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(generatorsEClass, Generators.class, "Generators", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getGenerators_GeneratorReferences(), this.getGeneratorReferences(), null, "generatorReferences", null, 0, 1, Generators.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(generatorReferencesEClass, GeneratorReferences.class, "GeneratorReferences", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getGeneratorReferences_Generators(), this.getGeneratorDefinition(), null, "generators", null, 0, -1, GeneratorReferences.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(applyStatementEClass, ApplyStatement.class, "ApplyStatement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getApplyStatement_File(), ecorePackage.getEString(), "file", null, 0, 1, ApplyStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getApplyStatement_Count(), ecorePackage.getEInt(), "count", null, 0, 1, ApplyStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getApplyStatement_Function(), this.getFunctionReference(), null, "function", null, 0, 1, ApplyStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getApplyStatement_Generator(), this.getGeneratorReference(), null, "generator", null, 0, 1, ApplyStatement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(generatorReferenceEClass, GeneratorReference.class, "GeneratorReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(generatorDefinitionReferenceEClass, GeneratorDefinitionReference.class, "GeneratorDefinitionReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getGeneratorDefinitionReference_Definition(), this.getGeneratorDefinition(), null, "definition", null, 0, 1, GeneratorDefinitionReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(functionReferenceEClass, FunctionReference.class, "FunctionReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(functionDefReferenceEClass, FunctionDefReference.class, "FunctionDefReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + + initEClass(loopVariableEClass, LoopVariable.class, "LoopVariable", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getLoopVariable_Definition(), this.getForStatement(), null, "definition", null, 0, 1, LoopVariable.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(functionDefinitionReferenceEClass, FunctionDefinitionReference.class, "FunctionDefinitionReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getFunctionDefinitionReference_Definition(), theDlPackage.getFunctionDefinition(), null, "definition", null, 0, 1, FunctionDefinitionReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(parametrizedFunctionDefinitionReferenceEClass, ParametrizedFunctionDefinitionReference.class, "ParametrizedFunctionDefinitionReference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getParametrizedFunctionDefinitionReference_Definition(), this.getFunctionDefinitionReference(), null, "definition", null, 0, 1, ParametrizedFunctionDefinitionReference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Create resource + createResource(eNS_URI); + } + +} //GeneratorDSLPackageImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDefinitionImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDefinitionImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..4e72a2a2447ae4725f7c442db67daa2959e14f36 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDefinitionImpl.java @@ -0,0 +1,271 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition; + +import de.evoal.languages.model.instance.Instance; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Generator Definition</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDefinitionImpl#getName <em>Name</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDefinitionImpl#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @generated + */ +public class GeneratorDefinitionImpl extends MinimalEObjectImpl.Container implements GeneratorDefinition +{ + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getDefinition() <em>Definition</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDefinition() + * @generated + * @ordered + */ + protected Instance definition; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GeneratorDefinitionImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.GENERATOR_DEFINITION; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.GENERATOR_DEFINITION__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Instance getDefinition() + { + return definition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetDefinition(Instance newDefinition, NotificationChain msgs) + { + Instance oldDefinition = definition; + definition = newDefinition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.GENERATOR_DEFINITION__DEFINITION, oldDefinition, newDefinition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setDefinition(Instance newDefinition) + { + if (newDefinition != definition) + { + NotificationChain msgs = null; + if (definition != null) + msgs = ((InternalEObject)definition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.GENERATOR_DEFINITION__DEFINITION, null, msgs); + if (newDefinition != null) + msgs = ((InternalEObject)newDefinition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.GENERATOR_DEFINITION__DEFINITION, null, msgs); + msgs = basicSetDefinition(newDefinition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.GENERATOR_DEFINITION__DEFINITION, newDefinition, newDefinition)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_DEFINITION__DEFINITION: + return basicSetDefinition(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_DEFINITION__NAME: + return getName(); + case GeneratorDSLPackage.GENERATOR_DEFINITION__DEFINITION: + return getDefinition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_DEFINITION__NAME: + setName((String)newValue); + return; + case GeneratorDSLPackage.GENERATOR_DEFINITION__DEFINITION: + setDefinition((Instance)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case GeneratorDSLPackage.GENERATOR_DEFINITION__DEFINITION: + setDefinition((Instance)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case GeneratorDSLPackage.GENERATOR_DEFINITION__DEFINITION: + return definition != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //GeneratorDefinitionImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDefinitionReferenceImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDefinitionReferenceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..388b771556547e9039f9f17e9f34447fa86ae253 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorDefinitionReferenceImpl.java @@ -0,0 +1,175 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinitionReference; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Generator Definition Reference</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorDefinitionReferenceImpl#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @generated + */ +public class GeneratorDefinitionReferenceImpl extends GeneratorReferenceImpl implements GeneratorDefinitionReference +{ + /** + * The cached value of the '{@link #getDefinition() <em>Definition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDefinition() + * @generated + * @ordered + */ + protected GeneratorDefinition definition; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GeneratorDefinitionReferenceImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.GENERATOR_DEFINITION_REFERENCE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public GeneratorDefinition getDefinition() + { + if (definition != null && definition.eIsProxy()) + { + InternalEObject oldDefinition = (InternalEObject)definition; + definition = (GeneratorDefinition)eResolveProxy(oldDefinition); + if (definition != oldDefinition) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, GeneratorDSLPackage.GENERATOR_DEFINITION_REFERENCE__DEFINITION, oldDefinition, definition)); + } + } + return definition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GeneratorDefinition basicGetDefinition() + { + return definition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setDefinition(GeneratorDefinition newDefinition) + { + GeneratorDefinition oldDefinition = definition; + definition = newDefinition; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.GENERATOR_DEFINITION_REFERENCE__DEFINITION, oldDefinition, definition)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_DEFINITION_REFERENCE__DEFINITION: + if (resolve) return getDefinition(); + return basicGetDefinition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_DEFINITION_REFERENCE__DEFINITION: + setDefinition((GeneratorDefinition)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_DEFINITION_REFERENCE__DEFINITION: + setDefinition((GeneratorDefinition)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_DEFINITION_REFERENCE__DEFINITION: + return definition != null; + } + return super.eIsSet(featureID); + } + +} //GeneratorDefinitionReferenceImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorReferenceImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorReferenceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..7f1ffc0e62c8f5ff95344b46b0087b5d4424ee01 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorReferenceImpl.java @@ -0,0 +1,43 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReference; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Generator Reference</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class GeneratorReferenceImpl extends MinimalEObjectImpl.Container implements GeneratorReference +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GeneratorReferenceImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.GENERATOR_REFERENCE; + } + +} //GeneratorReferenceImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorReferencesImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorReferencesImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..70b2adade32b6931c3ccf25bd2b00e7b28ba5319 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorReferencesImpl.java @@ -0,0 +1,149 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReferences; + +import java.util.Collection; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import org.eclipse.emf.ecore.util.EObjectResolvingEList; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Generator References</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorReferencesImpl#getGenerators <em>Generators</em>}</li> + * </ul> + * + * @generated + */ +public class GeneratorReferencesImpl extends MinimalEObjectImpl.Container implements GeneratorReferences +{ + /** + * The cached value of the '{@link #getGenerators() <em>Generators</em>}' reference list. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGenerators() + * @generated + * @ordered + */ + protected EList<GeneratorDefinition> generators; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GeneratorReferencesImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.GENERATOR_REFERENCES; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public EList<GeneratorDefinition> getGenerators() + { + if (generators == null) + { + generators = new EObjectResolvingEList<GeneratorDefinition>(GeneratorDefinition.class, this, GeneratorDSLPackage.GENERATOR_REFERENCES__GENERATORS); + } + return generators; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_REFERENCES__GENERATORS: + return getGenerators(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_REFERENCES__GENERATORS: + getGenerators().clear(); + getGenerators().addAll((Collection<? extends GeneratorDefinition>)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_REFERENCES__GENERATORS: + getGenerators().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATOR_REFERENCES__GENERATORS: + return generators != null && !generators.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //GeneratorReferencesImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorsImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorsImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..eb2180bbb1b3d7cf8a5b96efeb5037dc9c5b9e89 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/GeneratorsImpl.java @@ -0,0 +1,196 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReferences; +import de.evoal.languages.model.generator.dsl.generatorDSL.Generators; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Generators</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.GeneratorsImpl#getGeneratorReferences <em>Generator References</em>}</li> + * </ul> + * + * @generated + */ +public class GeneratorsImpl extends RangeImpl implements Generators +{ + /** + * The cached value of the '{@link #getGeneratorReferences() <em>Generator References</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getGeneratorReferences() + * @generated + * @ordered + */ + protected GeneratorReferences generatorReferences; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GeneratorsImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.GENERATORS; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public GeneratorReferences getGeneratorReferences() + { + return generatorReferences; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetGeneratorReferences(GeneratorReferences newGeneratorReferences, NotificationChain msgs) + { + GeneratorReferences oldGeneratorReferences = generatorReferences; + generatorReferences = newGeneratorReferences; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.GENERATORS__GENERATOR_REFERENCES, oldGeneratorReferences, newGeneratorReferences); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setGeneratorReferences(GeneratorReferences newGeneratorReferences) + { + if (newGeneratorReferences != generatorReferences) + { + NotificationChain msgs = null; + if (generatorReferences != null) + msgs = ((InternalEObject)generatorReferences).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.GENERATORS__GENERATOR_REFERENCES, null, msgs); + if (newGeneratorReferences != null) + msgs = ((InternalEObject)newGeneratorReferences).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.GENERATORS__GENERATOR_REFERENCES, null, msgs); + msgs = basicSetGeneratorReferences(newGeneratorReferences, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.GENERATORS__GENERATOR_REFERENCES, newGeneratorReferences, newGeneratorReferences)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATORS__GENERATOR_REFERENCES: + return basicSetGeneratorReferences(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATORS__GENERATOR_REFERENCES: + return getGeneratorReferences(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATORS__GENERATOR_REFERENCES: + setGeneratorReferences((GeneratorReferences)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATORS__GENERATOR_REFERENCES: + setGeneratorReferences((GeneratorReferences)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.GENERATORS__GENERATOR_REFERENCES: + return generatorReferences != null; + } + return super.eIsSet(featureID); + } + +} //GeneratorsImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/LoopVariableImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/LoopVariableImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..9d8c43aa1b1b9e14e6693ea2c63c98a6fe4a1b2c --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/LoopVariableImpl.java @@ -0,0 +1,175 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.LoopVariable; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Loop Variable</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.LoopVariableImpl#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @generated + */ +public class LoopVariableImpl extends GeneratorReferenceImpl implements LoopVariable +{ + /** + * The cached value of the '{@link #getDefinition() <em>Definition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDefinition() + * @generated + * @ordered + */ + protected ForStatement definition; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected LoopVariableImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.LOOP_VARIABLE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public ForStatement getDefinition() + { + if (definition != null && definition.eIsProxy()) + { + InternalEObject oldDefinition = (InternalEObject)definition; + definition = (ForStatement)eResolveProxy(oldDefinition); + if (definition != oldDefinition) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, GeneratorDSLPackage.LOOP_VARIABLE__DEFINITION, oldDefinition, definition)); + } + } + return definition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public ForStatement basicGetDefinition() + { + return definition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setDefinition(ForStatement newDefinition) + { + ForStatement oldDefinition = definition; + definition = newDefinition; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.LOOP_VARIABLE__DEFINITION, oldDefinition, definition)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.LOOP_VARIABLE__DEFINITION: + if (resolve) return getDefinition(); + return basicGetDefinition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.LOOP_VARIABLE__DEFINITION: + setDefinition((ForStatement)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.LOOP_VARIABLE__DEFINITION: + setDefinition((ForStatement)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.LOOP_VARIABLE__DEFINITION: + return definition != null; + } + return super.eIsSet(featureID); + } + +} //LoopVariableImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ParametrizedFunctionDefinitionImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ParametrizedFunctionDefinitionImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..11bfbce6a2c7095b216298658863902834ff2639 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ParametrizedFunctionDefinitionImpl.java @@ -0,0 +1,271 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition; + +import de.evoal.languages.model.instance.Instance; + +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Parametrized Function Definition</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ParametrizedFunctionDefinitionImpl#getName <em>Name</em>}</li> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ParametrizedFunctionDefinitionImpl#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @generated + */ +public class ParametrizedFunctionDefinitionImpl extends MinimalEObjectImpl.Container implements ParametrizedFunctionDefinition +{ + /** + * The default value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected static final String NAME_EDEFAULT = null; + + /** + * The cached value of the '{@link #getName() <em>Name</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getName() + * @generated + * @ordered + */ + protected String name = NAME_EDEFAULT; + + /** + * The cached value of the '{@link #getDefinition() <em>Definition</em>}' containment reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDefinition() + * @generated + * @ordered + */ + protected Instance definition; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ParametrizedFunctionDefinitionImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.PARAMETRIZED_FUNCTION_DEFINITION; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getName() + { + return name; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setName(String newName) + { + String oldName = name; + name = newName; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__NAME, oldName, name)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Instance getDefinition() + { + return definition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public NotificationChain basicSetDefinition(Instance newDefinition, NotificationChain msgs) + { + Instance oldDefinition = definition; + definition = newDefinition; + if (eNotificationRequired()) + { + ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION, oldDefinition, newDefinition); + if (msgs == null) msgs = notification; else msgs.add(notification); + } + return msgs; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setDefinition(Instance newDefinition) + { + if (newDefinition != definition) + { + NotificationChain msgs = null; + if (definition != null) + msgs = ((InternalEObject)definition).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION, null, msgs); + if (newDefinition != null) + msgs = ((InternalEObject)newDefinition).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION, null, msgs); + msgs = basicSetDefinition(newDefinition, msgs); + if (msgs != null) msgs.dispatch(); + } + else if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION, newDefinition, newDefinition)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) + { + switch (featureID) + { + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION: + return basicSetDefinition(null, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__NAME: + return getName(); + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION: + return getDefinition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__NAME: + setName((String)newValue); + return; + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION: + setDefinition((Instance)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__NAME: + setName(NAME_EDEFAULT); + return; + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION: + setDefinition((Instance)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__NAME: + return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION: + return definition != null; + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (name: "); + result.append(name); + result.append(')'); + return result.toString(); + } + +} //ParametrizedFunctionDefinitionImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ParametrizedFunctionDefinitionReferenceImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ParametrizedFunctionDefinitionReferenceImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..33ba6cb7aca301fe8e51840fd4acb974b9d40a06 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/ParametrizedFunctionDefinitionReferenceImpl.java @@ -0,0 +1,175 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinitionReference; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Parametrized Function Definition Reference</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.ParametrizedFunctionDefinitionReferenceImpl#getDefinition <em>Definition</em>}</li> + * </ul> + * + * @generated + */ +public class ParametrizedFunctionDefinitionReferenceImpl extends FunctionDefReferenceImpl implements ParametrizedFunctionDefinitionReference +{ + /** + * The cached value of the '{@link #getDefinition() <em>Definition</em>}' reference. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getDefinition() + * @generated + * @ordered + */ + protected FunctionDefinitionReference definition; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected ParametrizedFunctionDefinitionReferenceImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public FunctionDefinitionReference getDefinition() + { + if (definition != null && definition.eIsProxy()) + { + InternalEObject oldDefinition = (InternalEObject)definition; + definition = (FunctionDefinitionReference)eResolveProxy(oldDefinition); + if (definition != oldDefinition) + { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION, oldDefinition, definition)); + } + } + return definition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public FunctionDefinitionReference basicGetDefinition() + { + return definition; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setDefinition(FunctionDefinitionReference newDefinition) + { + FunctionDefinitionReference oldDefinition = definition; + definition = newDefinition; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION, oldDefinition, definition)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION: + if (resolve) return getDefinition(); + return basicGetDefinition(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION: + setDefinition((FunctionDefinitionReference)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION: + setDefinition((FunctionDefinitionReference)null); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION: + return definition != null; + } + return super.eIsSet(featureID); + } + +} //ParametrizedFunctionDefinitionReferenceImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/RangeImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/RangeImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..6d3783e4c78e1e23d06fb02bc0e7a3dd40a3f119 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/RangeImpl.java @@ -0,0 +1,43 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.Range; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Range</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class RangeImpl extends MinimalEObjectImpl.Container implements Range +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected RangeImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.RANGE; + } + +} //RangeImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/StatementImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/StatementImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..47557eefcb862f2b9a401ae4c1c07ba1a93e26f6 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/StatementImpl.java @@ -0,0 +1,43 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.Statement; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Statement</b></em>'. + * <!-- end-user-doc --> + * + * @generated + */ +public class StatementImpl extends MinimalEObjectImpl.Container implements Statement +{ + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected StatementImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.STATEMENT; + } + +} //StatementImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/UseImpl.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/UseImpl.java new file mode 100644 index 0000000000000000000000000000000000000000..a1cd4ccf7f86fc94905ef5dcef57157d17916440 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/impl/UseImpl.java @@ -0,0 +1,180 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.impl; + +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.Use; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +/** + * <!-- begin-user-doc --> + * An implementation of the model object '<em><b>Use</b></em>'. + * <!-- end-user-doc --> + * <p> + * The following features are implemented: + * </p> + * <ul> + * <li>{@link de.evoal.languages.model.generator.dsl.generatorDSL.impl.UseImpl#getImportURI <em>Import URI</em>}</li> + * </ul> + * + * @generated + */ +public class UseImpl extends MinimalEObjectImpl.Container implements Use +{ + /** + * The default value of the '{@link #getImportURI() <em>Import URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getImportURI() + * @generated + * @ordered + */ + protected static final String IMPORT_URI_EDEFAULT = null; + + /** + * The cached value of the '{@link #getImportURI() <em>Import URI</em>}' attribute. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @see #getImportURI() + * @generated + * @ordered + */ + protected String importURI = IMPORT_URI_EDEFAULT; + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected UseImpl() + { + super(); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + protected EClass eStaticClass() + { + return GeneratorDSLPackage.Literals.USE; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String getImportURI() + { + return importURI; + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void setImportURI(String newImportURI) + { + String oldImportURI = importURI; + importURI = newImportURI; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, GeneratorDSLPackage.USE__IMPORT_URI, oldImportURI, importURI)); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) + { + switch (featureID) + { + case GeneratorDSLPackage.USE__IMPORT_URI: + return getImportURI(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) + { + switch (featureID) + { + case GeneratorDSLPackage.USE__IMPORT_URI: + setImportURI((String)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public void eUnset(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.USE__IMPORT_URI: + setImportURI(IMPORT_URI_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public boolean eIsSet(int featureID) + { + switch (featureID) + { + case GeneratorDSLPackage.USE__IMPORT_URI: + return IMPORT_URI_EDEFAULT == null ? importURI != null : !IMPORT_URI_EDEFAULT.equals(importURI); + } + return super.eIsSet(featureID); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + @Override + public String toString() + { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (importURI: "); + result.append(importURI); + result.append(')'); + return result.toString(); + } + +} //UseImpl diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/util/GeneratorDSLAdapterFactory.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/util/GeneratorDSLAdapterFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..ed53c26ea61a5a5d1e437c08283005820c4a56c4 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/util/GeneratorDSLAdapterFactory.java @@ -0,0 +1,513 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.util; + +import de.evoal.languages.model.generator.dsl.generatorDSL.*; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; + +import org.eclipse.emf.ecore.EObject; + +/** + * <!-- begin-user-doc --> + * The <b>Adapter Factory</b> for the model. + * It provides an adapter <code>createXXX</code> method for each class of the model. + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage + * @generated + */ +public class GeneratorDSLAdapterFactory extends AdapterFactoryImpl +{ + /** + * The cached model package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static GeneratorDSLPackage modelPackage; + + /** + * Creates an instance of the adapter factory. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GeneratorDSLAdapterFactory() + { + if (modelPackage == null) + { + modelPackage = GeneratorDSLPackage.eINSTANCE; + } + } + + /** + * Returns whether this factory is applicable for the type of the object. + * <!-- begin-user-doc --> + * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. + * <!-- end-user-doc --> + * @return whether this factory is applicable for the type of the object. + * @generated + */ + @Override + public boolean isFactoryForType(Object object) + { + if (object == modelPackage) + { + return true; + } + if (object instanceof EObject) + { + return ((EObject)object).eClass().getEPackage() == modelPackage; + } + return false; + } + + /** + * The switch that delegates to the <code>createXXX</code> methods. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected GeneratorDSLSwitch<Adapter> modelSwitch = + new GeneratorDSLSwitch<Adapter>() + { + @Override + public Adapter caseConfiguration(Configuration object) + { + return createConfigurationAdapter(); + } + @Override + public Adapter caseUse(Use object) + { + return createUseAdapter(); + } + @Override + public Adapter caseParametrizedFunctionDefinition(ParametrizedFunctionDefinition object) + { + return createParametrizedFunctionDefinitionAdapter(); + } + @Override + public Adapter caseGeneratorDefinition(GeneratorDefinition object) + { + return createGeneratorDefinitionAdapter(); + } + @Override + public Adapter caseStatement(Statement object) + { + return createStatementAdapter(); + } + @Override + public Adapter caseForStatement(ForStatement object) + { + return createForStatementAdapter(); + } + @Override + public Adapter caseRange(Range object) + { + return createRangeAdapter(); + } + @Override + public Adapter caseCounterRange(CounterRange object) + { + return createCounterRangeAdapter(); + } + @Override + public Adapter caseFunctions(Functions object) + { + return createFunctionsAdapter(); + } + @Override + public Adapter caseFunctionReferences(FunctionReferences object) + { + return createFunctionReferencesAdapter(); + } + @Override + public Adapter caseGenerators(Generators object) + { + return createGeneratorsAdapter(); + } + @Override + public Adapter caseGeneratorReferences(GeneratorReferences object) + { + return createGeneratorReferencesAdapter(); + } + @Override + public Adapter caseApplyStatement(ApplyStatement object) + { + return createApplyStatementAdapter(); + } + @Override + public Adapter caseGeneratorReference(GeneratorReference object) + { + return createGeneratorReferenceAdapter(); + } + @Override + public Adapter caseGeneratorDefinitionReference(GeneratorDefinitionReference object) + { + return createGeneratorDefinitionReferenceAdapter(); + } + @Override + public Adapter caseFunctionReference(FunctionReference object) + { + return createFunctionReferenceAdapter(); + } + @Override + public Adapter caseFunctionDefReference(FunctionDefReference object) + { + return createFunctionDefReferenceAdapter(); + } + @Override + public Adapter caseLoopVariable(LoopVariable object) + { + return createLoopVariableAdapter(); + } + @Override + public Adapter caseFunctionDefinitionReference(FunctionDefinitionReference object) + { + return createFunctionDefinitionReferenceAdapter(); + } + @Override + public Adapter caseParametrizedFunctionDefinitionReference(ParametrizedFunctionDefinitionReference object) + { + return createParametrizedFunctionDefinitionReferenceAdapter(); + } + @Override + public Adapter defaultCase(EObject object) + { + return createEObjectAdapter(); + } + }; + + /** + * Creates an adapter for the <code>target</code>. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param target the object to adapt. + * @return the adapter for the <code>target</code>. + * @generated + */ + @Override + public Adapter createAdapter(Notifier target) + { + return modelSwitch.doSwitch((EObject)target); + } + + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Configuration <em>Configuration</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Configuration + * @generated + */ + public Adapter createConfigurationAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Use <em>Use</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Use + * @generated + */ + public Adapter createUseAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition <em>Parametrized Function Definition</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition + * @generated + */ + public Adapter createParametrizedFunctionDefinitionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition <em>Generator Definition</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition + * @generated + */ + public Adapter createGeneratorDefinitionAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Statement <em>Statement</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Statement + * @generated + */ + public Adapter createStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement <em>For Statement</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement + * @generated + */ + public Adapter createForStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Range <em>Range</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Range + * @generated + */ + public Adapter createRangeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange <em>Counter Range</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange + * @generated + */ + public Adapter createCounterRangeAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Functions <em>Functions</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Functions + * @generated + */ + public Adapter createFunctionsAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReferences <em>Function References</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReferences + * @generated + */ + public Adapter createFunctionReferencesAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.Generators <em>Generators</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.Generators + * @generated + */ + public Adapter createGeneratorsAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReferences <em>Generator References</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReferences + * @generated + */ + public Adapter createGeneratorReferencesAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement <em>Apply Statement</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement + * @generated + */ + public Adapter createApplyStatementAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReference <em>Generator Reference</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReference + * @generated + */ + public Adapter createGeneratorReferenceAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinitionReference <em>Generator Definition Reference</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinitionReference + * @generated + */ + public Adapter createGeneratorDefinitionReferenceAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReference <em>Function Reference</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReference + * @generated + */ + public Adapter createFunctionReferenceAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefReference <em>Function Def Reference</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefReference + * @generated + */ + public Adapter createFunctionDefReferenceAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.LoopVariable <em>Loop Variable</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.LoopVariable + * @generated + */ + public Adapter createLoopVariableAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference <em>Function Definition Reference</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference + * @generated + */ + public Adapter createFunctionDefinitionReferenceAdapter() + { + return null; + } + + /** + * Creates a new adapter for an object of class '{@link de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinitionReference <em>Parametrized Function Definition Reference</em>}'. + * <!-- begin-user-doc --> + * This default implementation returns null so that we can easily ignore cases; + * it's useful to ignore a case when inheritance will catch all the cases anyway. + * <!-- end-user-doc --> + * @return the new adapter. + * @see de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinitionReference + * @generated + */ + public Adapter createParametrizedFunctionDefinitionReferenceAdapter() + { + return null; + } + + /** + * Creates a new adapter for the default case. + * <!-- begin-user-doc --> + * This default implementation returns null. + * <!-- end-user-doc --> + * @return the new adapter. + * @generated + */ + public Adapter createEObjectAdapter() + { + return null; + } + +} //GeneratorDSLAdapterFactory diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/util/GeneratorDSLSwitch.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/util/GeneratorDSLSwitch.java new file mode 100644 index 0000000000000000000000000000000000000000..e7511d12480a77d17feaca857ded181e565fc540 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/generatorDSL/util/GeneratorDSLSwitch.java @@ -0,0 +1,570 @@ +/** + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generatorDSL.util; + +import de.evoal.languages.model.generator.dsl.generatorDSL.*; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.util.Switch; + +/** + * <!-- begin-user-doc --> + * The <b>Switch</b> for the model's inheritance hierarchy. + * It supports the call {@link #doSwitch(EObject) doSwitch(object)} + * to invoke the <code>caseXXX</code> method for each class of the model, + * starting with the actual class of the object + * and proceeding up the inheritance hierarchy + * until a non-null result is returned, + * which is the result of the switch. + * <!-- end-user-doc --> + * @see de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage + * @generated + */ +public class GeneratorDSLSwitch<T> extends Switch<T> +{ + /** + * The cached model package + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + protected static GeneratorDSLPackage modelPackage; + + /** + * Creates an instance of the switch. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ + public GeneratorDSLSwitch() + { + if (modelPackage == null) + { + modelPackage = GeneratorDSLPackage.eINSTANCE; + } + } + + /** + * Checks whether this is a switch for the given package. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @param ePackage the package in question. + * @return whether this is a switch for the given package. + * @generated + */ + @Override + protected boolean isSwitchFor(EPackage ePackage) + { + return ePackage == modelPackage; + } + + /** + * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @return the first non-null result returned by a <code>caseXXX</code> call. + * @generated + */ + @Override + protected T doSwitch(int classifierID, EObject theEObject) + { + switch (classifierID) + { + case GeneratorDSLPackage.CONFIGURATION: + { + Configuration configuration = (Configuration)theEObject; + T result = caseConfiguration(configuration); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.USE: + { + Use use = (Use)theEObject; + T result = caseUse(use); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION: + { + ParametrizedFunctionDefinition parametrizedFunctionDefinition = (ParametrizedFunctionDefinition)theEObject; + T result = caseParametrizedFunctionDefinition(parametrizedFunctionDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.GENERATOR_DEFINITION: + { + GeneratorDefinition generatorDefinition = (GeneratorDefinition)theEObject; + T result = caseGeneratorDefinition(generatorDefinition); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.STATEMENT: + { + Statement statement = (Statement)theEObject; + T result = caseStatement(statement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.FOR_STATEMENT: + { + ForStatement forStatement = (ForStatement)theEObject; + T result = caseForStatement(forStatement); + if (result == null) result = caseStatement(forStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.RANGE: + { + Range range = (Range)theEObject; + T result = caseRange(range); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.COUNTER_RANGE: + { + CounterRange counterRange = (CounterRange)theEObject; + T result = caseCounterRange(counterRange); + if (result == null) result = caseRange(counterRange); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.FUNCTIONS: + { + Functions functions = (Functions)theEObject; + T result = caseFunctions(functions); + if (result == null) result = caseRange(functions); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.FUNCTION_REFERENCES: + { + FunctionReferences functionReferences = (FunctionReferences)theEObject; + T result = caseFunctionReferences(functionReferences); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.GENERATORS: + { + Generators generators = (Generators)theEObject; + T result = caseGenerators(generators); + if (result == null) result = caseRange(generators); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.GENERATOR_REFERENCES: + { + GeneratorReferences generatorReferences = (GeneratorReferences)theEObject; + T result = caseGeneratorReferences(generatorReferences); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.APPLY_STATEMENT: + { + ApplyStatement applyStatement = (ApplyStatement)theEObject; + T result = caseApplyStatement(applyStatement); + if (result == null) result = caseStatement(applyStatement); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.GENERATOR_REFERENCE: + { + GeneratorReference generatorReference = (GeneratorReference)theEObject; + T result = caseGeneratorReference(generatorReference); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.GENERATOR_DEFINITION_REFERENCE: + { + GeneratorDefinitionReference generatorDefinitionReference = (GeneratorDefinitionReference)theEObject; + T result = caseGeneratorDefinitionReference(generatorDefinitionReference); + if (result == null) result = caseGeneratorReference(generatorDefinitionReference); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.FUNCTION_REFERENCE: + { + FunctionReference functionReference = (FunctionReference)theEObject; + T result = caseFunctionReference(functionReference); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.FUNCTION_DEF_REFERENCE: + { + FunctionDefReference functionDefReference = (FunctionDefReference)theEObject; + T result = caseFunctionDefReference(functionDefReference); + if (result == null) result = caseFunctionReference(functionDefReference); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.LOOP_VARIABLE: + { + LoopVariable loopVariable = (LoopVariable)theEObject; + T result = caseLoopVariable(loopVariable); + if (result == null) result = caseGeneratorReference(loopVariable); + if (result == null) result = caseFunctionReference(loopVariable); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.FUNCTION_DEFINITION_REFERENCE: + { + FunctionDefinitionReference functionDefinitionReference = (FunctionDefinitionReference)theEObject; + T result = caseFunctionDefinitionReference(functionDefinitionReference); + if (result == null) result = caseFunctionDefReference(functionDefinitionReference); + if (result == null) result = caseFunctionReference(functionDefinitionReference); + if (result == null) result = defaultCase(theEObject); + return result; + } + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE: + { + ParametrizedFunctionDefinitionReference parametrizedFunctionDefinitionReference = (ParametrizedFunctionDefinitionReference)theEObject; + T result = caseParametrizedFunctionDefinitionReference(parametrizedFunctionDefinitionReference); + if (result == null) result = caseFunctionDefReference(parametrizedFunctionDefinitionReference); + if (result == null) result = caseFunctionReference(parametrizedFunctionDefinitionReference); + if (result == null) result = defaultCase(theEObject); + return result; + } + default: return defaultCase(theEObject); + } + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Configuration</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Configuration</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseConfiguration(Configuration object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Use</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Use</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseUse(Use object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Parametrized Function Definition</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Parametrized Function Definition</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseParametrizedFunctionDefinition(ParametrizedFunctionDefinition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Generator Definition</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Generator Definition</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGeneratorDefinition(GeneratorDefinition object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Statement</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Statement</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseStatement(Statement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>For Statement</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>For Statement</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseForStatement(ForStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Range</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Range</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseRange(Range object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Counter Range</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Counter Range</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseCounterRange(CounterRange object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Functions</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Functions</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunctions(Functions object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Function References</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Function References</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunctionReferences(FunctionReferences object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Generators</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Generators</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGenerators(Generators object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Generator References</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Generator References</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGeneratorReferences(GeneratorReferences object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Apply Statement</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Apply Statement</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseApplyStatement(ApplyStatement object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Generator Reference</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Generator Reference</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGeneratorReference(GeneratorReference object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Generator Definition Reference</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Generator Definition Reference</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseGeneratorDefinitionReference(GeneratorDefinitionReference object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Function Reference</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Function Reference</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunctionReference(FunctionReference object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Function Def Reference</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Function Def Reference</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunctionDefReference(FunctionDefReference object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Loop Variable</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Loop Variable</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseLoopVariable(LoopVariable object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Function Definition Reference</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Function Definition Reference</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseFunctionDefinitionReference(FunctionDefinitionReference object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>Parametrized Function Definition Reference</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>Parametrized Function Definition Reference</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) + * @generated + */ + public T caseParametrizedFunctionDefinitionReference(ParametrizedFunctionDefinitionReference object) + { + return null; + } + + /** + * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. + * <!-- begin-user-doc --> + * This implementation returns null; + * returning a non-null result will terminate the switch, but this is the last case anyway. + * <!-- end-user-doc --> + * @param object the target of the switch. + * @return the result of interpreting the object as an instance of '<em>EObject</em>'. + * @see #doSwitch(org.eclipse.emf.ecore.EObject) + * @generated + */ + @Override + public T defaultCase(EObject object) + { + return null; + } + +} //GeneratorDSLSwitch diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/GeneratorDSLAntlrTokenFileProvider.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/GeneratorDSLAntlrTokenFileProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..9d6fadfb662605d9ca515e3f87ef6dfbf44c7344 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/GeneratorDSLAntlrTokenFileProvider.java @@ -0,0 +1,16 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.parser.antlr; + +import java.io.InputStream; +import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider; + +public class GeneratorDSLAntlrTokenFileProvider implements IAntlrTokenFileProvider { + + @Override + public InputStream getAntlrTokenFile() { + ClassLoader classLoader = getClass().getClassLoader(); + return classLoader.getResourceAsStream("de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSL.tokens"); + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/GeneratorDSLParser.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/GeneratorDSLParser.java new file mode 100644 index 0000000000000000000000000000000000000000..8d2d28cf67d2bbd837072225c3b4ff4e78b6c77d --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/GeneratorDSLParser.java @@ -0,0 +1,40 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.parser.antlr; + +import com.google.inject.Inject; +import de.evoal.languages.model.generator.dsl.parser.antlr.internal.InternalGeneratorDSLParser; +import de.evoal.languages.model.generator.dsl.services.GeneratorDSLGrammarAccess; +import org.eclipse.xtext.parser.antlr.AbstractAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; + +public class GeneratorDSLParser extends AbstractAntlrParser { + + @Inject + private GeneratorDSLGrammarAccess grammarAccess; + + @Override + protected void setInitialHiddenTokens(XtextTokenStream tokenStream) { + tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT"); + } + + + @Override + protected InternalGeneratorDSLParser createParser(XtextTokenStream stream) { + return new InternalGeneratorDSLParser(stream, getGrammarAccess()); + } + + @Override + protected String getDefaultRuleName() { + return "ConfigurationRule"; + } + + public GeneratorDSLGrammarAccess getGrammarAccess() { + return this.grammarAccess; + } + + public void setGrammarAccess(GeneratorDSLGrammarAccess grammarAccess) { + this.grammarAccess = grammarAccess; + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSL.g b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSL.g new file mode 100644 index 0000000000000000000000000000000000000000..9e6119360c81f94081ef0b77fbd1392a8780f7b3 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSL.g @@ -0,0 +1,3012 @@ +/* + * generated by Xtext 2.25.0 + */ +grammar InternalGeneratorDSL; + +options { + superClass=AbstractInternalAntlrParser; +} + +@lexer::header { +package de.evoal.languages.model.generator.dsl.parser.antlr.internal; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.parser.antlr.Lexer; +} + +@parser::header { +package de.evoal.languages.model.generator.dsl.parser.antlr.internal; + +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.common.util.Enumerator; +import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; +import de.evoal.languages.model.generator.dsl.services.GeneratorDSLGrammarAccess; + +} + +@parser::members { + + private GeneratorDSLGrammarAccess grammarAccess; + + public InternalGeneratorDSLParser(TokenStream input, GeneratorDSLGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "ConfigurationRule"; + } + + @Override + protected GeneratorDSLGrammarAccess getGrammarAccess() { + return grammarAccess; + } + +} + +@rulecatch { + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } +} + +// Entry rule entryRuleConfigurationRule +entryRuleConfigurationRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getConfigurationRuleRule()); } + iv_ruleConfigurationRule=ruleConfigurationRule + { $current=$iv_ruleConfigurationRule.current; } + EOF; + +// Rule ConfigurationRule +ruleConfigurationRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getConfigurationRuleAccess().getUsesUseRuleParserRuleCall_0_0()); + } + lv_uses_0_0=ruleUseRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConfigurationRuleRule()); + } + add( + $current, + "uses", + lv_uses_0_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.UseRule"); + afterParserOrEnumRuleCall(); + } + ) + )* + ( + ( + { + newCompositeNode(grammarAccess.getConfigurationRuleAccess().getGeneratorsGeneratorDefinitionRuleParserRuleCall_1_0()); + } + lv_generators_1_0=ruleGeneratorDefinitionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConfigurationRuleRule()); + } + add( + $current, + "generators", + lv_generators_1_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.GeneratorDefinitionRule"); + afterParserOrEnumRuleCall(); + } + ) + )* + ( + ( + { + newCompositeNode(grammarAccess.getConfigurationRuleAccess().getFunctionsParametrizedFunctionDefinitionRuleParserRuleCall_2_0()); + } + lv_functions_2_0=ruleParametrizedFunctionDefinitionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConfigurationRuleRule()); + } + add( + $current, + "functions", + lv_functions_2_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.ParametrizedFunctionDefinitionRule"); + afterParserOrEnumRuleCall(); + } + ) + )* + ( + ( + { + newCompositeNode(grammarAccess.getConfigurationRuleAccess().getStatementsStatementRuleParserRuleCall_3_0()); + } + lv_statements_3_0=ruleStatementRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getConfigurationRuleRule()); + } + add( + $current, + "statements", + lv_statements_3_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.StatementRule"); + afterParserOrEnumRuleCall(); + } + ) + )* + ) +; + +// Entry rule entryRuleUseRule +entryRuleUseRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUseRuleRule()); } + iv_ruleUseRule=ruleUseRule + { $current=$iv_ruleUseRule.current; } + EOF; + +// Rule UseRule +ruleUseRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='use' + { + newLeafNode(otherlv_0, grammarAccess.getUseRuleAccess().getUseKeyword_0()); + } + ( + ( + lv_importURI_1_0=RULE_STRING + { + newLeafNode(lv_importURI_1_0, grammarAccess.getUseRuleAccess().getImportURISTRINGTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getUseRuleRule()); + } + setWithLastConsumed( + $current, + "importURI", + lv_importURI_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.STRING"); + } + ) + ) + otherlv_2=';' + { + newLeafNode(otherlv_2, grammarAccess.getUseRuleAccess().getSemicolonKeyword_2()); + } + ) +; + +// Entry rule entryRuleParametrizedFunctionDefinitionRule +entryRuleParametrizedFunctionDefinitionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getParametrizedFunctionDefinitionRuleRule()); } + iv_ruleParametrizedFunctionDefinitionRule=ruleParametrizedFunctionDefinitionRule + { $current=$iv_ruleParametrizedFunctionDefinitionRule.current; } + EOF; + +// Rule ParametrizedFunctionDefinitionRule +ruleParametrizedFunctionDefinitionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='function' + { + newLeafNode(otherlv_0, grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getFunctionKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); + } + lv_name_1_0=ruleStringOrId + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getParametrizedFunctionDefinitionRuleRule()); + } + set( + $current, + "name", + lv_name_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.StringOrId"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='using' + { + newLeafNode(otherlv_2, grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getUsingKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); + } + lv_definition_3_0=ruleInstanceRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getParametrizedFunctionDefinitionRuleRule()); + } + set( + $current, + "definition", + lv_definition_3_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.InstanceRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=';' + { + newLeafNode(otherlv_4, grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getSemicolonKeyword_4()); + } + ) +; + +// Entry rule entryRuleGeneratorDefinitionRule +entryRuleGeneratorDefinitionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getGeneratorDefinitionRuleRule()); } + iv_ruleGeneratorDefinitionRule=ruleGeneratorDefinitionRule + { $current=$iv_ruleGeneratorDefinitionRule.current; } + EOF; + +// Rule GeneratorDefinitionRule +ruleGeneratorDefinitionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='generator' + { + newLeafNode(otherlv_0, grammarAccess.getGeneratorDefinitionRuleAccess().getGeneratorKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getGeneratorDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); + } + lv_name_1_0=ruleStringOrId + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getGeneratorDefinitionRuleRule()); + } + set( + $current, + "name", + lv_name_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.StringOrId"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2='using' + { + newLeafNode(otherlv_2, grammarAccess.getGeneratorDefinitionRuleAccess().getUsingKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); + } + lv_definition_3_0=ruleInstanceRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getGeneratorDefinitionRuleRule()); + } + set( + $current, + "definition", + lv_definition_3_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.InstanceRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4=';' + { + newLeafNode(otherlv_4, grammarAccess.getGeneratorDefinitionRuleAccess().getSemicolonKeyword_4()); + } + ) +; + +// Entry rule entryRuleStatementRule +entryRuleStatementRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStatementRuleRule()); } + iv_ruleStatementRule=ruleStatementRule + { $current=$iv_ruleStatementRule.current; } + EOF; + +// Rule StatementRule +ruleStatementRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getStatementRuleAccess().getForStatementRuleParserRuleCall_0()); + } + this_ForStatementRule_0=ruleForStatementRule + { + $current = $this_ForStatementRule_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getStatementRuleAccess().getApplyStatementRuleParserRuleCall_1()); + } + this_ApplyStatementRule_1=ruleApplyStatementRule + { + $current = $this_ApplyStatementRule_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleForStatementRule +entryRuleForStatementRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getForStatementRuleRule()); } + iv_ruleForStatementRule=ruleForStatementRule + { $current=$iv_ruleForStatementRule.current; } + EOF; + +// Rule ForStatementRule +ruleForStatementRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='for' + { + newLeafNode(otherlv_0, grammarAccess.getForStatementRuleAccess().getForKeyword_0()); + } + ( + ( + lv_name_1_0=RULE_ID + { + newLeafNode(lv_name_1_0, grammarAccess.getForStatementRuleAccess().getNameIDTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getForStatementRuleRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); + } + ) + ) + otherlv_2='in' + { + newLeafNode(otherlv_2, grammarAccess.getForStatementRuleAccess().getInKeyword_2()); + } + ( + ( + { + newCompositeNode(grammarAccess.getForStatementRuleAccess().getRangeRangeRuleParserRuleCall_3_0()); + } + lv_range_3_0=ruleRangeRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getForStatementRuleRule()); + } + set( + $current, + "range", + lv_range_3_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.RangeRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_4='loop' + { + newLeafNode(otherlv_4, grammarAccess.getForStatementRuleAccess().getLoopKeyword_4()); + } + ( + ( + { + newCompositeNode(grammarAccess.getForStatementRuleAccess().getStatementsStatementRuleParserRuleCall_5_0()); + } + lv_statements_5_0=ruleStatementRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getForStatementRuleRule()); + } + add( + $current, + "statements", + lv_statements_5_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.StatementRule"); + afterParserOrEnumRuleCall(); + } + ) + )* + otherlv_6='end' + { + newLeafNode(otherlv_6, grammarAccess.getForStatementRuleAccess().getEndKeyword_6()); + } + ) +; + +// Entry rule entryRuleRangeRule +entryRuleRangeRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getRangeRuleRule()); } + iv_ruleRangeRule=ruleRangeRule + { $current=$iv_ruleRangeRule.current; } + EOF; + +// Rule RangeRule +ruleRangeRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getRangeRuleAccess().getFunctionsRuleParserRuleCall_0()); + } + this_FunctionsRule_0=ruleFunctionsRule + { + $current = $this_FunctionsRule_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getRangeRuleAccess().getGeneratorsRuleParserRuleCall_1()); + } + this_GeneratorsRule_1=ruleGeneratorsRule + { + $current = $this_GeneratorsRule_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getRangeRuleAccess().getCounterRangeRuleParserRuleCall_2()); + } + this_CounterRangeRule_2=ruleCounterRangeRule + { + $current = $this_CounterRangeRule_2.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleCounterRangeRule +entryRuleCounterRangeRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCounterRangeRuleRule()); } + iv_ruleCounterRangeRule=ruleCounterRangeRule + { $current=$iv_ruleCounterRangeRule.current; } + EOF; + +// Rule CounterRangeRule +ruleCounterRangeRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='[' + { + newLeafNode(otherlv_0, grammarAccess.getCounterRangeRuleAccess().getLeftSquareBracketKeyword_0()); + } + ( + ( + lv_start_1_0=RULE_INT + { + newLeafNode(lv_start_1_0, grammarAccess.getCounterRangeRuleAccess().getStartINTTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCounterRangeRuleRule()); + } + setWithLastConsumed( + $current, + "start", + lv_start_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + otherlv_2='to' + { + newLeafNode(otherlv_2, grammarAccess.getCounterRangeRuleAccess().getToKeyword_2()); + } + ( + ( + lv_end_3_0=RULE_INT + { + newLeafNode(lv_end_3_0, grammarAccess.getCounterRangeRuleAccess().getEndINTTerminalRuleCall_3_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getCounterRangeRuleRule()); + } + setWithLastConsumed( + $current, + "end", + lv_end_3_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + otherlv_4=']' + { + newLeafNode(otherlv_4, grammarAccess.getCounterRangeRuleAccess().getRightSquareBracketKeyword_4()); + } + ) +; + +// Entry rule entryRuleFunctionsRule +entryRuleFunctionsRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFunctionsRuleRule()); } + iv_ruleFunctionsRule=ruleFunctionsRule + { $current=$iv_ruleFunctionsRule.current; } + EOF; + +// Rule FunctionsRule +ruleFunctionsRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getFunctionsRuleAccess().getFunctionsAction_0(), + $current); + } + ) + otherlv_1='functions' + { + newLeafNode(otherlv_1, grammarAccess.getFunctionsRuleAccess().getFunctionsKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getFunctionsRuleAccess().getFunctionReferencesFunctionReferencesRuleParserRuleCall_2_0()); + } + lv_functionReferences_2_0=ruleFunctionReferencesRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFunctionsRuleRule()); + } + set( + $current, + "functionReferences", + lv_functionReferences_2_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionReferencesRule"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) +; + +// Entry rule entryRuleFunctionReferencesRule +entryRuleFunctionReferencesRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFunctionReferencesRuleRule()); } + iv_ruleFunctionReferencesRule=ruleFunctionReferencesRule + { $current=$iv_ruleFunctionReferencesRule.current; } + EOF; + +// Rule FunctionReferencesRule +ruleFunctionReferencesRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='[' + { + newLeafNode(otherlv_0, grammarAccess.getFunctionReferencesRuleAccess().getLeftSquareBracketKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_1_0()); + } + lv_functions_1_0=ruleFunctionDefReferenceRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFunctionReferencesRuleRule()); + } + add( + $current, + "functions", + lv_functions_1_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionDefReferenceRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getFunctionReferencesRuleAccess().getCommaKeyword_2_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_2_1_0()); + } + lv_functions_3_0=ruleFunctionDefReferenceRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getFunctionReferencesRuleRule()); + } + add( + $current, + "functions", + lv_functions_3_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionDefReferenceRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_4=']' + { + newLeafNode(otherlv_4, grammarAccess.getFunctionReferencesRuleAccess().getRightSquareBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleGeneratorsRule +entryRuleGeneratorsRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getGeneratorsRuleRule()); } + iv_ruleGeneratorsRule=ruleGeneratorsRule + { $current=$iv_ruleGeneratorsRule.current; } + EOF; + +// Rule GeneratorsRule +ruleGeneratorsRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getGeneratorsRuleAccess().getGeneratorsAction_0(), + $current); + } + ) + otherlv_1='generators' + { + newLeafNode(otherlv_1, grammarAccess.getGeneratorsRuleAccess().getGeneratorsKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getGeneratorsRuleAccess().getGeneratorReferencesGeneratorReferencesRuleParserRuleCall_2_0()); + } + lv_generatorReferences_2_0=ruleGeneratorReferencesRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getGeneratorsRuleRule()); + } + set( + $current, + "generatorReferences", + lv_generatorReferences_2_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.GeneratorReferencesRule"); + afterParserOrEnumRuleCall(); + } + ) + )? + ) +; + +// Entry rule entryRuleGeneratorReferencesRule +entryRuleGeneratorReferencesRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getGeneratorReferencesRuleRule()); } + iv_ruleGeneratorReferencesRule=ruleGeneratorReferencesRule + { $current=$iv_ruleGeneratorReferencesRule.current; } + EOF; + +// Rule GeneratorReferencesRule +ruleGeneratorReferencesRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='[' + { + newLeafNode(otherlv_0, grammarAccess.getGeneratorReferencesRuleAccess().getLeftSquareBracketKeyword_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getGeneratorReferencesRuleRule()); + } + } + { + newCompositeNode(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_1_0()); + } + ruleStringOrId + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_2=',' + { + newLeafNode(otherlv_2, grammarAccess.getGeneratorReferencesRuleAccess().getCommaKeyword_2_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getGeneratorReferencesRuleRule()); + } + } + { + newCompositeNode(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_2_1_0()); + } + ruleStringOrId + { + afterParserOrEnumRuleCall(); + } + ) + ) + )* + otherlv_4=']' + { + newLeafNode(otherlv_4, grammarAccess.getGeneratorReferencesRuleAccess().getRightSquareBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleApplyStatementRule +entryRuleApplyStatementRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getApplyStatementRuleRule()); } + iv_ruleApplyStatementRule=ruleApplyStatementRule + { $current=$iv_ruleApplyStatementRule.current; } + EOF; + +// Rule ApplyStatementRule +ruleApplyStatementRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='write' + { + newLeafNode(otherlv_0, grammarAccess.getApplyStatementRuleAccess().getWriteKeyword_0()); + } + ( + ( + lv_file_1_0=RULE_STRING + { + newLeafNode(lv_file_1_0, grammarAccess.getApplyStatementRuleAccess().getFileSTRINGTerminalRuleCall_1_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getApplyStatementRuleRule()); + } + setWithLastConsumed( + $current, + "file", + lv_file_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.STRING"); + } + ) + ) + otherlv_2='with' + { + newLeafNode(otherlv_2, grammarAccess.getApplyStatementRuleAccess().getWithKeyword_2()); + } + ( + ( + lv_count_3_0=RULE_INT + { + newLeafNode(lv_count_3_0, grammarAccess.getApplyStatementRuleAccess().getCountINTTerminalRuleCall_3_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getApplyStatementRuleRule()); + } + setWithLastConsumed( + $current, + "count", + lv_count_3_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) + otherlv_4='samples' + { + newLeafNode(otherlv_4, grammarAccess.getApplyStatementRuleAccess().getSamplesKeyword_4()); + } + otherlv_5='from' + { + newLeafNode(otherlv_5, grammarAccess.getApplyStatementRuleAccess().getFromKeyword_5()); + } + otherlv_6='applying' + { + newLeafNode(otherlv_6, grammarAccess.getApplyStatementRuleAccess().getApplyingKeyword_6()); + } + ( + ( + { + newCompositeNode(grammarAccess.getApplyStatementRuleAccess().getFunctionFunctionReferenceRuleParserRuleCall_7_0()); + } + lv_function_7_0=ruleFunctionReferenceRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getApplyStatementRuleRule()); + } + set( + $current, + "function", + lv_function_7_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionReferenceRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_8='on' + { + newLeafNode(otherlv_8, grammarAccess.getApplyStatementRuleAccess().getOnKeyword_8()); + } + ( + ( + { + newCompositeNode(grammarAccess.getApplyStatementRuleAccess().getGeneratorGeneratorReferenceRuleParserRuleCall_9_0()); + } + lv_generator_9_0=ruleGeneratorReferenceRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getApplyStatementRuleRule()); + } + set( + $current, + "generator", + lv_generator_9_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.GeneratorReferenceRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_10=';' + { + newLeafNode(otherlv_10, grammarAccess.getApplyStatementRuleAccess().getSemicolonKeyword_10()); + } + ) +; + +// Entry rule entryRuleGeneratorReferenceRule +entryRuleGeneratorReferenceRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getGeneratorReferenceRuleRule()); } + iv_ruleGeneratorReferenceRule=ruleGeneratorReferenceRule + { $current=$iv_ruleGeneratorReferenceRule.current; } + EOF; + +// Rule GeneratorReferenceRule +ruleGeneratorReferenceRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getGeneratorReferenceRuleAccess().getGeneratorDefinitionReferenceRuleParserRuleCall_0()); + } + this_GeneratorDefinitionReferenceRule_0=ruleGeneratorDefinitionReferenceRule + { + $current = $this_GeneratorDefinitionReferenceRule_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getGeneratorReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); + } + this_LoopVariableReference_1=ruleLoopVariableReference + { + $current = $this_LoopVariableReference_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleGeneratorDefinitionReferenceRule +entryRuleGeneratorDefinitionReferenceRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getGeneratorDefinitionReferenceRuleRule()); } + iv_ruleGeneratorDefinitionReferenceRule=ruleGeneratorDefinitionReferenceRule + { $current=$iv_ruleGeneratorDefinitionReferenceRule.current; } + EOF; + +// Rule GeneratorDefinitionReferenceRule +ruleGeneratorDefinitionReferenceRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='generator' + { + newLeafNode(otherlv_0, grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getGeneratorKeyword_0()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getGeneratorDefinitionReferenceRuleRule()); + } + } + { + newCompositeNode(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionGeneratorDefinitionCrossReference_1_0()); + } + ruleStringOrId + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleFunctionReferenceRule +entryRuleFunctionReferenceRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFunctionReferenceRuleRule()); } + iv_ruleFunctionReferenceRule=ruleFunctionReferenceRule + { $current=$iv_ruleFunctionReferenceRule.current; } + EOF; + +// Rule FunctionReferenceRule +ruleFunctionReferenceRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getFunctionReferenceRuleAccess().getFunctionDefReferenceRuleParserRuleCall_0()); + } + this_FunctionDefReferenceRule_0=ruleFunctionDefReferenceRule + { + $current = $this_FunctionDefReferenceRule_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getFunctionReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); + } + this_LoopVariableReference_1=ruleLoopVariableReference + { + $current = $this_LoopVariableReference_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleFunctionDefReferenceRule +entryRuleFunctionDefReferenceRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFunctionDefReferenceRuleRule()); } + iv_ruleFunctionDefReferenceRule=ruleFunctionDefReferenceRule + { $current=$iv_ruleFunctionDefReferenceRule.current; } + EOF; + +// Rule FunctionDefReferenceRule +ruleFunctionDefReferenceRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getFunctionDefReferenceRuleAccess().getFunctionDefinitionReferenceRuleParserRuleCall_0()); + } + this_FunctionDefinitionReferenceRule_0=ruleFunctionDefinitionReferenceRule + { + $current = $this_FunctionDefinitionReferenceRule_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getFunctionDefReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceRuleParserRuleCall_1()); + } + this_ParametrizedFunctionDefinitionReferenceRule_1=ruleParametrizedFunctionDefinitionReferenceRule + { + $current = $this_ParametrizedFunctionDefinitionReferenceRule_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleLoopVariableReference +entryRuleLoopVariableReference returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLoopVariableReferenceRule()); } + iv_ruleLoopVariableReference=ruleLoopVariableReference + { $current=$iv_ruleLoopVariableReference.current; } + EOF; + +// Rule LoopVariableReference +ruleLoopVariableReference returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getLoopVariableReferenceAccess().getLoopVariableAction_0(), + $current); + } + ) + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getLoopVariableReferenceRule()); + } + } + otherlv_1=RULE_ID + { + newLeafNode(otherlv_1, grammarAccess.getLoopVariableReferenceAccess().getDefinitionForStatementCrossReference_1_0()); + } + ) + ) + ) +; + +// Entry rule entryRuleFunctionDefinitionReferenceRule +entryRuleFunctionDefinitionReferenceRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFunctionDefinitionReferenceRuleRule()); } + iv_ruleFunctionDefinitionReferenceRule=ruleFunctionDefinitionReferenceRule + { $current=$iv_ruleFunctionDefinitionReferenceRule.current; } + EOF; + +// Rule FunctionDefinitionReferenceRule +ruleFunctionDefinitionReferenceRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getFunctionDefinitionReferenceRuleAccess().getFunctionDefinitionReferenceAction_0(), + $current); + } + ) + otherlv_1='definition' + { + newLeafNode(otherlv_1, grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionKeyword_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getFunctionDefinitionReferenceRuleRule()); + } + } + { + newCompositeNode(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionCrossReference_2_0()); + } + ruleStringOrId + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleParametrizedFunctionDefinitionReferenceRule +entryRuleParametrizedFunctionDefinitionReferenceRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleRule()); } + iv_ruleParametrizedFunctionDefinitionReferenceRule=ruleParametrizedFunctionDefinitionReferenceRule + { $current=$iv_ruleParametrizedFunctionDefinitionReferenceRule.current; } + EOF; + +// Rule ParametrizedFunctionDefinitionReferenceRule +ruleParametrizedFunctionDefinitionReferenceRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceAction_0(), + $current); + } + ) + otherlv_1='function' + { + newLeafNode(otherlv_1, grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getFunctionKeyword_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleRule()); + } + } + { + newCompositeNode(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionReferenceCrossReference_2_0()); + } + ruleStringOrId + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleInstanceRule +entryRuleInstanceRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getInstanceRuleRule()); } + iv_ruleInstanceRule=ruleInstanceRule + { $current=$iv_ruleInstanceRule.current; } + EOF; + +// Rule InstanceRule +ruleInstanceRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getInstanceRuleRule()); + } + } + { + newCompositeNode(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionCrossReference_0_0()); + } + ruleStringOrId + { + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1='{' + { + newLeafNode(otherlv_1, grammarAccess.getInstanceRuleAccess().getLeftCurlyBracketKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getInstanceRuleAccess().getAttributesAttributeRuleParserRuleCall_1_1_0()); + } + lv_attributes_2_0=ruleAttributeRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getInstanceRuleRule()); + } + add( + $current, + "attributes", + lv_attributes_2_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.AttributeRule"); + afterParserOrEnumRuleCall(); + } + ) + )* + otherlv_3='}' + { + newLeafNode(otherlv_3, grammarAccess.getInstanceRuleAccess().getRightCurlyBracketKeyword_1_2()); + } + )? + ) +; + +// Entry rule entryRuleAttributeRule +entryRuleAttributeRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAttributeRuleRule()); } + iv_ruleAttributeRule=ruleAttributeRule + { $current=$iv_ruleAttributeRule.current; } + EOF; + +// Rule AttributeRule +ruleAttributeRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getAttributeRuleAccess().getNameNameOrMiscRuleParserRuleCall_0_0()); + } + lv_name_0_0=ruleNameOrMiscRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAttributeRuleRule()); + } + set( + $current, + "name", + lv_name_0_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.NameOrMiscRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_1=':=' + { + newLeafNode(otherlv_1, grammarAccess.getAttributeRuleAccess().getColonEqualsSignKeyword_1()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAttributeRuleAccess().getValueValueRuleParserRuleCall_2_0()); + } + lv_value_2_0=ruleValueRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAttributeRuleRule()); + } + set( + $current, + "value", + lv_value_2_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.ValueRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_3=';' + { + newLeafNode(otherlv_3, grammarAccess.getAttributeRuleAccess().getSemicolonKeyword_3()); + } + ) +; + +// Entry rule entryRuleNameOrMiscRule +entryRuleNameOrMiscRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNameOrMiscRuleRule()); } + iv_ruleNameOrMiscRule=ruleNameOrMiscRule + { $current=$iv_ruleNameOrMiscRule.current; } + EOF; + +// Rule NameOrMiscRule +ruleNameOrMiscRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getNameOrMiscRuleAccess().getNameRuleParserRuleCall_0()); + } + this_NameRule_0=ruleNameRule + { + $current = $this_NameRule_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getNameOrMiscRuleAccess().getMiscRuleParserRuleCall_1()); + } + this_MiscRule_1=ruleMiscRule + { + $current = $this_MiscRule_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleNameRule +entryRuleNameRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNameRuleRule()); } + iv_ruleNameRule=ruleNameRule + { $current=$iv_ruleNameRule.current; } + EOF; + +// Rule NameRule +ruleNameRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getNameRuleRule()); + } + } + { + newCompositeNode(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionCrossReference_0()); + } + ruleStringOrId + { + afterParserOrEnumRuleCall(); + } + ) + ) +; + +// Entry rule entryRuleMiscRule +entryRuleMiscRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMiscRuleRule()); } + iv_ruleMiscRule=ruleMiscRule + { $current=$iv_ruleMiscRule.current; } + EOF; + +// Rule MiscRule +ruleMiscRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_name_0_0=RULE_STRING + { + newLeafNode(lv_name_0_0, grammarAccess.getMiscRuleAccess().getNameSTRINGTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getMiscRuleRule()); + } + setWithLastConsumed( + $current, + "name", + lv_name_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.STRING"); + } + ) + ) +; + +// Entry rule entryRuleValueRule +entryRuleValueRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getValueRuleRule()); } + iv_ruleValueRule=ruleValueRule + { $current=$iv_ruleValueRule.current; } + EOF; + +// Rule ValueRule +ruleValueRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getValueRuleAccess().getArrayRuleParserRuleCall_0()); + } + this_ArrayRule_0=ruleArrayRule + { + $current = $this_ArrayRule_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getValueRuleAccess().getDataReferenceRuleParserRuleCall_1()); + } + this_DataReferenceRule_1=ruleDataReferenceRule + { + $current = $this_DataReferenceRule_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getValueRuleAccess().getInstanceRuleParserRuleCall_2()); + } + this_InstanceRule_2=ruleInstanceRule + { + $current = $this_InstanceRule_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getValueRuleAccess().getLiteralValueRuleParserRuleCall_3()); + } + this_LiteralValueRule_3=ruleLiteralValueRule + { + $current = $this_LiteralValueRule_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleArrayRule +entryRuleArrayRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getArrayRuleRule()); } + iv_ruleArrayRule=ruleArrayRule + { $current=$iv_ruleArrayRule.current; } + EOF; + +// Rule ArrayRule +ruleArrayRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getArrayRuleAccess().getArrayAction_0(), + $current); + } + ) + otherlv_1='[' + { + newLeafNode(otherlv_1, grammarAccess.getArrayRuleAccess().getLeftSquareBracketKeyword_1()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_0_0()); + } + lv_values_2_0=ruleValueRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getArrayRuleRule()); + } + add( + $current, + "values", + lv_values_2_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.ValueRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getArrayRuleAccess().getCommaKeyword_2_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_1_1_0()); + } + lv_values_4_0=ruleValueRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getArrayRuleRule()); + } + add( + $current, + "values", + lv_values_4_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.ValueRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_5=']' + { + newLeafNode(otherlv_5, grammarAccess.getArrayRuleAccess().getRightSquareBracketKeyword_3()); + } + ) +; + +// Entry rule entryRuleLiteralValueRule +entryRuleLiteralValueRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLiteralValueRuleRule()); } + iv_ruleLiteralValueRule=ruleLiteralValueRule + { $current=$iv_ruleLiteralValueRule.current; } + EOF; + +// Rule LiteralValueRule +ruleLiteralValueRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getLiteralValueRuleAccess().getLiteralLiteralRuleParserRuleCall_0()); + } + lv_literal_0_0=ruleLiteralRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getLiteralValueRuleRule()); + } + set( + $current, + "literal", + lv_literal_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.LiteralRule"); + afterParserOrEnumRuleCall(); + } + ) + ) +; + +// Entry rule entryRuleDataReferenceRule +entryRuleDataReferenceRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDataReferenceRuleRule()); } + iv_ruleDataReferenceRule=ruleDataReferenceRule + { $current=$iv_ruleDataReferenceRule.current; } + EOF; + +// Rule DataReferenceRule +ruleDataReferenceRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getDataReferenceRuleAccess().getDataReferenceAction_0(), + $current); + } + ) + otherlv_1='data' + { + newLeafNode(otherlv_1, grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1()); + } + ( + ( + { + if ($current==null) { + $current = createModelElement(grammarAccess.getDataReferenceRuleRule()); + } + } + { + newCompositeNode(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); + } + ruleStringOrId + { + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleExpressionRule +entryRuleExpressionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getExpressionRuleRule()); } + iv_ruleExpressionRule=ruleExpressionRule + { $current=$iv_ruleExpressionRule.current; } + EOF; + +// Rule ExpressionRule +ruleExpressionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + { + newCompositeNode(grammarAccess.getExpressionRuleAccess().getOrExpressionRuleParserRuleCall()); + } + this_OrExpressionRule_0=ruleOrExpressionRule + { + $current = $this_OrExpressionRule_0.current; + afterParserOrEnumRuleCall(); + } +; + +// Entry rule entryRuleOrExpressionRule +entryRuleOrExpressionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getOrExpressionRuleRule()); } + iv_ruleOrExpressionRule=ruleOrExpressionRule + { $current=$iv_ruleOrExpressionRule.current; } + EOF; + +// Rule OrExpressionRule +ruleOrExpressionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_0_0()); + } + lv_subExpressions_0_0=ruleXorExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getOrExpressionRuleRule()); + } + add( + $current, + "subExpressions", + lv_subExpressions_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.XorExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1='OR' + { + newLeafNode(otherlv_1, grammarAccess.getOrExpressionRuleAccess().getORKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_1_1_0()); + } + lv_subExpressions_2_0=ruleXorExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getOrExpressionRuleRule()); + } + add( + $current, + "subExpressions", + lv_subExpressions_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.XorExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleXorExpressionRule +entryRuleXorExpressionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getXorExpressionRuleRule()); } + iv_ruleXorExpressionRule=ruleXorExpressionRule + { $current=$iv_ruleXorExpressionRule.current; } + EOF; + +// Rule XorExpressionRule +ruleXorExpressionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_0_0()); + } + lv_subExpressions_0_0=ruleAndExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXorExpressionRuleRule()); + } + add( + $current, + "subExpressions", + lv_subExpressions_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AndExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1='XOR' + { + newLeafNode(otherlv_1, grammarAccess.getXorExpressionRuleAccess().getXORKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_1_1_0()); + } + lv_subExpressions_2_0=ruleAndExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getXorExpressionRuleRule()); + } + add( + $current, + "subExpressions", + lv_subExpressions_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AndExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleAndExpressionRule +entryRuleAndExpressionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAndExpressionRuleRule()); } + iv_ruleAndExpressionRule=ruleAndExpressionRule + { $current=$iv_ruleAndExpressionRule.current; } + EOF; + +// Rule AndExpressionRule +ruleAndExpressionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_0_0()); + } + lv_subExpressions_0_0=ruleNotExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAndExpressionRuleRule()); + } + add( + $current, + "subExpressions", + lv_subExpressions_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.NotExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1='AND' + { + newLeafNode(otherlv_1, grammarAccess.getAndExpressionRuleAccess().getANDKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_1_1_0()); + } + lv_subExpressions_2_0=ruleNotExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAndExpressionRuleRule()); + } + add( + $current, + "subExpressions", + lv_subExpressions_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.NotExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleNotExpressionRule +entryRuleNotExpressionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNotExpressionRuleRule()); } + iv_ruleNotExpressionRule=ruleNotExpressionRule + { $current=$iv_ruleNotExpressionRule.current; } + EOF; + +// Rule NotExpressionRule +ruleNotExpressionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + lv_negated_0_0='!' + { + newLeafNode(lv_negated_0_0, grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getNotExpressionRuleRule()); + } + setWithLastConsumed($current, "negated", lv_negated_0_0 != null, "!"); + } + ) + )? + ( + ( + { + newCompositeNode(grammarAccess.getNotExpressionRuleAccess().getOperandComparisonExpressionRuleParserRuleCall_1_0()); + } + lv_operand_1_0=ruleComparisonExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getNotExpressionRuleRule()); + } + set( + $current, + "operand", + lv_operand_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.ComparisonExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleComparisonExpressionRule +entryRuleComparisonExpressionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getComparisonExpressionRuleRule()); } + iv_ruleComparisonExpressionRule=ruleComparisonExpressionRule + { $current=$iv_ruleComparisonExpressionRule.current; } + EOF; + +// Rule ComparisonExpressionRule +ruleComparisonExpressionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAddOrSubtractExpressionRuleParserRuleCall_0_0()); + } + lv_leftOperand_0_0=ruleAddOrSubtractExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComparisonExpressionRuleRule()); + } + set( + $current, + "leftOperand", + lv_leftOperand_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AddOrSubtractExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getComparisonExpressionRuleAccess().getComparisonPartialComparisonExpressionRuleParserRuleCall_1_0()); + } + lv_comparison_1_0=rulePartialComparisonExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getComparisonExpressionRuleRule()); + } + add( + $current, + "comparison", + lv_comparison_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.PartialComparisonExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + )* + ) +; + +// Entry rule entryRulePartialComparisonExpressionRule +entryRulePartialComparisonExpressionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPartialComparisonExpressionRuleRule()); } + iv_rulePartialComparisonExpressionRule=rulePartialComparisonExpressionRule + { $current=$iv_rulePartialComparisonExpressionRule.current; } + EOF; + +// Rule PartialComparisonExpressionRule +rulePartialComparisonExpressionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorComparisonOperatorRuleEnumRuleCall_0_0()); + } + lv_operator_0_0=ruleComparisonOperatorRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPartialComparisonExpressionRuleRule()); + } + set( + $current, + "operator", + lv_operator_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.ComparisonOperatorRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAddOrSubtractExpressionRuleParserRuleCall_1_0()); + } + lv_subExpression_1_0=ruleAddOrSubtractExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPartialComparisonExpressionRuleRule()); + } + set( + $current, + "subExpression", + lv_subExpression_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AddOrSubtractExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleAddOrSubtractExpressionRule +entryRuleAddOrSubtractExpressionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleRule()); } + iv_ruleAddOrSubtractExpressionRule=ruleAddOrSubtractExpressionRule + { $current=$iv_ruleAddOrSubtractExpressionRule.current; } + EOF; + +// Rule AddOrSubtractExpressionRule +ruleAddOrSubtractExpressionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandMultiplyDivideModuloExpressionRuleParserRuleCall_0_0()); + } + lv_leftOperand_0_0=ruleMultiplyDivideModuloExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAddOrSubtractExpressionRuleRule()); + } + set( + $current, + "leftOperand", + lv_leftOperand_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.MultiplyDivideModuloExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_1_0_0()); + } + lv_operators_1_0=ruleAddOrSubtractOperatorRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAddOrSubtractExpressionRuleRule()); + } + add( + $current, + "operators", + lv_operators_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AddOrSubtractOperatorRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsMultiplyDivideModuloExpressionRuleParserRuleCall_1_1_0()); + } + lv_operands_2_0=ruleMultiplyDivideModuloExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getAddOrSubtractExpressionRuleRule()); + } + add( + $current, + "operands", + lv_operands_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.MultiplyDivideModuloExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRuleMultiplyDivideModuloExpressionRule +entryRuleMultiplyDivideModuloExpressionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); } + iv_ruleMultiplyDivideModuloExpressionRule=ruleMultiplyDivideModuloExpressionRule + { $current=$iv_ruleMultiplyDivideModuloExpressionRule.current; } + EOF; + +// Rule MultiplyDivideModuloExpressionRule +ruleMultiplyDivideModuloExpressionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandPowerOfExpressionRuleParserRuleCall_0_0()); + } + lv_leftOperand_0_0=rulePowerOfExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); + } + set( + $current, + "leftOperand", + lv_leftOperand_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.PowerOfExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + ( + { + newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsMultiplyDivideModuloOperatorRuleEnumRuleCall_1_0_0()); + } + lv_operators_1_0=ruleMultiplyDivideModuloOperatorRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); + } + add( + $current, + "operators", + lv_operators_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.MultiplyDivideModuloOperatorRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + ( + { + newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsPowerOfExpressionRuleParserRuleCall_1_1_0()); + } + lv_operands_2_0=rulePowerOfExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); + } + add( + $current, + "operands", + lv_operands_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.PowerOfExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + ) +; + +// Entry rule entryRulePowerOfExpressionRule +entryRulePowerOfExpressionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getPowerOfExpressionRuleRule()); } + iv_rulePowerOfExpressionRule=rulePowerOfExpressionRule + { $current=$iv_rulePowerOfExpressionRule.current; } + EOF; + +// Rule PowerOfExpressionRule +rulePowerOfExpressionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandUnaryAddOrSubtractExpressionRuleParserRuleCall_0_0()); + } + lv_leftOperand_0_0=ruleUnaryAddOrSubtractExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPowerOfExpressionRuleRule()); + } + set( + $current, + "leftOperand", + lv_leftOperand_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.UnaryAddOrSubtractExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_1='^' + { + newLeafNode(otherlv_1, grammarAccess.getPowerOfExpressionRuleAccess().getCircumflexAccentKeyword_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandPowerOfExpressionRuleParserRuleCall_1_1_0()); + } + lv_rightOperand_2_0=rulePowerOfExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getPowerOfExpressionRuleRule()); + } + set( + $current, + "rightOperand", + lv_rightOperand_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.PowerOfExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + )? + ) +; + +// Entry rule entryRuleUnaryAddOrSubtractExpressionRule +entryRuleUnaryAddOrSubtractExpressionRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); } + iv_ruleUnaryAddOrSubtractExpressionRule=ruleUnaryAddOrSubtractExpressionRule + { $current=$iv_ruleUnaryAddOrSubtractExpressionRule.current; } + EOF; + +// Rule UnaryAddOrSubtractExpressionRule +ruleUnaryAddOrSubtractExpressionRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_0_0()); + } + lv_operators_0_0=ruleAddOrSubtractOperatorRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); + } + add( + $current, + "operators", + lv_operators_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AddOrSubtractOperatorRule"); + afterParserOrEnumRuleCall(); + } + ) + )* + ( + ( + { + newCompositeNode(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionLiteralOrReferenceRuleParserRuleCall_1_0()); + } + lv_subExpression_1_0=ruleLiteralOrReferenceRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); + } + set( + $current, + "subExpression", + lv_subExpression_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.LiteralOrReferenceRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ) +; + +// Entry rule entryRuleLiteralOrReferenceRule +entryRuleLiteralOrReferenceRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLiteralOrReferenceRuleRule()); } + iv_ruleLiteralOrReferenceRule=ruleLiteralOrReferenceRule + { $current=$iv_ruleLiteralOrReferenceRule.current; } + EOF; + +// Rule LiteralOrReferenceRule +ruleLiteralOrReferenceRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getCallRuleParserRuleCall_0()); + } + this_CallRule_0=ruleCallRule + { + $current = $this_CallRule_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getLiteralRuleParserRuleCall_1()); + } + this_LiteralRule_1=ruleLiteralRule + { + $current = $this_LiteralRule_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getParanthesesRuleParserRuleCall_2()); + } + this_ParanthesesRule_2=ruleParanthesesRule + { + $current = $this_ParanthesesRule_2.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getValueReferenceRuleParserRuleCall_3()); + } + this_ValueReferenceRule_3=ruleValueReferenceRule + { + $current = $this_ValueReferenceRule_3.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleParanthesesRule +entryRuleParanthesesRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getParanthesesRuleRule()); } + iv_ruleParanthesesRule=ruleParanthesesRule + { $current=$iv_ruleParanthesesRule.current; } + EOF; + +// Rule ParanthesesRule +ruleParanthesesRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + otherlv_0='(' + { + newLeafNode(otherlv_0, grammarAccess.getParanthesesRuleAccess().getLeftParenthesisKeyword_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getParanthesesRuleAccess().getSubExpressionExpressionRuleParserRuleCall_1_0()); + } + lv_subExpression_1_0=ruleExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getParanthesesRuleRule()); + } + set( + $current, + "subExpression", + lv_subExpression_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.ExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_2=')' + { + newLeafNode(otherlv_2, grammarAccess.getParanthesesRuleAccess().getRightParenthesisKeyword_2()); + } + ) +; + +// Entry rule entryRuleCallRule +entryRuleCallRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getCallRuleRule()); } + iv_ruleCallRule=ruleCallRule + { $current=$iv_ruleCallRule.current; } + EOF; + +// Rule CallRule +ruleCallRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + ( + { + newCompositeNode(grammarAccess.getCallRuleAccess().getFunctionFunctionNameRuleParserRuleCall_0_0()); + } + lv_function_0_0=ruleFunctionNameRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCallRuleRule()); + } + set( + $current, + "function", + lv_function_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.FunctionNameRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + otherlv_1='(' + { + newLeafNode(otherlv_1, grammarAccess.getCallRuleAccess().getLeftParenthesisKeyword_1()); + } + ( + ( + ( + { + newCompositeNode(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_0_0()); + } + lv_parameters_2_0=ruleExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCallRuleRule()); + } + add( + $current, + "parameters", + lv_parameters_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.ExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + ( + otherlv_3=',' + { + newLeafNode(otherlv_3, grammarAccess.getCallRuleAccess().getCommaKeyword_2_1_0()); + } + ( + ( + { + newCompositeNode(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_1_1_0()); + } + lv_parameters_4_0=ruleExpressionRule + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getCallRuleRule()); + } + add( + $current, + "parameters", + lv_parameters_4_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.ExpressionRule"); + afterParserOrEnumRuleCall(); + } + ) + ) + )* + )? + otherlv_5=')' + { + newLeafNode(otherlv_5, grammarAccess.getCallRuleAccess().getRightParenthesisKeyword_3()); + } + ) +; + +// Entry rule entryRuleFunctionNameRule +entryRuleFunctionNameRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getFunctionNameRuleRule()); } + iv_ruleFunctionNameRule=ruleFunctionNameRule + { $current=$iv_ruleFunctionNameRule.current; } + EOF; + +// Rule FunctionNameRule +ruleFunctionNameRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getFunctionNameRuleAccess().getFunctionNameAction_0(), + $current); + } + ) + otherlv_1='call' + { + newLeafNode(otherlv_1, grammarAccess.getFunctionNameRuleAccess().getCallKeyword_1()); + } + ) +; + +// Entry rule entryRuleValueReferenceRule +entryRuleValueReferenceRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getValueReferenceRuleRule()); } + iv_ruleValueReferenceRule=ruleValueReferenceRule + { $current=$iv_ruleValueReferenceRule.current; } + EOF; + +// Rule ValueReferenceRule +ruleValueReferenceRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getValueReferenceRuleAccess().getValueReferenceAction_0(), + $current); + } + ) + otherlv_1='value' + { + newLeafNode(otherlv_1, grammarAccess.getValueReferenceRuleAccess().getValueKeyword_1()); + } + ) +; + +// Entry rule entryRuleLiteralRule +entryRuleLiteralRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getLiteralRuleRule()); } + iv_ruleLiteralRule=ruleLiteralRule + { $current=$iv_ruleLiteralRule.current; } + EOF; + +// Rule LiteralRule +ruleLiteralRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getLiteralRuleAccess().getNumberLiteralRuleParserRuleCall_0()); + } + this_NumberLiteralRule_0=ruleNumberLiteralRule + { + $current = $this_NumberLiteralRule_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralRuleAccess().getStringLiteralRuleParserRuleCall_1()); + } + this_StringLiteralRule_1=ruleStringLiteralRule + { + $current = $this_StringLiteralRule_1.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getLiteralRuleAccess().getBooleanLiteralRuleParserRuleCall_2()); + } + this_BooleanLiteralRule_2=ruleBooleanLiteralRule + { + $current = $this_BooleanLiteralRule_2.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleNumberLiteralRule +entryRuleNumberLiteralRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getNumberLiteralRuleRule()); } + iv_ruleNumberLiteralRule=ruleNumberLiteralRule + { $current=$iv_ruleNumberLiteralRule.current; } + EOF; + +// Rule NumberLiteralRule +ruleNumberLiteralRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + { + newCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getDoubleLiteralRuleParserRuleCall_0()); + } + this_DoubleLiteralRule_0=ruleDoubleLiteralRule + { + $current = $this_DoubleLiteralRule_0.current; + afterParserOrEnumRuleCall(); + } + | + { + newCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_1()); + } + this_IntegerLiteralRule_1=ruleIntegerLiteralRule + { + $current = $this_IntegerLiteralRule_1.current; + afterParserOrEnumRuleCall(); + } + ) +; + +// Entry rule entryRuleDoubleLiteralRule +entryRuleDoubleLiteralRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getDoubleLiteralRuleRule()); } + iv_ruleDoubleLiteralRule=ruleDoubleLiteralRule + { $current=$iv_ruleDoubleLiteralRule.current; } + EOF; + +// Rule DoubleLiteralRule +ruleDoubleLiteralRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + newCompositeNode(grammarAccess.getDoubleLiteralRuleAccess().getValueDOUBLEParserRuleCall_0()); + } + lv_value_0_0=ruleDOUBLE + { + if ($current==null) { + $current = createModelElementForParent(grammarAccess.getDoubleLiteralRuleRule()); + } + set( + $current, + "value", + lv_value_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.DOUBLE"); + afterParserOrEnumRuleCall(); + } + ) + ) +; + +// Entry rule entryRuleIntegerLiteralRule +entryRuleIntegerLiteralRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getIntegerLiteralRuleRule()); } + iv_ruleIntegerLiteralRule=ruleIntegerLiteralRule + { $current=$iv_ruleIntegerLiteralRule.current; } + EOF; + +// Rule IntegerLiteralRule +ruleIntegerLiteralRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_value_0_0=RULE_INT + { + newLeafNode(lv_value_0_0, grammarAccess.getIntegerLiteralRuleAccess().getValueINTTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getIntegerLiteralRuleRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_0_0, + "org.eclipse.xtext.common.Terminals.INT"); + } + ) + ) +; + +// Entry rule entryRuleStringLiteralRule +entryRuleStringLiteralRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getStringLiteralRuleRule()); } + iv_ruleStringLiteralRule=ruleStringLiteralRule + { $current=$iv_ruleStringLiteralRule.current; } + EOF; + +// Rule StringLiteralRule +ruleStringLiteralRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + lv_value_0_0=RULE_STRING + { + newLeafNode(lv_value_0_0, grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getStringLiteralRuleRule()); + } + setWithLastConsumed( + $current, + "value", + lv_value_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.STRING"); + } + ) + ) +; + +// Entry rule entryRuleBooleanLiteralRule +entryRuleBooleanLiteralRule returns [EObject current=null]: + { newCompositeNode(grammarAccess.getBooleanLiteralRuleRule()); } + iv_ruleBooleanLiteralRule=ruleBooleanLiteralRule + { $current=$iv_ruleBooleanLiteralRule.current; } + EOF; + +// Rule BooleanLiteralRule +ruleBooleanLiteralRule returns [EObject current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + { + $current = forceCreateModelElement( + grammarAccess.getBooleanLiteralRuleAccess().getBooleanLiteralAction_0(), + $current); + } + ) + ( + ( + ( + lv_value_1_0='true' + { + newLeafNode(lv_value_1_0, grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); + } + { + if ($current==null) { + $current = createModelElement(grammarAccess.getBooleanLiteralRuleRule()); + } + setWithLastConsumed($current, "value", lv_value_1_0 != null, "true"); + } + ) + ) + | + otherlv_2='false' + { + newLeafNode(otherlv_2, grammarAccess.getBooleanLiteralRuleAccess().getFalseKeyword_1_1()); + } + ) + ) +; + +// Entry rule entryRuleStringOrId +entryRuleStringOrId returns [String current=null]: + { newCompositeNode(grammarAccess.getStringOrIdRule()); } + iv_ruleStringOrId=ruleStringOrId + { $current=$iv_ruleStringOrId.current.getText(); } + EOF; + +// Rule StringOrId +ruleStringOrId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + this_QUOTED_ID_0=RULE_QUOTED_ID + { + $current.merge(this_QUOTED_ID_0); + } + { + newLeafNode(this_QUOTED_ID_0, grammarAccess.getStringOrIdAccess().getQUOTED_IDTerminalRuleCall_0()); + } + | + this_ID_1=RULE_ID + { + $current.merge(this_ID_1); + } + { + newLeafNode(this_ID_1, grammarAccess.getStringOrIdAccess().getIDTerminalRuleCall_1()); + } + ) +; + +// Entry rule entryRuleDOUBLE +entryRuleDOUBLE returns [String current=null]: + { newCompositeNode(grammarAccess.getDOUBLERule()); } + iv_ruleDOUBLE=ruleDOUBLE + { $current=$iv_ruleDOUBLE.current.getText(); } + EOF; + +// Rule DOUBLE +ruleDOUBLE returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + this_INT_0=RULE_INT + { + $current.merge(this_INT_0); + } + { + newLeafNode(this_INT_0, grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_0()); + } + kw='.' + { + $current.merge(kw); + newLeafNode(kw, grammarAccess.getDOUBLEAccess().getFullStopKeyword_1()); + } + this_INT_2=RULE_INT + { + $current.merge(this_INT_2); + } + { + newLeafNode(this_INT_2, grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_2()); + } + ) +; + +// Rule ComparisonOperatorRule +ruleComparisonOperatorRule returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0='>=' + { + $current = grammarAccess.getComparisonOperatorRuleAccess().getGreaterThanEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorRuleAccess().getGreaterThanEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1='>' + { + $current = grammarAccess.getComparisonOperatorRuleAccess().getGreaterEqualEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorRuleAccess().getGreaterEqualEnumLiteralDeclaration_1()); + } + ) + | + ( + enumLiteral_2='=' + { + $current = grammarAccess.getComparisonOperatorRuleAccess().getEqualEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getComparisonOperatorRuleAccess().getEqualEnumLiteralDeclaration_2()); + } + ) + | + ( + enumLiteral_3='!=' + { + $current = grammarAccess.getComparisonOperatorRuleAccess().getUnequalEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorRuleAccess().getUnequalEnumLiteralDeclaration_3()); + } + ) + | + ( + enumLiteral_4='<' + { + $current = grammarAccess.getComparisonOperatorRuleAccess().getLessEqualEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getComparisonOperatorRuleAccess().getLessEqualEnumLiteralDeclaration_4()); + } + ) + | + ( + enumLiteral_5='<=' + { + $current = grammarAccess.getComparisonOperatorRuleAccess().getLessThanEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorRuleAccess().getLessThanEnumLiteralDeclaration_5()); + } + ) + ) +; + +// Rule AddOrSubtractOperatorRule +ruleAddOrSubtractOperatorRule returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0='+' + { + $current = grammarAccess.getAddOrSubtractOperatorRuleAccess().getAddEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAddOrSubtractOperatorRuleAccess().getAddEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1='-' + { + $current = grammarAccess.getAddOrSubtractOperatorRuleAccess().getSubtractEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAddOrSubtractOperatorRuleAccess().getSubtractEnumLiteralDeclaration_1()); + } + ) + ) +; + +// Rule MultiplyDivideModuloOperatorRule +ruleMultiplyDivideModuloOperatorRule returns [Enumerator current=null] +@init { + enterRule(); +} +@after { + leaveRule(); +}: + ( + ( + enumLiteral_0='*' + { + $current = grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getMultiplyEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getMultiplyEnumLiteralDeclaration_0()); + } + ) + | + ( + enumLiteral_1='/' + { + $current = grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getDivideEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getDivideEnumLiteralDeclaration_1()); + } + ) + | + ( + enumLiteral_2='%' + { + $current = grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getModuloEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getModuloEnumLiteralDeclaration_2()); + } + ) + ) +; + +RULE_STRING : '"' ('\\' .|~(('\\'|'"')))* '"'; + +RULE_QUOTED_ID : '\'' ('\\' .|~(('\\'|'\'')))* '\''; + +RULE_ID : '^'? ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + +RULE_INT : ('0'..'9')+; + +RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/'; + +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; + +RULE_WS : (' '|'\t'|'\r'|'\n')+; + +RULE_ANY_OTHER : .; diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSL.tokens b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSL.tokens new file mode 100644 index 0000000000000000000000000000000000000000..337ca21901e97927639c25aaa0c385d837e1e792 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSL.tokens @@ -0,0 +1,106 @@ +'!'=41 +'!='=53 +'%'=60 +'('=43 +')'=44 +'*'=58 +'+'=56 +','=25 +'-'=57 +'.'=49 +'/'=59 +':='=36 +';'=13 +'<'=54 +'<='=55 +'='=52 +'>'=51 +'>='=50 +'AND'=40 +'OR'=38 +'XOR'=39 +'['=21 +']'=23 +'^'=42 +'applying'=31 +'call'=45 +'data'=37 +'definition'=33 +'end'=20 +'false'=48 +'for'=17 +'from'=30 +'function'=14 +'functions'=24 +'generator'=16 +'generators'=26 +'in'=18 +'loop'=19 +'on'=32 +'samples'=29 +'to'=22 +'true'=47 +'use'=12 +'using'=15 +'value'=46 +'with'=28 +'write'=27 +'{'=34 +'}'=35 +RULE_ANY_OTHER=11 +RULE_ID=5 +RULE_INT=6 +RULE_ML_COMMENT=8 +RULE_QUOTED_ID=7 +RULE_SL_COMMENT=9 +RULE_STRING=4 +RULE_WS=10 +T__12=12 +T__13=13 +T__14=14 +T__15=15 +T__16=16 +T__17=17 +T__18=18 +T__19=19 +T__20=20 +T__21=21 +T__22=22 +T__23=23 +T__24=24 +T__25=25 +T__26=26 +T__27=27 +T__28=28 +T__29=29 +T__30=30 +T__31=31 +T__32=32 +T__33=33 +T__34=34 +T__35=35 +T__36=36 +T__37=37 +T__38=38 +T__39=39 +T__40=40 +T__41=41 +T__42=42 +T__43=43 +T__44=44 +T__45=45 +T__46=46 +T__47=47 +T__48=48 +T__49=49 +T__50=50 +T__51=51 +T__52=52 +T__53=53 +T__54=54 +T__55=55 +T__56=56 +T__57=57 +T__58=58 +T__59=59 +T__60=60 diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSLLexer.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSLLexer.java new file mode 100644 index 0000000000000000000000000000000000000000..dde89f05e2dbde101804ae7c06d69db334e3f18b --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSLLexer.java @@ -0,0 +1,2351 @@ +package de.evoal.languages.model.generator.dsl.parser.antlr.internal; + +// Hack: Use our own Lexer superclass by means of import. +// Currently there is no other way to specify the superclass for the lexer. +import org.eclipse.xtext.parser.antlr.Lexer; + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalGeneratorDSLLexer extends Lexer { + public static final int T__50=50; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__59=59; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__55=55; + public static final int T__12=12; + public static final int T__56=56; + public static final int T__13=13; + public static final int T__57=57; + public static final int T__14=14; + public static final int T__58=58; + public static final int T__51=51; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int T__60=60; + public static final int RULE_ID=5; + public static final int RULE_QUOTED_ID=7; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int RULE_INT=6; + public static final int T__29=29; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=8; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int RULE_STRING=4; + public static final int RULE_SL_COMMENT=9; + public static final int T__37=37; + public static final int T__38=38; + public static final int T__39=39; + public static final int T__33=33; + public static final int T__34=34; + public static final int T__35=35; + public static final int T__36=36; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_WS=10; + public static final int RULE_ANY_OTHER=11; + public static final int T__48=48; + public static final int T__49=49; + public static final int T__44=44; + public static final int T__45=45; + public static final int T__46=46; + public static final int T__47=47; + public static final int T__40=40; + public static final int T__41=41; + public static final int T__42=42; + public static final int T__43=43; + + // delegates + // delegators + + public InternalGeneratorDSLLexer() {;} + public InternalGeneratorDSLLexer(CharStream input) { + this(input, new RecognizerSharedState()); + } + public InternalGeneratorDSLLexer(CharStream input, RecognizerSharedState state) { + super(input,state); + + } + public String getGrammarFileName() { return "InternalGeneratorDSL.g"; } + + // $ANTLR start "T__12" + public final void mT__12() throws RecognitionException { + try { + int _type = T__12; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:11:7: ( 'use' ) + // InternalGeneratorDSL.g:11:9: 'use' + { + match("use"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__12" + + // $ANTLR start "T__13" + public final void mT__13() throws RecognitionException { + try { + int _type = T__13; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:12:7: ( ';' ) + // InternalGeneratorDSL.g:12:9: ';' + { + match(';'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__13" + + // $ANTLR start "T__14" + public final void mT__14() throws RecognitionException { + try { + int _type = T__14; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:13:7: ( 'function' ) + // InternalGeneratorDSL.g:13:9: 'function' + { + match("function"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__14" + + // $ANTLR start "T__15" + public final void mT__15() throws RecognitionException { + try { + int _type = T__15; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:14:7: ( 'using' ) + // InternalGeneratorDSL.g:14:9: 'using' + { + match("using"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__15" + + // $ANTLR start "T__16" + public final void mT__16() throws RecognitionException { + try { + int _type = T__16; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:15:7: ( 'generator' ) + // InternalGeneratorDSL.g:15:9: 'generator' + { + match("generator"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__16" + + // $ANTLR start "T__17" + public final void mT__17() throws RecognitionException { + try { + int _type = T__17; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:16:7: ( 'for' ) + // InternalGeneratorDSL.g:16:9: 'for' + { + match("for"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__17" + + // $ANTLR start "T__18" + public final void mT__18() throws RecognitionException { + try { + int _type = T__18; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:17:7: ( 'in' ) + // InternalGeneratorDSL.g:17:9: 'in' + { + match("in"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__18" + + // $ANTLR start "T__19" + public final void mT__19() throws RecognitionException { + try { + int _type = T__19; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:18:7: ( 'loop' ) + // InternalGeneratorDSL.g:18:9: 'loop' + { + match("loop"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__19" + + // $ANTLR start "T__20" + public final void mT__20() throws RecognitionException { + try { + int _type = T__20; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:19:7: ( 'end' ) + // InternalGeneratorDSL.g:19:9: 'end' + { + match("end"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__20" + + // $ANTLR start "T__21" + public final void mT__21() throws RecognitionException { + try { + int _type = T__21; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:20:7: ( '[' ) + // InternalGeneratorDSL.g:20:9: '[' + { + match('['); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__21" + + // $ANTLR start "T__22" + public final void mT__22() throws RecognitionException { + try { + int _type = T__22; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:21:7: ( 'to' ) + // InternalGeneratorDSL.g:21:9: 'to' + { + match("to"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__22" + + // $ANTLR start "T__23" + public final void mT__23() throws RecognitionException { + try { + int _type = T__23; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:22:7: ( ']' ) + // InternalGeneratorDSL.g:22:9: ']' + { + match(']'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__23" + + // $ANTLR start "T__24" + public final void mT__24() throws RecognitionException { + try { + int _type = T__24; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:23:7: ( 'functions' ) + // InternalGeneratorDSL.g:23:9: 'functions' + { + match("functions"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__24" + + // $ANTLR start "T__25" + public final void mT__25() throws RecognitionException { + try { + int _type = T__25; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:24:7: ( ',' ) + // InternalGeneratorDSL.g:24:9: ',' + { + match(','); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__25" + + // $ANTLR start "T__26" + public final void mT__26() throws RecognitionException { + try { + int _type = T__26; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:25:7: ( 'generators' ) + // InternalGeneratorDSL.g:25:9: 'generators' + { + match("generators"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__26" + + // $ANTLR start "T__27" + public final void mT__27() throws RecognitionException { + try { + int _type = T__27; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:26:7: ( 'write' ) + // InternalGeneratorDSL.g:26:9: 'write' + { + match("write"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__27" + + // $ANTLR start "T__28" + public final void mT__28() throws RecognitionException { + try { + int _type = T__28; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:27:7: ( 'with' ) + // InternalGeneratorDSL.g:27:9: 'with' + { + match("with"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__28" + + // $ANTLR start "T__29" + public final void mT__29() throws RecognitionException { + try { + int _type = T__29; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:28:7: ( 'samples' ) + // InternalGeneratorDSL.g:28:9: 'samples' + { + match("samples"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__29" + + // $ANTLR start "T__30" + public final void mT__30() throws RecognitionException { + try { + int _type = T__30; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:29:7: ( 'from' ) + // InternalGeneratorDSL.g:29:9: 'from' + { + match("from"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__30" + + // $ANTLR start "T__31" + public final void mT__31() throws RecognitionException { + try { + int _type = T__31; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:30:7: ( 'applying' ) + // InternalGeneratorDSL.g:30:9: 'applying' + { + match("applying"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__31" + + // $ANTLR start "T__32" + public final void mT__32() throws RecognitionException { + try { + int _type = T__32; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:31:7: ( 'on' ) + // InternalGeneratorDSL.g:31:9: 'on' + { + match("on"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__32" + + // $ANTLR start "T__33" + public final void mT__33() throws RecognitionException { + try { + int _type = T__33; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:32:7: ( 'definition' ) + // InternalGeneratorDSL.g:32:9: 'definition' + { + match("definition"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__33" + + // $ANTLR start "T__34" + public final void mT__34() throws RecognitionException { + try { + int _type = T__34; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:33:7: ( '{' ) + // InternalGeneratorDSL.g:33:9: '{' + { + match('{'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__34" + + // $ANTLR start "T__35" + public final void mT__35() throws RecognitionException { + try { + int _type = T__35; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:34:7: ( '}' ) + // InternalGeneratorDSL.g:34:9: '}' + { + match('}'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__35" + + // $ANTLR start "T__36" + public final void mT__36() throws RecognitionException { + try { + int _type = T__36; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:35:7: ( ':=' ) + // InternalGeneratorDSL.g:35:9: ':=' + { + match(":="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__36" + + // $ANTLR start "T__37" + public final void mT__37() throws RecognitionException { + try { + int _type = T__37; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:36:7: ( 'data' ) + // InternalGeneratorDSL.g:36:9: 'data' + { + match("data"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__37" + + // $ANTLR start "T__38" + public final void mT__38() throws RecognitionException { + try { + int _type = T__38; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:37:7: ( 'OR' ) + // InternalGeneratorDSL.g:37:9: 'OR' + { + match("OR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__38" + + // $ANTLR start "T__39" + public final void mT__39() throws RecognitionException { + try { + int _type = T__39; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:38:7: ( 'XOR' ) + // InternalGeneratorDSL.g:38:9: 'XOR' + { + match("XOR"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__39" + + // $ANTLR start "T__40" + public final void mT__40() throws RecognitionException { + try { + int _type = T__40; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:39:7: ( 'AND' ) + // InternalGeneratorDSL.g:39:9: 'AND' + { + match("AND"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__40" + + // $ANTLR start "T__41" + public final void mT__41() throws RecognitionException { + try { + int _type = T__41; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:40:7: ( '!' ) + // InternalGeneratorDSL.g:40:9: '!' + { + match('!'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__41" + + // $ANTLR start "T__42" + public final void mT__42() throws RecognitionException { + try { + int _type = T__42; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:41:7: ( '^' ) + // InternalGeneratorDSL.g:41:9: '^' + { + match('^'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__42" + + // $ANTLR start "T__43" + public final void mT__43() throws RecognitionException { + try { + int _type = T__43; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:42:7: ( '(' ) + // InternalGeneratorDSL.g:42:9: '(' + { + match('('); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__43" + + // $ANTLR start "T__44" + public final void mT__44() throws RecognitionException { + try { + int _type = T__44; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:43:7: ( ')' ) + // InternalGeneratorDSL.g:43:9: ')' + { + match(')'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__44" + + // $ANTLR start "T__45" + public final void mT__45() throws RecognitionException { + try { + int _type = T__45; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:44:7: ( 'call' ) + // InternalGeneratorDSL.g:44:9: 'call' + { + match("call"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__45" + + // $ANTLR start "T__46" + public final void mT__46() throws RecognitionException { + try { + int _type = T__46; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:45:7: ( 'value' ) + // InternalGeneratorDSL.g:45:9: 'value' + { + match("value"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__46" + + // $ANTLR start "T__47" + public final void mT__47() throws RecognitionException { + try { + int _type = T__47; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:46:7: ( 'true' ) + // InternalGeneratorDSL.g:46:9: 'true' + { + match("true"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__47" + + // $ANTLR start "T__48" + public final void mT__48() throws RecognitionException { + try { + int _type = T__48; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:47:7: ( 'false' ) + // InternalGeneratorDSL.g:47:9: 'false' + { + match("false"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__48" + + // $ANTLR start "T__49" + public final void mT__49() throws RecognitionException { + try { + int _type = T__49; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:48:7: ( '.' ) + // InternalGeneratorDSL.g:48:9: '.' + { + match('.'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__49" + + // $ANTLR start "T__50" + public final void mT__50() throws RecognitionException { + try { + int _type = T__50; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:49:7: ( '>=' ) + // InternalGeneratorDSL.g:49:9: '>=' + { + match(">="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__50" + + // $ANTLR start "T__51" + public final void mT__51() throws RecognitionException { + try { + int _type = T__51; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:50:7: ( '>' ) + // InternalGeneratorDSL.g:50:9: '>' + { + match('>'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__51" + + // $ANTLR start "T__52" + public final void mT__52() throws RecognitionException { + try { + int _type = T__52; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:51:7: ( '=' ) + // InternalGeneratorDSL.g:51:9: '=' + { + match('='); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__52" + + // $ANTLR start "T__53" + public final void mT__53() throws RecognitionException { + try { + int _type = T__53; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:52:7: ( '!=' ) + // InternalGeneratorDSL.g:52:9: '!=' + { + match("!="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__53" + + // $ANTLR start "T__54" + public final void mT__54() throws RecognitionException { + try { + int _type = T__54; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:53:7: ( '<' ) + // InternalGeneratorDSL.g:53:9: '<' + { + match('<'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__54" + + // $ANTLR start "T__55" + public final void mT__55() throws RecognitionException { + try { + int _type = T__55; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:54:7: ( '<=' ) + // InternalGeneratorDSL.g:54:9: '<=' + { + match("<="); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__55" + + // $ANTLR start "T__56" + public final void mT__56() throws RecognitionException { + try { + int _type = T__56; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:55:7: ( '+' ) + // InternalGeneratorDSL.g:55:9: '+' + { + match('+'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__56" + + // $ANTLR start "T__57" + public final void mT__57() throws RecognitionException { + try { + int _type = T__57; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:56:7: ( '-' ) + // InternalGeneratorDSL.g:56:9: '-' + { + match('-'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__57" + + // $ANTLR start "T__58" + public final void mT__58() throws RecognitionException { + try { + int _type = T__58; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:57:7: ( '*' ) + // InternalGeneratorDSL.g:57:9: '*' + { + match('*'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__58" + + // $ANTLR start "T__59" + public final void mT__59() throws RecognitionException { + try { + int _type = T__59; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:58:7: ( '/' ) + // InternalGeneratorDSL.g:58:9: '/' + { + match('/'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__59" + + // $ANTLR start "T__60" + public final void mT__60() throws RecognitionException { + try { + int _type = T__60; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:59:7: ( '%' ) + // InternalGeneratorDSL.g:59:9: '%' + { + match('%'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "T__60" + + // $ANTLR start "RULE_STRING" + public final void mRULE_STRING() throws RecognitionException { + try { + int _type = RULE_STRING; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:2998:13: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' ) + // InternalGeneratorDSL.g:2998:15: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' + { + match('\"'); + // InternalGeneratorDSL.g:2998:19: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* + loop1: + do { + int alt1=3; + int LA1_0 = input.LA(1); + + if ( (LA1_0=='\\') ) { + alt1=1; + } + else if ( ((LA1_0>='\u0000' && LA1_0<='!')||(LA1_0>='#' && LA1_0<='[')||(LA1_0>=']' && LA1_0<='\uFFFF')) ) { + alt1=2; + } + + + switch (alt1) { + case 1 : + // InternalGeneratorDSL.g:2998:20: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalGeneratorDSL.g:2998:27: ~ ( ( '\\\\' | '\"' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop1; + } + } while (true); + + match('\"'); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_STRING" + + // $ANTLR start "RULE_QUOTED_ID" + public final void mRULE_QUOTED_ID() throws RecognitionException { + try { + int _type = RULE_QUOTED_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:3000:16: ( '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) + // InternalGeneratorDSL.g:3000:18: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' + { + match('\''); + // InternalGeneratorDSL.g:3000:23: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* + loop2: + do { + int alt2=3; + int LA2_0 = input.LA(1); + + if ( (LA2_0=='\\') ) { + alt2=1; + } + else if ( ((LA2_0>='\u0000' && LA2_0<='&')||(LA2_0>='(' && LA2_0<='[')||(LA2_0>=']' && LA2_0<='\uFFFF')) ) { + alt2=2; + } + + + switch (alt2) { + case 1 : + // InternalGeneratorDSL.g:3000:24: '\\\\' . + { + match('\\'); + matchAny(); + + } + break; + case 2 : + // InternalGeneratorDSL.g:3000:31: ~ ( ( '\\\\' | '\\'' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop2; + } + } while (true); + + match('\''); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_QUOTED_ID" + + // $ANTLR start "RULE_ID" + public final void mRULE_ID() throws RecognitionException { + try { + int _type = RULE_ID; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:3002:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) + // InternalGeneratorDSL.g:3002:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + { + // InternalGeneratorDSL.g:3002:11: ( '^' )? + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0=='^') ) { + alt3=1; + } + switch (alt3) { + case 1 : + // InternalGeneratorDSL.g:3002:11: '^' + { + match('^'); + + } + break; + + } + + if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + // InternalGeneratorDSL.g:3002:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* + loop4: + do { + int alt4=2; + int LA4_0 = input.LA(1); + + if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // InternalGeneratorDSL.g: + { + if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop4; + } + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ID" + + // $ANTLR start "RULE_INT" + public final void mRULE_INT() throws RecognitionException { + try { + int _type = RULE_INT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:3004:10: ( ( '0' .. '9' )+ ) + // InternalGeneratorDSL.g:3004:12: ( '0' .. '9' )+ + { + // InternalGeneratorDSL.g:3004:12: ( '0' .. '9' )+ + int cnt5=0; + loop5: + do { + int alt5=2; + int LA5_0 = input.LA(1); + + if ( ((LA5_0>='0' && LA5_0<='9')) ) { + alt5=1; + } + + + switch (alt5) { + case 1 : + // InternalGeneratorDSL.g:3004:13: '0' .. '9' + { + matchRange('0','9'); + + } + break; + + default : + if ( cnt5 >= 1 ) break loop5; + EarlyExitException eee = + new EarlyExitException(5, input); + throw eee; + } + cnt5++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_INT" + + // $ANTLR start "RULE_ML_COMMENT" + public final void mRULE_ML_COMMENT() throws RecognitionException { + try { + int _type = RULE_ML_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:3006:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // InternalGeneratorDSL.g:3006:19: '/*' ( options {greedy=false; } : . )* '*/' + { + match("/*"); + + // InternalGeneratorDSL.g:3006:24: ( options {greedy=false; } : . )* + loop6: + do { + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0=='*') ) { + int LA6_1 = input.LA(2); + + if ( (LA6_1=='/') ) { + alt6=2; + } + else if ( ((LA6_1>='\u0000' && LA6_1<='.')||(LA6_1>='0' && LA6_1<='\uFFFF')) ) { + alt6=1; + } + + + } + else if ( ((LA6_0>='\u0000' && LA6_0<=')')||(LA6_0>='+' && LA6_0<='\uFFFF')) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // InternalGeneratorDSL.g:3006:52: . + { + matchAny(); + + } + break; + + default : + break loop6; + } + } while (true); + + match("*/"); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ML_COMMENT" + + // $ANTLR start "RULE_SL_COMMENT" + public final void mRULE_SL_COMMENT() throws RecognitionException { + try { + int _type = RULE_SL_COMMENT; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:3008:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) + // InternalGeneratorDSL.g:3008:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + { + match("//"); + + // InternalGeneratorDSL.g:3008:24: (~ ( ( '\\n' | '\\r' ) ) )* + loop7: + do { + int alt7=2; + int LA7_0 = input.LA(1); + + if ( ((LA7_0>='\u0000' && LA7_0<='\t')||(LA7_0>='\u000B' && LA7_0<='\f')||(LA7_0>='\u000E' && LA7_0<='\uFFFF')) ) { + alt7=1; + } + + + switch (alt7) { + case 1 : + // InternalGeneratorDSL.g:3008:24: ~ ( ( '\\n' | '\\r' ) ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + break loop7; + } + } while (true); + + // InternalGeneratorDSL.g:3008:40: ( ( '\\r' )? '\\n' )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0=='\n'||LA9_0=='\r') ) { + alt9=1; + } + switch (alt9) { + case 1 : + // InternalGeneratorDSL.g:3008:41: ( '\\r' )? '\\n' + { + // InternalGeneratorDSL.g:3008:41: ( '\\r' )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0=='\r') ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalGeneratorDSL.g:3008:41: '\\r' + { + match('\r'); + + } + break; + + } + + match('\n'); + + } + break; + + } + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_SL_COMMENT" + + // $ANTLR start "RULE_WS" + public final void mRULE_WS() throws RecognitionException { + try { + int _type = RULE_WS; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:3010:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) + // InternalGeneratorDSL.g:3010:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + { + // InternalGeneratorDSL.g:3010:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ + int cnt10=0; + loop10: + do { + int alt10=2; + int LA10_0 = input.LA(1); + + if ( ((LA10_0>='\t' && LA10_0<='\n')||LA10_0=='\r'||LA10_0==' ') ) { + alt10=1; + } + + + switch (alt10) { + case 1 : + // InternalGeneratorDSL.g: + { + if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||input.LA(1)=='\r'||input.LA(1)==' ' ) { + input.consume(); + + } + else { + MismatchedSetException mse = new MismatchedSetException(null,input); + recover(mse); + throw mse;} + + + } + break; + + default : + if ( cnt10 >= 1 ) break loop10; + EarlyExitException eee = + new EarlyExitException(10, input); + throw eee; + } + cnt10++; + } while (true); + + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_WS" + + // $ANTLR start "RULE_ANY_OTHER" + public final void mRULE_ANY_OTHER() throws RecognitionException { + try { + int _type = RULE_ANY_OTHER; + int _channel = DEFAULT_TOKEN_CHANNEL; + // InternalGeneratorDSL.g:3012:16: ( . ) + // InternalGeneratorDSL.g:3012:18: . + { + matchAny(); + + } + + state.type = _type; + state.channel = _channel; + } + finally { + } + } + // $ANTLR end "RULE_ANY_OTHER" + + public void mTokens() throws RecognitionException { + // InternalGeneratorDSL.g:1:8: ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) + int alt11=57; + alt11 = dfa11.predict(input); + switch (alt11) { + case 1 : + // InternalGeneratorDSL.g:1:10: T__12 + { + mT__12(); + + } + break; + case 2 : + // InternalGeneratorDSL.g:1:16: T__13 + { + mT__13(); + + } + break; + case 3 : + // InternalGeneratorDSL.g:1:22: T__14 + { + mT__14(); + + } + break; + case 4 : + // InternalGeneratorDSL.g:1:28: T__15 + { + mT__15(); + + } + break; + case 5 : + // InternalGeneratorDSL.g:1:34: T__16 + { + mT__16(); + + } + break; + case 6 : + // InternalGeneratorDSL.g:1:40: T__17 + { + mT__17(); + + } + break; + case 7 : + // InternalGeneratorDSL.g:1:46: T__18 + { + mT__18(); + + } + break; + case 8 : + // InternalGeneratorDSL.g:1:52: T__19 + { + mT__19(); + + } + break; + case 9 : + // InternalGeneratorDSL.g:1:58: T__20 + { + mT__20(); + + } + break; + case 10 : + // InternalGeneratorDSL.g:1:64: T__21 + { + mT__21(); + + } + break; + case 11 : + // InternalGeneratorDSL.g:1:70: T__22 + { + mT__22(); + + } + break; + case 12 : + // InternalGeneratorDSL.g:1:76: T__23 + { + mT__23(); + + } + break; + case 13 : + // InternalGeneratorDSL.g:1:82: T__24 + { + mT__24(); + + } + break; + case 14 : + // InternalGeneratorDSL.g:1:88: T__25 + { + mT__25(); + + } + break; + case 15 : + // InternalGeneratorDSL.g:1:94: T__26 + { + mT__26(); + + } + break; + case 16 : + // InternalGeneratorDSL.g:1:100: T__27 + { + mT__27(); + + } + break; + case 17 : + // InternalGeneratorDSL.g:1:106: T__28 + { + mT__28(); + + } + break; + case 18 : + // InternalGeneratorDSL.g:1:112: T__29 + { + mT__29(); + + } + break; + case 19 : + // InternalGeneratorDSL.g:1:118: T__30 + { + mT__30(); + + } + break; + case 20 : + // InternalGeneratorDSL.g:1:124: T__31 + { + mT__31(); + + } + break; + case 21 : + // InternalGeneratorDSL.g:1:130: T__32 + { + mT__32(); + + } + break; + case 22 : + // InternalGeneratorDSL.g:1:136: T__33 + { + mT__33(); + + } + break; + case 23 : + // InternalGeneratorDSL.g:1:142: T__34 + { + mT__34(); + + } + break; + case 24 : + // InternalGeneratorDSL.g:1:148: T__35 + { + mT__35(); + + } + break; + case 25 : + // InternalGeneratorDSL.g:1:154: T__36 + { + mT__36(); + + } + break; + case 26 : + // InternalGeneratorDSL.g:1:160: T__37 + { + mT__37(); + + } + break; + case 27 : + // InternalGeneratorDSL.g:1:166: T__38 + { + mT__38(); + + } + break; + case 28 : + // InternalGeneratorDSL.g:1:172: T__39 + { + mT__39(); + + } + break; + case 29 : + // InternalGeneratorDSL.g:1:178: T__40 + { + mT__40(); + + } + break; + case 30 : + // InternalGeneratorDSL.g:1:184: T__41 + { + mT__41(); + + } + break; + case 31 : + // InternalGeneratorDSL.g:1:190: T__42 + { + mT__42(); + + } + break; + case 32 : + // InternalGeneratorDSL.g:1:196: T__43 + { + mT__43(); + + } + break; + case 33 : + // InternalGeneratorDSL.g:1:202: T__44 + { + mT__44(); + + } + break; + case 34 : + // InternalGeneratorDSL.g:1:208: T__45 + { + mT__45(); + + } + break; + case 35 : + // InternalGeneratorDSL.g:1:214: T__46 + { + mT__46(); + + } + break; + case 36 : + // InternalGeneratorDSL.g:1:220: T__47 + { + mT__47(); + + } + break; + case 37 : + // InternalGeneratorDSL.g:1:226: T__48 + { + mT__48(); + + } + break; + case 38 : + // InternalGeneratorDSL.g:1:232: T__49 + { + mT__49(); + + } + break; + case 39 : + // InternalGeneratorDSL.g:1:238: T__50 + { + mT__50(); + + } + break; + case 40 : + // InternalGeneratorDSL.g:1:244: T__51 + { + mT__51(); + + } + break; + case 41 : + // InternalGeneratorDSL.g:1:250: T__52 + { + mT__52(); + + } + break; + case 42 : + // InternalGeneratorDSL.g:1:256: T__53 + { + mT__53(); + + } + break; + case 43 : + // InternalGeneratorDSL.g:1:262: T__54 + { + mT__54(); + + } + break; + case 44 : + // InternalGeneratorDSL.g:1:268: T__55 + { + mT__55(); + + } + break; + case 45 : + // InternalGeneratorDSL.g:1:274: T__56 + { + mT__56(); + + } + break; + case 46 : + // InternalGeneratorDSL.g:1:280: T__57 + { + mT__57(); + + } + break; + case 47 : + // InternalGeneratorDSL.g:1:286: T__58 + { + mT__58(); + + } + break; + case 48 : + // InternalGeneratorDSL.g:1:292: T__59 + { + mT__59(); + + } + break; + case 49 : + // InternalGeneratorDSL.g:1:298: T__60 + { + mT__60(); + + } + break; + case 50 : + // InternalGeneratorDSL.g:1:304: RULE_STRING + { + mRULE_STRING(); + + } + break; + case 51 : + // InternalGeneratorDSL.g:1:316: RULE_QUOTED_ID + { + mRULE_QUOTED_ID(); + + } + break; + case 52 : + // InternalGeneratorDSL.g:1:331: RULE_ID + { + mRULE_ID(); + + } + break; + case 53 : + // InternalGeneratorDSL.g:1:339: RULE_INT + { + mRULE_INT(); + + } + break; + case 54 : + // InternalGeneratorDSL.g:1:348: RULE_ML_COMMENT + { + mRULE_ML_COMMENT(); + + } + break; + case 55 : + // InternalGeneratorDSL.g:1:364: RULE_SL_COMMENT + { + mRULE_SL_COMMENT(); + + } + break; + case 56 : + // InternalGeneratorDSL.g:1:380: RULE_WS + { + mRULE_WS(); + + } + break; + case 57 : + // InternalGeneratorDSL.g:1:388: RULE_ANY_OTHER + { + mRULE_ANY_OTHER(); + + } + break; + + } + + } + + + protected DFA11 dfa11 = new DFA11(this); + static final String DFA11_eotS = + "\1\uffff\1\55\1\uffff\5\55\1\uffff\1\55\2\uffff\5\55\2\uffff\1\53\3\55\1\112\1\113\2\uffff\2\55\1\uffff\1\122\1\uffff\1\125\3\uffff\1\133\1\uffff\2\53\4\uffff\1\55\2\uffff\5\55\1\150\2\55\1\uffff\1\153\1\55\2\uffff\4\55\1\161\2\55\3\uffff\1\164\2\55\5\uffff\2\55\21\uffff\1\171\2\55\1\174\3\55\1\uffff\1\55\1\u0081\1\uffff\5\55\1\uffff\2\55\1\uffff\1\u0089\1\u008a\2\55\1\uffff\2\55\1\uffff\1\u008f\2\55\1\u0092\1\uffff\1\u0093\1\55\1\u0095\3\55\1\u0099\2\uffff\1\u009a\1\55\1\u009c\1\55\1\uffff\1\u009e\1\55\2\uffff\1\u00a0\1\uffff\3\55\2\uffff\1\u00a4\1\uffff\1\55\1\uffff\1\55\1\uffff\3\55\1\uffff\2\55\1\u00ac\2\55\1\u00b0\1\55\1\uffff\1\u00b2\1\55\1\u00b4\1\uffff\1\u00b6\1\uffff\1\55\1\uffff\1\u00b8\1\uffff\1\u00b9\2\uffff"; + static final String DFA11_eofS = + "\u00ba\uffff"; + static final String DFA11_minS = + "\1\0\1\163\1\uffff\1\141\1\145\1\156\1\157\1\156\1\uffff\1\157\2\uffff\1\151\1\141\1\160\1\156\1\141\2\uffff\1\75\1\122\1\117\1\116\1\75\1\101\2\uffff\2\141\1\uffff\1\75\1\uffff\1\75\3\uffff\1\52\1\uffff\2\0\4\uffff\1\145\2\uffff\1\156\1\162\1\157\1\154\1\156\1\60\1\157\1\144\1\uffff\1\60\1\165\2\uffff\1\151\1\164\1\155\1\160\1\60\1\146\1\164\3\uffff\1\60\1\122\1\104\5\uffff\2\154\21\uffff\1\60\1\156\1\143\1\60\1\155\1\163\1\145\1\uffff\1\160\1\60\1\uffff\1\145\1\164\1\150\1\160\1\154\1\uffff\1\151\1\141\1\uffff\2\60\1\154\1\165\1\uffff\1\147\1\164\1\uffff\1\60\1\145\1\162\1\60\1\uffff\1\60\1\145\1\60\1\154\1\171\1\156\1\60\2\uffff\1\60\1\145\1\60\1\151\1\uffff\1\60\1\141\2\uffff\1\60\1\uffff\1\145\2\151\2\uffff\1\60\1\uffff\1\157\1\uffff\1\164\1\uffff\1\163\1\156\1\164\1\uffff\1\156\1\157\1\60\1\147\1\151\1\60\1\162\1\uffff\1\60\1\157\1\60\1\uffff\1\60\1\uffff\1\156\1\uffff\1\60\1\uffff\1\60\2\uffff"; + static final String DFA11_maxS = + "\1\uffff\1\163\1\uffff\1\165\1\145\1\156\1\157\1\156\1\uffff\1\162\2\uffff\1\162\1\141\1\160\1\156\1\145\2\uffff\1\75\1\122\1\117\1\116\1\75\1\172\2\uffff\2\141\1\uffff\1\75\1\uffff\1\75\3\uffff\1\57\1\uffff\2\uffff\4\uffff\1\151\2\uffff\1\156\1\162\1\157\1\154\1\156\1\172\1\157\1\144\1\uffff\1\172\1\165\2\uffff\1\151\1\164\1\155\1\160\1\172\1\146\1\164\3\uffff\1\172\1\122\1\104\5\uffff\2\154\21\uffff\1\172\1\156\1\143\1\172\1\155\1\163\1\145\1\uffff\1\160\1\172\1\uffff\1\145\1\164\1\150\1\160\1\154\1\uffff\1\151\1\141\1\uffff\2\172\1\154\1\165\1\uffff\1\147\1\164\1\uffff\1\172\1\145\1\162\1\172\1\uffff\1\172\1\145\1\172\1\154\1\171\1\156\1\172\2\uffff\1\172\1\145\1\172\1\151\1\uffff\1\172\1\141\2\uffff\1\172\1\uffff\1\145\2\151\2\uffff\1\172\1\uffff\1\157\1\uffff\1\164\1\uffff\1\163\1\156\1\164\1\uffff\1\156\1\157\1\172\1\147\1\151\1\172\1\162\1\uffff\1\172\1\157\1\172\1\uffff\1\172\1\uffff\1\156\1\uffff\1\172\1\uffff\1\172\2\uffff"; + static final String DFA11_acceptS = + "\2\uffff\1\2\5\uffff\1\12\1\uffff\1\14\1\16\5\uffff\1\27\1\30\6\uffff\1\40\1\41\2\uffff\1\46\1\uffff\1\51\1\uffff\1\55\1\56\1\57\1\uffff\1\61\2\uffff\1\64\1\65\1\70\1\71\1\uffff\1\64\1\2\10\uffff\1\12\2\uffff\1\14\1\16\7\uffff\1\27\1\30\1\31\3\uffff\1\52\1\36\1\37\1\40\1\41\2\uffff\1\46\1\47\1\50\1\51\1\54\1\53\1\55\1\56\1\57\1\66\1\67\1\60\1\61\1\62\1\63\1\65\1\70\7\uffff\1\7\2\uffff\1\13\5\uffff\1\25\2\uffff\1\33\4\uffff\1\1\2\uffff\1\6\4\uffff\1\11\7\uffff\1\34\1\35\4\uffff\1\23\2\uffff\1\10\1\44\1\uffff\1\21\3\uffff\1\32\1\42\1\uffff\1\4\1\uffff\1\45\1\uffff\1\20\3\uffff\1\43\7\uffff\1\22\3\uffff\1\3\1\uffff\1\24\1\uffff\1\15\1\uffff\1\5\1\uffff\1\17\1\26"; + static final String DFA11_specialS = + "\1\1\45\uffff\1\2\1\0\u0092\uffff}>"; + static final String[] DFA11_transitionS = { + "\11\53\2\52\2\53\1\52\22\53\1\52\1\27\1\46\2\53\1\45\1\53\1\47\1\31\1\32\1\43\1\41\1\13\1\42\1\35\1\44\12\51\1\23\1\2\1\40\1\37\1\36\2\53\1\26\15\50\1\24\10\50\1\25\2\50\1\10\1\53\1\12\1\30\1\50\1\53\1\16\1\50\1\33\1\20\1\7\1\3\1\4\1\50\1\5\2\50\1\6\2\50\1\17\3\50\1\15\1\11\1\1\1\34\1\14\3\50\1\21\1\53\1\22\uff82\53", + "\1\54", + "", + "\1\62\15\uffff\1\60\2\uffff\1\61\2\uffff\1\57", + "\1\63", + "\1\64", + "\1\65", + "\1\66", + "", + "\1\70\2\uffff\1\71", + "", + "", + "\1\75\10\uffff\1\74", + "\1\76", + "\1\77", + "\1\100", + "\1\102\3\uffff\1\101", + "", + "", + "\1\105", + "\1\106", + "\1\107", + "\1\110", + "\1\111", + "\32\55\4\uffff\1\55\1\uffff\32\55", + "", + "", + "\1\116", + "\1\117", + "", + "\1\121", + "", + "\1\124", + "", + "", + "", + "\1\131\4\uffff\1\132", + "", + "\0\135", + "\0\136", + "", + "", + "", + "", + "\1\141\3\uffff\1\142", + "", + "", + "\1\143", + "\1\144", + "\1\145", + "\1\146", + "\1\147", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\151", + "\1\152", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\154", + "", + "", + "\1\155", + "\1\156", + "\1\157", + "\1\160", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\162", + "\1\163", + "", + "", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\165", + "\1\166", + "", + "", + "", + "", + "", + "\1\167", + "\1\170", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\172", + "\1\173", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\175", + "\1\176", + "\1\177", + "", + "\1\u0080", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "", + "\1\u0082", + "\1\u0083", + "\1\u0084", + "\1\u0085", + "\1\u0086", + "", + "\1\u0087", + "\1\u0088", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\u008b", + "\1\u008c", + "", + "\1\u008d", + "\1\u008e", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\u0090", + "\1\u0091", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\u0094", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\u0096", + "\1\u0097", + "\1\u0098", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\u009b", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\u009d", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\u009f", + "", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "", + "\1\u00a1", + "\1\u00a2", + "\1\u00a3", + "", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "", + "\1\u00a5", + "", + "\1\u00a6", + "", + "\1\u00a7", + "\1\u00a8", + "\1\u00a9", + "", + "\1\u00aa", + "\1\u00ab", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\u00ad", + "\1\u00ae", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\22\55\1\u00af\7\55", + "\1\u00b1", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "\1\u00b3", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\22\55\1\u00b5\7\55", + "", + "\1\u00b7", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "", + "\12\55\7\uffff\32\55\4\uffff\1\55\1\uffff\32\55", + "", + "" + }; + + static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS); + static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS); + static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS); + static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS); + static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS); + static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS); + static final short[][] DFA11_transition; + + static { + int numStates = DFA11_transitionS.length; + DFA11_transition = new short[numStates][]; + for (int i=0; i<numStates; i++) { + DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]); + } + } + + class DFA11 extends DFA { + + public DFA11(BaseRecognizer recognizer) { + this.recognizer = recognizer; + this.decisionNumber = 11; + this.eot = DFA11_eot; + this.eof = DFA11_eof; + this.min = DFA11_min; + this.max = DFA11_max; + this.accept = DFA11_accept; + this.special = DFA11_special; + this.transition = DFA11_transition; + } + public String getDescription() { + return "1:1: Tokens : ( T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | RULE_STRING | RULE_QUOTED_ID | RULE_ID | RULE_INT | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; + } + public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { + IntStream input = _input; + int _s = s; + switch ( s ) { + case 0 : + int LA11_39 = input.LA(1); + + s = -1; + if ( ((LA11_39>='\u0000' && LA11_39<='\uFFFF')) ) {s = 94;} + + else s = 43; + + if ( s>=0 ) return s; + break; + case 1 : + int LA11_0 = input.LA(1); + + s = -1; + if ( (LA11_0=='u') ) {s = 1;} + + else if ( (LA11_0==';') ) {s = 2;} + + else if ( (LA11_0=='f') ) {s = 3;} + + else if ( (LA11_0=='g') ) {s = 4;} + + else if ( (LA11_0=='i') ) {s = 5;} + + else if ( (LA11_0=='l') ) {s = 6;} + + else if ( (LA11_0=='e') ) {s = 7;} + + else if ( (LA11_0=='[') ) {s = 8;} + + else if ( (LA11_0=='t') ) {s = 9;} + + else if ( (LA11_0==']') ) {s = 10;} + + else if ( (LA11_0==',') ) {s = 11;} + + else if ( (LA11_0=='w') ) {s = 12;} + + else if ( (LA11_0=='s') ) {s = 13;} + + else if ( (LA11_0=='a') ) {s = 14;} + + else if ( (LA11_0=='o') ) {s = 15;} + + else if ( (LA11_0=='d') ) {s = 16;} + + else if ( (LA11_0=='{') ) {s = 17;} + + else if ( (LA11_0=='}') ) {s = 18;} + + else if ( (LA11_0==':') ) {s = 19;} + + else if ( (LA11_0=='O') ) {s = 20;} + + else if ( (LA11_0=='X') ) {s = 21;} + + else if ( (LA11_0=='A') ) {s = 22;} + + else if ( (LA11_0=='!') ) {s = 23;} + + else if ( (LA11_0=='^') ) {s = 24;} + + else if ( (LA11_0=='(') ) {s = 25;} + + else if ( (LA11_0==')') ) {s = 26;} + + else if ( (LA11_0=='c') ) {s = 27;} + + else if ( (LA11_0=='v') ) {s = 28;} + + else if ( (LA11_0=='.') ) {s = 29;} + + else if ( (LA11_0=='>') ) {s = 30;} + + else if ( (LA11_0=='=') ) {s = 31;} + + else if ( (LA11_0=='<') ) {s = 32;} + + else if ( (LA11_0=='+') ) {s = 33;} + + else if ( (LA11_0=='-') ) {s = 34;} + + else if ( (LA11_0=='*') ) {s = 35;} + + else if ( (LA11_0=='/') ) {s = 36;} + + else if ( (LA11_0=='%') ) {s = 37;} + + else if ( (LA11_0=='\"') ) {s = 38;} + + else if ( (LA11_0=='\'') ) {s = 39;} + + else if ( ((LA11_0>='B' && LA11_0<='N')||(LA11_0>='P' && LA11_0<='W')||(LA11_0>='Y' && LA11_0<='Z')||LA11_0=='_'||LA11_0=='b'||LA11_0=='h'||(LA11_0>='j' && LA11_0<='k')||(LA11_0>='m' && LA11_0<='n')||(LA11_0>='p' && LA11_0<='r')||(LA11_0>='x' && LA11_0<='z')) ) {s = 40;} + + else if ( ((LA11_0>='0' && LA11_0<='9')) ) {s = 41;} + + else if ( ((LA11_0>='\t' && LA11_0<='\n')||LA11_0=='\r'||LA11_0==' ') ) {s = 42;} + + else if ( ((LA11_0>='\u0000' && LA11_0<='\b')||(LA11_0>='\u000B' && LA11_0<='\f')||(LA11_0>='\u000E' && LA11_0<='\u001F')||(LA11_0>='#' && LA11_0<='$')||LA11_0=='&'||(LA11_0>='?' && LA11_0<='@')||LA11_0=='\\'||LA11_0=='`'||LA11_0=='|'||(LA11_0>='~' && LA11_0<='\uFFFF')) ) {s = 43;} + + if ( s>=0 ) return s; + break; + case 2 : + int LA11_38 = input.LA(1); + + s = -1; + if ( ((LA11_38>='\u0000' && LA11_38<='\uFFFF')) ) {s = 93;} + + else s = 43; + + if ( s>=0 ) return s; + break; + } + NoViableAltException nvae = + new NoViableAltException(getDescription(), 11, _s, input); + error(nvae); + throw nvae; + } + } + + +} \ No newline at end of file diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSLParser.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSLParser.java new file mode 100644 index 0000000000000000000000000000000000000000..d371eeec4192d9915374be77d267ae979b69d55b --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/parser/antlr/internal/InternalGeneratorDSLParser.java @@ -0,0 +1,8231 @@ +package de.evoal.languages.model.generator.dsl.parser.antlr.internal; + +import org.eclipse.xtext.*; +import org.eclipse.xtext.parser.*; +import org.eclipse.xtext.parser.impl.*; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.common.util.Enumerator; +import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; +import org.eclipse.xtext.parser.antlr.XtextTokenStream; +import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; +import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; +import de.evoal.languages.model.generator.dsl.services.GeneratorDSLGrammarAccess; + + + +import org.antlr.runtime.*; +import java.util.Stack; +import java.util.List; +import java.util.ArrayList; + +@SuppressWarnings("all") +public class InternalGeneratorDSLParser extends AbstractInternalAntlrParser { + public static final String[] tokenNames = new String[] { + "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_QUOTED_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'use'", "';'", "'function'", "'using'", "'generator'", "'for'", "'in'", "'loop'", "'end'", "'['", "'to'", "']'", "'functions'", "','", "'generators'", "'write'", "'with'", "'samples'", "'from'", "'applying'", "'on'", "'definition'", "'{'", "'}'", "':='", "'data'", "'OR'", "'XOR'", "'AND'", "'!'", "'^'", "'('", "')'", "'call'", "'value'", "'true'", "'false'", "'.'", "'>='", "'>'", "'='", "'!='", "'<'", "'<='", "'+'", "'-'", "'*'", "'/'", "'%'" + }; + public static final int T__50=50; + public static final int T__19=19; + public static final int T__15=15; + public static final int T__59=59; + public static final int T__16=16; + public static final int T__17=17; + public static final int T__18=18; + public static final int T__55=55; + public static final int T__12=12; + public static final int T__56=56; + public static final int T__13=13; + public static final int T__57=57; + public static final int T__14=14; + public static final int T__58=58; + public static final int T__51=51; + public static final int T__52=52; + public static final int T__53=53; + public static final int T__54=54; + public static final int T__60=60; + public static final int RULE_ID=5; + public static final int RULE_QUOTED_ID=7; + public static final int T__26=26; + public static final int T__27=27; + public static final int T__28=28; + public static final int RULE_INT=6; + public static final int T__29=29; + public static final int T__22=22; + public static final int RULE_ML_COMMENT=8; + public static final int T__23=23; + public static final int T__24=24; + public static final int T__25=25; + public static final int T__20=20; + public static final int T__21=21; + public static final int RULE_STRING=4; + public static final int RULE_SL_COMMENT=9; + public static final int T__37=37; + public static final int T__38=38; + public static final int T__39=39; + public static final int T__33=33; + public static final int T__34=34; + public static final int T__35=35; + public static final int T__36=36; + public static final int EOF=-1; + public static final int T__30=30; + public static final int T__31=31; + public static final int T__32=32; + public static final int RULE_WS=10; + public static final int RULE_ANY_OTHER=11; + public static final int T__48=48; + public static final int T__49=49; + public static final int T__44=44; + public static final int T__45=45; + public static final int T__46=46; + public static final int T__47=47; + public static final int T__40=40; + public static final int T__41=41; + public static final int T__42=42; + public static final int T__43=43; + + // delegates + // delegators + + + public InternalGeneratorDSLParser(TokenStream input) { + this(input, new RecognizerSharedState()); + } + public InternalGeneratorDSLParser(TokenStream input, RecognizerSharedState state) { + super(input, state); + + } + + + public String[] getTokenNames() { return InternalGeneratorDSLParser.tokenNames; } + public String getGrammarFileName() { return "InternalGeneratorDSL.g"; } + + + + private GeneratorDSLGrammarAccess grammarAccess; + + public InternalGeneratorDSLParser(TokenStream input, GeneratorDSLGrammarAccess grammarAccess) { + this(input); + this.grammarAccess = grammarAccess; + registerRules(grammarAccess.getGrammar()); + } + + @Override + protected String getFirstRuleName() { + return "ConfigurationRule"; + } + + @Override + protected GeneratorDSLGrammarAccess getGrammarAccess() { + return grammarAccess; + } + + + + + // $ANTLR start "entryRuleConfigurationRule" + // InternalGeneratorDSL.g:65:1: entryRuleConfigurationRule returns [EObject current=null] : iv_ruleConfigurationRule= ruleConfigurationRule EOF ; + public final EObject entryRuleConfigurationRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleConfigurationRule = null; + + + try { + // InternalGeneratorDSL.g:65:58: (iv_ruleConfigurationRule= ruleConfigurationRule EOF ) + // InternalGeneratorDSL.g:66:2: iv_ruleConfigurationRule= ruleConfigurationRule EOF + { + newCompositeNode(grammarAccess.getConfigurationRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleConfigurationRule=ruleConfigurationRule(); + + state._fsp--; + + current =iv_ruleConfigurationRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleConfigurationRule" + + + // $ANTLR start "ruleConfigurationRule" + // InternalGeneratorDSL.g:72:1: ruleConfigurationRule returns [EObject current=null] : ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_generators_1_0= ruleGeneratorDefinitionRule ) )* ( (lv_functions_2_0= ruleParametrizedFunctionDefinitionRule ) )* ( (lv_statements_3_0= ruleStatementRule ) )* ) ; + public final EObject ruleConfigurationRule() throws RecognitionException { + EObject current = null; + + EObject lv_uses_0_0 = null; + + EObject lv_generators_1_0 = null; + + EObject lv_functions_2_0 = null; + + EObject lv_statements_3_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:78:2: ( ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_generators_1_0= ruleGeneratorDefinitionRule ) )* ( (lv_functions_2_0= ruleParametrizedFunctionDefinitionRule ) )* ( (lv_statements_3_0= ruleStatementRule ) )* ) ) + // InternalGeneratorDSL.g:79:2: ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_generators_1_0= ruleGeneratorDefinitionRule ) )* ( (lv_functions_2_0= ruleParametrizedFunctionDefinitionRule ) )* ( (lv_statements_3_0= ruleStatementRule ) )* ) + { + // InternalGeneratorDSL.g:79:2: ( ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_generators_1_0= ruleGeneratorDefinitionRule ) )* ( (lv_functions_2_0= ruleParametrizedFunctionDefinitionRule ) )* ( (lv_statements_3_0= ruleStatementRule ) )* ) + // InternalGeneratorDSL.g:80:3: ( (lv_uses_0_0= ruleUseRule ) )* ( (lv_generators_1_0= ruleGeneratorDefinitionRule ) )* ( (lv_functions_2_0= ruleParametrizedFunctionDefinitionRule ) )* ( (lv_statements_3_0= ruleStatementRule ) )* + { + // InternalGeneratorDSL.g:80:3: ( (lv_uses_0_0= ruleUseRule ) )* + loop1: + do { + int alt1=2; + int LA1_0 = input.LA(1); + + if ( (LA1_0==12) ) { + alt1=1; + } + + + switch (alt1) { + case 1 : + // InternalGeneratorDSL.g:81:4: (lv_uses_0_0= ruleUseRule ) + { + // InternalGeneratorDSL.g:81:4: (lv_uses_0_0= ruleUseRule ) + // InternalGeneratorDSL.g:82:5: lv_uses_0_0= ruleUseRule + { + + newCompositeNode(grammarAccess.getConfigurationRuleAccess().getUsesUseRuleParserRuleCall_0_0()); + + pushFollow(FOLLOW_3); + lv_uses_0_0=ruleUseRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConfigurationRuleRule()); + } + add( + current, + "uses", + lv_uses_0_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.UseRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop1; + } + } while (true); + + // InternalGeneratorDSL.g:99:3: ( (lv_generators_1_0= ruleGeneratorDefinitionRule ) )* + loop2: + do { + int alt2=2; + int LA2_0 = input.LA(1); + + if ( (LA2_0==16) ) { + alt2=1; + } + + + switch (alt2) { + case 1 : + // InternalGeneratorDSL.g:100:4: (lv_generators_1_0= ruleGeneratorDefinitionRule ) + { + // InternalGeneratorDSL.g:100:4: (lv_generators_1_0= ruleGeneratorDefinitionRule ) + // InternalGeneratorDSL.g:101:5: lv_generators_1_0= ruleGeneratorDefinitionRule + { + + newCompositeNode(grammarAccess.getConfigurationRuleAccess().getGeneratorsGeneratorDefinitionRuleParserRuleCall_1_0()); + + pushFollow(FOLLOW_4); + lv_generators_1_0=ruleGeneratorDefinitionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConfigurationRuleRule()); + } + add( + current, + "generators", + lv_generators_1_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.GeneratorDefinitionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop2; + } + } while (true); + + // InternalGeneratorDSL.g:118:3: ( (lv_functions_2_0= ruleParametrizedFunctionDefinitionRule ) )* + loop3: + do { + int alt3=2; + int LA3_0 = input.LA(1); + + if ( (LA3_0==14) ) { + alt3=1; + } + + + switch (alt3) { + case 1 : + // InternalGeneratorDSL.g:119:4: (lv_functions_2_0= ruleParametrizedFunctionDefinitionRule ) + { + // InternalGeneratorDSL.g:119:4: (lv_functions_2_0= ruleParametrizedFunctionDefinitionRule ) + // InternalGeneratorDSL.g:120:5: lv_functions_2_0= ruleParametrizedFunctionDefinitionRule + { + + newCompositeNode(grammarAccess.getConfigurationRuleAccess().getFunctionsParametrizedFunctionDefinitionRuleParserRuleCall_2_0()); + + pushFollow(FOLLOW_5); + lv_functions_2_0=ruleParametrizedFunctionDefinitionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConfigurationRuleRule()); + } + add( + current, + "functions", + lv_functions_2_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.ParametrizedFunctionDefinitionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop3; + } + } while (true); + + // InternalGeneratorDSL.g:137:3: ( (lv_statements_3_0= ruleStatementRule ) )* + loop4: + do { + int alt4=2; + int LA4_0 = input.LA(1); + + if ( (LA4_0==17||LA4_0==27) ) { + alt4=1; + } + + + switch (alt4) { + case 1 : + // InternalGeneratorDSL.g:138:4: (lv_statements_3_0= ruleStatementRule ) + { + // InternalGeneratorDSL.g:138:4: (lv_statements_3_0= ruleStatementRule ) + // InternalGeneratorDSL.g:139:5: lv_statements_3_0= ruleStatementRule + { + + newCompositeNode(grammarAccess.getConfigurationRuleAccess().getStatementsStatementRuleParserRuleCall_3_0()); + + pushFollow(FOLLOW_6); + lv_statements_3_0=ruleStatementRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getConfigurationRuleRule()); + } + add( + current, + "statements", + lv_statements_3_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.StatementRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop4; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleConfigurationRule" + + + // $ANTLR start "entryRuleUseRule" + // InternalGeneratorDSL.g:160:1: entryRuleUseRule returns [EObject current=null] : iv_ruleUseRule= ruleUseRule EOF ; + public final EObject entryRuleUseRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUseRule = null; + + + try { + // InternalGeneratorDSL.g:160:48: (iv_ruleUseRule= ruleUseRule EOF ) + // InternalGeneratorDSL.g:161:2: iv_ruleUseRule= ruleUseRule EOF + { + newCompositeNode(grammarAccess.getUseRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleUseRule=ruleUseRule(); + + state._fsp--; + + current =iv_ruleUseRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUseRule" + + + // $ANTLR start "ruleUseRule" + // InternalGeneratorDSL.g:167:1: ruleUseRule returns [EObject current=null] : (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' ) ; + public final EObject ruleUseRule() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_importURI_1_0=null; + Token otherlv_2=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:173:2: ( (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' ) ) + // InternalGeneratorDSL.g:174:2: (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' ) + { + // InternalGeneratorDSL.g:174:2: (otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' ) + // InternalGeneratorDSL.g:175:3: otherlv_0= 'use' ( (lv_importURI_1_0= RULE_STRING ) ) otherlv_2= ';' + { + otherlv_0=(Token)match(input,12,FOLLOW_7); + + newLeafNode(otherlv_0, grammarAccess.getUseRuleAccess().getUseKeyword_0()); + + // InternalGeneratorDSL.g:179:3: ( (lv_importURI_1_0= RULE_STRING ) ) + // InternalGeneratorDSL.g:180:4: (lv_importURI_1_0= RULE_STRING ) + { + // InternalGeneratorDSL.g:180:4: (lv_importURI_1_0= RULE_STRING ) + // InternalGeneratorDSL.g:181:5: lv_importURI_1_0= RULE_STRING + { + lv_importURI_1_0=(Token)match(input,RULE_STRING,FOLLOW_8); + + newLeafNode(lv_importURI_1_0, grammarAccess.getUseRuleAccess().getImportURISTRINGTerminalRuleCall_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getUseRuleRule()); + } + setWithLastConsumed( + current, + "importURI", + lv_importURI_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.STRING"); + + + } + + + } + + otherlv_2=(Token)match(input,13,FOLLOW_2); + + newLeafNode(otherlv_2, grammarAccess.getUseRuleAccess().getSemicolonKeyword_2()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleUseRule" + + + // $ANTLR start "entryRuleParametrizedFunctionDefinitionRule" + // InternalGeneratorDSL.g:205:1: entryRuleParametrizedFunctionDefinitionRule returns [EObject current=null] : iv_ruleParametrizedFunctionDefinitionRule= ruleParametrizedFunctionDefinitionRule EOF ; + public final EObject entryRuleParametrizedFunctionDefinitionRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleParametrizedFunctionDefinitionRule = null; + + + try { + // InternalGeneratorDSL.g:205:75: (iv_ruleParametrizedFunctionDefinitionRule= ruleParametrizedFunctionDefinitionRule EOF ) + // InternalGeneratorDSL.g:206:2: iv_ruleParametrizedFunctionDefinitionRule= ruleParametrizedFunctionDefinitionRule EOF + { + newCompositeNode(grammarAccess.getParametrizedFunctionDefinitionRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleParametrizedFunctionDefinitionRule=ruleParametrizedFunctionDefinitionRule(); + + state._fsp--; + + current =iv_ruleParametrizedFunctionDefinitionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleParametrizedFunctionDefinitionRule" + + + // $ANTLR start "ruleParametrizedFunctionDefinitionRule" + // InternalGeneratorDSL.g:212:1: ruleParametrizedFunctionDefinitionRule returns [EObject current=null] : (otherlv_0= 'function' ( (lv_name_1_0= ruleStringOrId ) ) otherlv_2= 'using' ( (lv_definition_3_0= ruleInstanceRule ) ) otherlv_4= ';' ) ; + public final EObject ruleParametrizedFunctionDefinitionRule() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + AntlrDatatypeRuleToken lv_name_1_0 = null; + + EObject lv_definition_3_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:218:2: ( (otherlv_0= 'function' ( (lv_name_1_0= ruleStringOrId ) ) otherlv_2= 'using' ( (lv_definition_3_0= ruleInstanceRule ) ) otherlv_4= ';' ) ) + // InternalGeneratorDSL.g:219:2: (otherlv_0= 'function' ( (lv_name_1_0= ruleStringOrId ) ) otherlv_2= 'using' ( (lv_definition_3_0= ruleInstanceRule ) ) otherlv_4= ';' ) + { + // InternalGeneratorDSL.g:219:2: (otherlv_0= 'function' ( (lv_name_1_0= ruleStringOrId ) ) otherlv_2= 'using' ( (lv_definition_3_0= ruleInstanceRule ) ) otherlv_4= ';' ) + // InternalGeneratorDSL.g:220:3: otherlv_0= 'function' ( (lv_name_1_0= ruleStringOrId ) ) otherlv_2= 'using' ( (lv_definition_3_0= ruleInstanceRule ) ) otherlv_4= ';' + { + otherlv_0=(Token)match(input,14,FOLLOW_9); + + newLeafNode(otherlv_0, grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getFunctionKeyword_0()); + + // InternalGeneratorDSL.g:224:3: ( (lv_name_1_0= ruleStringOrId ) ) + // InternalGeneratorDSL.g:225:4: (lv_name_1_0= ruleStringOrId ) + { + // InternalGeneratorDSL.g:225:4: (lv_name_1_0= ruleStringOrId ) + // InternalGeneratorDSL.g:226:5: lv_name_1_0= ruleStringOrId + { + + newCompositeNode(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); + + pushFollow(FOLLOW_10); + lv_name_1_0=ruleStringOrId(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getParametrizedFunctionDefinitionRuleRule()); + } + set( + current, + "name", + lv_name_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.StringOrId"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,15,FOLLOW_9); + + newLeafNode(otherlv_2, grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getUsingKeyword_2()); + + // InternalGeneratorDSL.g:247:3: ( (lv_definition_3_0= ruleInstanceRule ) ) + // InternalGeneratorDSL.g:248:4: (lv_definition_3_0= ruleInstanceRule ) + { + // InternalGeneratorDSL.g:248:4: (lv_definition_3_0= ruleInstanceRule ) + // InternalGeneratorDSL.g:249:5: lv_definition_3_0= ruleInstanceRule + { + + newCompositeNode(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); + + pushFollow(FOLLOW_8); + lv_definition_3_0=ruleInstanceRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getParametrizedFunctionDefinitionRuleRule()); + } + set( + current, + "definition", + lv_definition_3_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.InstanceRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,13,FOLLOW_2); + + newLeafNode(otherlv_4, grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getSemicolonKeyword_4()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleParametrizedFunctionDefinitionRule" + + + // $ANTLR start "entryRuleGeneratorDefinitionRule" + // InternalGeneratorDSL.g:274:1: entryRuleGeneratorDefinitionRule returns [EObject current=null] : iv_ruleGeneratorDefinitionRule= ruleGeneratorDefinitionRule EOF ; + public final EObject entryRuleGeneratorDefinitionRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleGeneratorDefinitionRule = null; + + + try { + // InternalGeneratorDSL.g:274:64: (iv_ruleGeneratorDefinitionRule= ruleGeneratorDefinitionRule EOF ) + // InternalGeneratorDSL.g:275:2: iv_ruleGeneratorDefinitionRule= ruleGeneratorDefinitionRule EOF + { + newCompositeNode(grammarAccess.getGeneratorDefinitionRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleGeneratorDefinitionRule=ruleGeneratorDefinitionRule(); + + state._fsp--; + + current =iv_ruleGeneratorDefinitionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleGeneratorDefinitionRule" + + + // $ANTLR start "ruleGeneratorDefinitionRule" + // InternalGeneratorDSL.g:281:1: ruleGeneratorDefinitionRule returns [EObject current=null] : (otherlv_0= 'generator' ( (lv_name_1_0= ruleStringOrId ) ) otherlv_2= 'using' ( (lv_definition_3_0= ruleInstanceRule ) ) otherlv_4= ';' ) ; + public final EObject ruleGeneratorDefinitionRule() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + AntlrDatatypeRuleToken lv_name_1_0 = null; + + EObject lv_definition_3_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:287:2: ( (otherlv_0= 'generator' ( (lv_name_1_0= ruleStringOrId ) ) otherlv_2= 'using' ( (lv_definition_3_0= ruleInstanceRule ) ) otherlv_4= ';' ) ) + // InternalGeneratorDSL.g:288:2: (otherlv_0= 'generator' ( (lv_name_1_0= ruleStringOrId ) ) otherlv_2= 'using' ( (lv_definition_3_0= ruleInstanceRule ) ) otherlv_4= ';' ) + { + // InternalGeneratorDSL.g:288:2: (otherlv_0= 'generator' ( (lv_name_1_0= ruleStringOrId ) ) otherlv_2= 'using' ( (lv_definition_3_0= ruleInstanceRule ) ) otherlv_4= ';' ) + // InternalGeneratorDSL.g:289:3: otherlv_0= 'generator' ( (lv_name_1_0= ruleStringOrId ) ) otherlv_2= 'using' ( (lv_definition_3_0= ruleInstanceRule ) ) otherlv_4= ';' + { + otherlv_0=(Token)match(input,16,FOLLOW_9); + + newLeafNode(otherlv_0, grammarAccess.getGeneratorDefinitionRuleAccess().getGeneratorKeyword_0()); + + // InternalGeneratorDSL.g:293:3: ( (lv_name_1_0= ruleStringOrId ) ) + // InternalGeneratorDSL.g:294:4: (lv_name_1_0= ruleStringOrId ) + { + // InternalGeneratorDSL.g:294:4: (lv_name_1_0= ruleStringOrId ) + // InternalGeneratorDSL.g:295:5: lv_name_1_0= ruleStringOrId + { + + newCompositeNode(grammarAccess.getGeneratorDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0()); + + pushFollow(FOLLOW_10); + lv_name_1_0=ruleStringOrId(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getGeneratorDefinitionRuleRule()); + } + set( + current, + "name", + lv_name_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.StringOrId"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,15,FOLLOW_9); + + newLeafNode(otherlv_2, grammarAccess.getGeneratorDefinitionRuleAccess().getUsingKeyword_2()); + + // InternalGeneratorDSL.g:316:3: ( (lv_definition_3_0= ruleInstanceRule ) ) + // InternalGeneratorDSL.g:317:4: (lv_definition_3_0= ruleInstanceRule ) + { + // InternalGeneratorDSL.g:317:4: (lv_definition_3_0= ruleInstanceRule ) + // InternalGeneratorDSL.g:318:5: lv_definition_3_0= ruleInstanceRule + { + + newCompositeNode(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0()); + + pushFollow(FOLLOW_8); + lv_definition_3_0=ruleInstanceRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getGeneratorDefinitionRuleRule()); + } + set( + current, + "definition", + lv_definition_3_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.InstanceRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,13,FOLLOW_2); + + newLeafNode(otherlv_4, grammarAccess.getGeneratorDefinitionRuleAccess().getSemicolonKeyword_4()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleGeneratorDefinitionRule" + + + // $ANTLR start "entryRuleStatementRule" + // InternalGeneratorDSL.g:343:1: entryRuleStatementRule returns [EObject current=null] : iv_ruleStatementRule= ruleStatementRule EOF ; + public final EObject entryRuleStatementRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStatementRule = null; + + + try { + // InternalGeneratorDSL.g:343:54: (iv_ruleStatementRule= ruleStatementRule EOF ) + // InternalGeneratorDSL.g:344:2: iv_ruleStatementRule= ruleStatementRule EOF + { + newCompositeNode(grammarAccess.getStatementRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleStatementRule=ruleStatementRule(); + + state._fsp--; + + current =iv_ruleStatementRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStatementRule" + + + // $ANTLR start "ruleStatementRule" + // InternalGeneratorDSL.g:350:1: ruleStatementRule returns [EObject current=null] : (this_ForStatementRule_0= ruleForStatementRule | this_ApplyStatementRule_1= ruleApplyStatementRule ) ; + public final EObject ruleStatementRule() throws RecognitionException { + EObject current = null; + + EObject this_ForStatementRule_0 = null; + + EObject this_ApplyStatementRule_1 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:356:2: ( (this_ForStatementRule_0= ruleForStatementRule | this_ApplyStatementRule_1= ruleApplyStatementRule ) ) + // InternalGeneratorDSL.g:357:2: (this_ForStatementRule_0= ruleForStatementRule | this_ApplyStatementRule_1= ruleApplyStatementRule ) + { + // InternalGeneratorDSL.g:357:2: (this_ForStatementRule_0= ruleForStatementRule | this_ApplyStatementRule_1= ruleApplyStatementRule ) + int alt5=2; + int LA5_0 = input.LA(1); + + if ( (LA5_0==17) ) { + alt5=1; + } + else if ( (LA5_0==27) ) { + alt5=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 5, 0, input); + + throw nvae; + } + switch (alt5) { + case 1 : + // InternalGeneratorDSL.g:358:3: this_ForStatementRule_0= ruleForStatementRule + { + + newCompositeNode(grammarAccess.getStatementRuleAccess().getForStatementRuleParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_ForStatementRule_0=ruleForStatementRule(); + + state._fsp--; + + + current = this_ForStatementRule_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalGeneratorDSL.g:367:3: this_ApplyStatementRule_1= ruleApplyStatementRule + { + + newCompositeNode(grammarAccess.getStatementRuleAccess().getApplyStatementRuleParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_ApplyStatementRule_1=ruleApplyStatementRule(); + + state._fsp--; + + + current = this_ApplyStatementRule_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStatementRule" + + + // $ANTLR start "entryRuleForStatementRule" + // InternalGeneratorDSL.g:379:1: entryRuleForStatementRule returns [EObject current=null] : iv_ruleForStatementRule= ruleForStatementRule EOF ; + public final EObject entryRuleForStatementRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleForStatementRule = null; + + + try { + // InternalGeneratorDSL.g:379:57: (iv_ruleForStatementRule= ruleForStatementRule EOF ) + // InternalGeneratorDSL.g:380:2: iv_ruleForStatementRule= ruleForStatementRule EOF + { + newCompositeNode(grammarAccess.getForStatementRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleForStatementRule=ruleForStatementRule(); + + state._fsp--; + + current =iv_ruleForStatementRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleForStatementRule" + + + // $ANTLR start "ruleForStatementRule" + // InternalGeneratorDSL.g:386:1: ruleForStatementRule returns [EObject current=null] : (otherlv_0= 'for' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'in' ( (lv_range_3_0= ruleRangeRule ) ) otherlv_4= 'loop' ( (lv_statements_5_0= ruleStatementRule ) )* otherlv_6= 'end' ) ; + public final EObject ruleForStatementRule() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_name_1_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + Token otherlv_6=null; + EObject lv_range_3_0 = null; + + EObject lv_statements_5_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:392:2: ( (otherlv_0= 'for' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'in' ( (lv_range_3_0= ruleRangeRule ) ) otherlv_4= 'loop' ( (lv_statements_5_0= ruleStatementRule ) )* otherlv_6= 'end' ) ) + // InternalGeneratorDSL.g:393:2: (otherlv_0= 'for' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'in' ( (lv_range_3_0= ruleRangeRule ) ) otherlv_4= 'loop' ( (lv_statements_5_0= ruleStatementRule ) )* otherlv_6= 'end' ) + { + // InternalGeneratorDSL.g:393:2: (otherlv_0= 'for' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'in' ( (lv_range_3_0= ruleRangeRule ) ) otherlv_4= 'loop' ( (lv_statements_5_0= ruleStatementRule ) )* otherlv_6= 'end' ) + // InternalGeneratorDSL.g:394:3: otherlv_0= 'for' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= 'in' ( (lv_range_3_0= ruleRangeRule ) ) otherlv_4= 'loop' ( (lv_statements_5_0= ruleStatementRule ) )* otherlv_6= 'end' + { + otherlv_0=(Token)match(input,17,FOLLOW_11); + + newLeafNode(otherlv_0, grammarAccess.getForStatementRuleAccess().getForKeyword_0()); + + // InternalGeneratorDSL.g:398:3: ( (lv_name_1_0= RULE_ID ) ) + // InternalGeneratorDSL.g:399:4: (lv_name_1_0= RULE_ID ) + { + // InternalGeneratorDSL.g:399:4: (lv_name_1_0= RULE_ID ) + // InternalGeneratorDSL.g:400:5: lv_name_1_0= RULE_ID + { + lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_12); + + newLeafNode(lv_name_1_0, grammarAccess.getForStatementRuleAccess().getNameIDTerminalRuleCall_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getForStatementRuleRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_1_0, + "org.eclipse.xtext.common.Terminals.ID"); + + + } + + + } + + otherlv_2=(Token)match(input,18,FOLLOW_13); + + newLeafNode(otherlv_2, grammarAccess.getForStatementRuleAccess().getInKeyword_2()); + + // InternalGeneratorDSL.g:420:3: ( (lv_range_3_0= ruleRangeRule ) ) + // InternalGeneratorDSL.g:421:4: (lv_range_3_0= ruleRangeRule ) + { + // InternalGeneratorDSL.g:421:4: (lv_range_3_0= ruleRangeRule ) + // InternalGeneratorDSL.g:422:5: lv_range_3_0= ruleRangeRule + { + + newCompositeNode(grammarAccess.getForStatementRuleAccess().getRangeRangeRuleParserRuleCall_3_0()); + + pushFollow(FOLLOW_14); + lv_range_3_0=ruleRangeRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getForStatementRuleRule()); + } + set( + current, + "range", + lv_range_3_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.RangeRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_4=(Token)match(input,19,FOLLOW_15); + + newLeafNode(otherlv_4, grammarAccess.getForStatementRuleAccess().getLoopKeyword_4()); + + // InternalGeneratorDSL.g:443:3: ( (lv_statements_5_0= ruleStatementRule ) )* + loop6: + do { + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0==17||LA6_0==27) ) { + alt6=1; + } + + + switch (alt6) { + case 1 : + // InternalGeneratorDSL.g:444:4: (lv_statements_5_0= ruleStatementRule ) + { + // InternalGeneratorDSL.g:444:4: (lv_statements_5_0= ruleStatementRule ) + // InternalGeneratorDSL.g:445:5: lv_statements_5_0= ruleStatementRule + { + + newCompositeNode(grammarAccess.getForStatementRuleAccess().getStatementsStatementRuleParserRuleCall_5_0()); + + pushFollow(FOLLOW_15); + lv_statements_5_0=ruleStatementRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getForStatementRuleRule()); + } + add( + current, + "statements", + lv_statements_5_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.StatementRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop6; + } + } while (true); + + otherlv_6=(Token)match(input,20,FOLLOW_2); + + newLeafNode(otherlv_6, grammarAccess.getForStatementRuleAccess().getEndKeyword_6()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleForStatementRule" + + + // $ANTLR start "entryRuleRangeRule" + // InternalGeneratorDSL.g:470:1: entryRuleRangeRule returns [EObject current=null] : iv_ruleRangeRule= ruleRangeRule EOF ; + public final EObject entryRuleRangeRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleRangeRule = null; + + + try { + // InternalGeneratorDSL.g:470:50: (iv_ruleRangeRule= ruleRangeRule EOF ) + // InternalGeneratorDSL.g:471:2: iv_ruleRangeRule= ruleRangeRule EOF + { + newCompositeNode(grammarAccess.getRangeRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleRangeRule=ruleRangeRule(); + + state._fsp--; + + current =iv_ruleRangeRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleRangeRule" + + + // $ANTLR start "ruleRangeRule" + // InternalGeneratorDSL.g:477:1: ruleRangeRule returns [EObject current=null] : (this_FunctionsRule_0= ruleFunctionsRule | this_GeneratorsRule_1= ruleGeneratorsRule | this_CounterRangeRule_2= ruleCounterRangeRule ) ; + public final EObject ruleRangeRule() throws RecognitionException { + EObject current = null; + + EObject this_FunctionsRule_0 = null; + + EObject this_GeneratorsRule_1 = null; + + EObject this_CounterRangeRule_2 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:483:2: ( (this_FunctionsRule_0= ruleFunctionsRule | this_GeneratorsRule_1= ruleGeneratorsRule | this_CounterRangeRule_2= ruleCounterRangeRule ) ) + // InternalGeneratorDSL.g:484:2: (this_FunctionsRule_0= ruleFunctionsRule | this_GeneratorsRule_1= ruleGeneratorsRule | this_CounterRangeRule_2= ruleCounterRangeRule ) + { + // InternalGeneratorDSL.g:484:2: (this_FunctionsRule_0= ruleFunctionsRule | this_GeneratorsRule_1= ruleGeneratorsRule | this_CounterRangeRule_2= ruleCounterRangeRule ) + int alt7=3; + switch ( input.LA(1) ) { + case 24: + { + alt7=1; + } + break; + case 26: + { + alt7=2; + } + break; + case 21: + { + alt7=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 7, 0, input); + + throw nvae; + } + + switch (alt7) { + case 1 : + // InternalGeneratorDSL.g:485:3: this_FunctionsRule_0= ruleFunctionsRule + { + + newCompositeNode(grammarAccess.getRangeRuleAccess().getFunctionsRuleParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_FunctionsRule_0=ruleFunctionsRule(); + + state._fsp--; + + + current = this_FunctionsRule_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalGeneratorDSL.g:494:3: this_GeneratorsRule_1= ruleGeneratorsRule + { + + newCompositeNode(grammarAccess.getRangeRuleAccess().getGeneratorsRuleParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_GeneratorsRule_1=ruleGeneratorsRule(); + + state._fsp--; + + + current = this_GeneratorsRule_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // InternalGeneratorDSL.g:503:3: this_CounterRangeRule_2= ruleCounterRangeRule + { + + newCompositeNode(grammarAccess.getRangeRuleAccess().getCounterRangeRuleParserRuleCall_2()); + + pushFollow(FOLLOW_2); + this_CounterRangeRule_2=ruleCounterRangeRule(); + + state._fsp--; + + + current = this_CounterRangeRule_2; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleRangeRule" + + + // $ANTLR start "entryRuleCounterRangeRule" + // InternalGeneratorDSL.g:515:1: entryRuleCounterRangeRule returns [EObject current=null] : iv_ruleCounterRangeRule= ruleCounterRangeRule EOF ; + public final EObject entryRuleCounterRangeRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCounterRangeRule = null; + + + try { + // InternalGeneratorDSL.g:515:57: (iv_ruleCounterRangeRule= ruleCounterRangeRule EOF ) + // InternalGeneratorDSL.g:516:2: iv_ruleCounterRangeRule= ruleCounterRangeRule EOF + { + newCompositeNode(grammarAccess.getCounterRangeRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleCounterRangeRule=ruleCounterRangeRule(); + + state._fsp--; + + current =iv_ruleCounterRangeRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCounterRangeRule" + + + // $ANTLR start "ruleCounterRangeRule" + // InternalGeneratorDSL.g:522:1: ruleCounterRangeRule returns [EObject current=null] : (otherlv_0= '[' ( (lv_start_1_0= RULE_INT ) ) otherlv_2= 'to' ( (lv_end_3_0= RULE_INT ) ) otherlv_4= ']' ) ; + public final EObject ruleCounterRangeRule() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_start_1_0=null; + Token otherlv_2=null; + Token lv_end_3_0=null; + Token otherlv_4=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:528:2: ( (otherlv_0= '[' ( (lv_start_1_0= RULE_INT ) ) otherlv_2= 'to' ( (lv_end_3_0= RULE_INT ) ) otherlv_4= ']' ) ) + // InternalGeneratorDSL.g:529:2: (otherlv_0= '[' ( (lv_start_1_0= RULE_INT ) ) otherlv_2= 'to' ( (lv_end_3_0= RULE_INT ) ) otherlv_4= ']' ) + { + // InternalGeneratorDSL.g:529:2: (otherlv_0= '[' ( (lv_start_1_0= RULE_INT ) ) otherlv_2= 'to' ( (lv_end_3_0= RULE_INT ) ) otherlv_4= ']' ) + // InternalGeneratorDSL.g:530:3: otherlv_0= '[' ( (lv_start_1_0= RULE_INT ) ) otherlv_2= 'to' ( (lv_end_3_0= RULE_INT ) ) otherlv_4= ']' + { + otherlv_0=(Token)match(input,21,FOLLOW_16); + + newLeafNode(otherlv_0, grammarAccess.getCounterRangeRuleAccess().getLeftSquareBracketKeyword_0()); + + // InternalGeneratorDSL.g:534:3: ( (lv_start_1_0= RULE_INT ) ) + // InternalGeneratorDSL.g:535:4: (lv_start_1_0= RULE_INT ) + { + // InternalGeneratorDSL.g:535:4: (lv_start_1_0= RULE_INT ) + // InternalGeneratorDSL.g:536:5: lv_start_1_0= RULE_INT + { + lv_start_1_0=(Token)match(input,RULE_INT,FOLLOW_17); + + newLeafNode(lv_start_1_0, grammarAccess.getCounterRangeRuleAccess().getStartINTTerminalRuleCall_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getCounterRangeRuleRule()); + } + setWithLastConsumed( + current, + "start", + lv_start_1_0, + "org.eclipse.xtext.common.Terminals.INT"); + + + } + + + } + + otherlv_2=(Token)match(input,22,FOLLOW_16); + + newLeafNode(otherlv_2, grammarAccess.getCounterRangeRuleAccess().getToKeyword_2()); + + // InternalGeneratorDSL.g:556:3: ( (lv_end_3_0= RULE_INT ) ) + // InternalGeneratorDSL.g:557:4: (lv_end_3_0= RULE_INT ) + { + // InternalGeneratorDSL.g:557:4: (lv_end_3_0= RULE_INT ) + // InternalGeneratorDSL.g:558:5: lv_end_3_0= RULE_INT + { + lv_end_3_0=(Token)match(input,RULE_INT,FOLLOW_18); + + newLeafNode(lv_end_3_0, grammarAccess.getCounterRangeRuleAccess().getEndINTTerminalRuleCall_3_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getCounterRangeRuleRule()); + } + setWithLastConsumed( + current, + "end", + lv_end_3_0, + "org.eclipse.xtext.common.Terminals.INT"); + + + } + + + } + + otherlv_4=(Token)match(input,23,FOLLOW_2); + + newLeafNode(otherlv_4, grammarAccess.getCounterRangeRuleAccess().getRightSquareBracketKeyword_4()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCounterRangeRule" + + + // $ANTLR start "entryRuleFunctionsRule" + // InternalGeneratorDSL.g:582:1: entryRuleFunctionsRule returns [EObject current=null] : iv_ruleFunctionsRule= ruleFunctionsRule EOF ; + public final EObject entryRuleFunctionsRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFunctionsRule = null; + + + try { + // InternalGeneratorDSL.g:582:54: (iv_ruleFunctionsRule= ruleFunctionsRule EOF ) + // InternalGeneratorDSL.g:583:2: iv_ruleFunctionsRule= ruleFunctionsRule EOF + { + newCompositeNode(grammarAccess.getFunctionsRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleFunctionsRule=ruleFunctionsRule(); + + state._fsp--; + + current =iv_ruleFunctionsRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFunctionsRule" + + + // $ANTLR start "ruleFunctionsRule" + // InternalGeneratorDSL.g:589:1: ruleFunctionsRule returns [EObject current=null] : ( () otherlv_1= 'functions' ( (lv_functionReferences_2_0= ruleFunctionReferencesRule ) )? ) ; + public final EObject ruleFunctionsRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_functionReferences_2_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:595:2: ( ( () otherlv_1= 'functions' ( (lv_functionReferences_2_0= ruleFunctionReferencesRule ) )? ) ) + // InternalGeneratorDSL.g:596:2: ( () otherlv_1= 'functions' ( (lv_functionReferences_2_0= ruleFunctionReferencesRule ) )? ) + { + // InternalGeneratorDSL.g:596:2: ( () otherlv_1= 'functions' ( (lv_functionReferences_2_0= ruleFunctionReferencesRule ) )? ) + // InternalGeneratorDSL.g:597:3: () otherlv_1= 'functions' ( (lv_functionReferences_2_0= ruleFunctionReferencesRule ) )? + { + // InternalGeneratorDSL.g:597:3: () + // InternalGeneratorDSL.g:598:4: + { + + current = forceCreateModelElement( + grammarAccess.getFunctionsRuleAccess().getFunctionsAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,24,FOLLOW_19); + + newLeafNode(otherlv_1, grammarAccess.getFunctionsRuleAccess().getFunctionsKeyword_1()); + + // InternalGeneratorDSL.g:608:3: ( (lv_functionReferences_2_0= ruleFunctionReferencesRule ) )? + int alt8=2; + int LA8_0 = input.LA(1); + + if ( (LA8_0==21) ) { + alt8=1; + } + switch (alt8) { + case 1 : + // InternalGeneratorDSL.g:609:4: (lv_functionReferences_2_0= ruleFunctionReferencesRule ) + { + // InternalGeneratorDSL.g:609:4: (lv_functionReferences_2_0= ruleFunctionReferencesRule ) + // InternalGeneratorDSL.g:610:5: lv_functionReferences_2_0= ruleFunctionReferencesRule + { + + newCompositeNode(grammarAccess.getFunctionsRuleAccess().getFunctionReferencesFunctionReferencesRuleParserRuleCall_2_0()); + + pushFollow(FOLLOW_2); + lv_functionReferences_2_0=ruleFunctionReferencesRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFunctionsRuleRule()); + } + set( + current, + "functionReferences", + lv_functionReferences_2_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionReferencesRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFunctionsRule" + + + // $ANTLR start "entryRuleFunctionReferencesRule" + // InternalGeneratorDSL.g:631:1: entryRuleFunctionReferencesRule returns [EObject current=null] : iv_ruleFunctionReferencesRule= ruleFunctionReferencesRule EOF ; + public final EObject entryRuleFunctionReferencesRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFunctionReferencesRule = null; + + + try { + // InternalGeneratorDSL.g:631:63: (iv_ruleFunctionReferencesRule= ruleFunctionReferencesRule EOF ) + // InternalGeneratorDSL.g:632:2: iv_ruleFunctionReferencesRule= ruleFunctionReferencesRule EOF + { + newCompositeNode(grammarAccess.getFunctionReferencesRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleFunctionReferencesRule=ruleFunctionReferencesRule(); + + state._fsp--; + + current =iv_ruleFunctionReferencesRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFunctionReferencesRule" + + + // $ANTLR start "ruleFunctionReferencesRule" + // InternalGeneratorDSL.g:638:1: ruleFunctionReferencesRule returns [EObject current=null] : (otherlv_0= '[' ( (lv_functions_1_0= ruleFunctionDefReferenceRule ) ) (otherlv_2= ',' ( (lv_functions_3_0= ruleFunctionDefReferenceRule ) ) )* otherlv_4= ']' ) ; + public final EObject ruleFunctionReferencesRule() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + EObject lv_functions_1_0 = null; + + EObject lv_functions_3_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:644:2: ( (otherlv_0= '[' ( (lv_functions_1_0= ruleFunctionDefReferenceRule ) ) (otherlv_2= ',' ( (lv_functions_3_0= ruleFunctionDefReferenceRule ) ) )* otherlv_4= ']' ) ) + // InternalGeneratorDSL.g:645:2: (otherlv_0= '[' ( (lv_functions_1_0= ruleFunctionDefReferenceRule ) ) (otherlv_2= ',' ( (lv_functions_3_0= ruleFunctionDefReferenceRule ) ) )* otherlv_4= ']' ) + { + // InternalGeneratorDSL.g:645:2: (otherlv_0= '[' ( (lv_functions_1_0= ruleFunctionDefReferenceRule ) ) (otherlv_2= ',' ( (lv_functions_3_0= ruleFunctionDefReferenceRule ) ) )* otherlv_4= ']' ) + // InternalGeneratorDSL.g:646:3: otherlv_0= '[' ( (lv_functions_1_0= ruleFunctionDefReferenceRule ) ) (otherlv_2= ',' ( (lv_functions_3_0= ruleFunctionDefReferenceRule ) ) )* otherlv_4= ']' + { + otherlv_0=(Token)match(input,21,FOLLOW_20); + + newLeafNode(otherlv_0, grammarAccess.getFunctionReferencesRuleAccess().getLeftSquareBracketKeyword_0()); + + // InternalGeneratorDSL.g:650:3: ( (lv_functions_1_0= ruleFunctionDefReferenceRule ) ) + // InternalGeneratorDSL.g:651:4: (lv_functions_1_0= ruleFunctionDefReferenceRule ) + { + // InternalGeneratorDSL.g:651:4: (lv_functions_1_0= ruleFunctionDefReferenceRule ) + // InternalGeneratorDSL.g:652:5: lv_functions_1_0= ruleFunctionDefReferenceRule + { + + newCompositeNode(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_1_0()); + + pushFollow(FOLLOW_21); + lv_functions_1_0=ruleFunctionDefReferenceRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFunctionReferencesRuleRule()); + } + add( + current, + "functions", + lv_functions_1_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionDefReferenceRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:669:3: (otherlv_2= ',' ( (lv_functions_3_0= ruleFunctionDefReferenceRule ) ) )* + loop9: + do { + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0==25) ) { + alt9=1; + } + + + switch (alt9) { + case 1 : + // InternalGeneratorDSL.g:670:4: otherlv_2= ',' ( (lv_functions_3_0= ruleFunctionDefReferenceRule ) ) + { + otherlv_2=(Token)match(input,25,FOLLOW_20); + + newLeafNode(otherlv_2, grammarAccess.getFunctionReferencesRuleAccess().getCommaKeyword_2_0()); + + // InternalGeneratorDSL.g:674:4: ( (lv_functions_3_0= ruleFunctionDefReferenceRule ) ) + // InternalGeneratorDSL.g:675:5: (lv_functions_3_0= ruleFunctionDefReferenceRule ) + { + // InternalGeneratorDSL.g:675:5: (lv_functions_3_0= ruleFunctionDefReferenceRule ) + // InternalGeneratorDSL.g:676:6: lv_functions_3_0= ruleFunctionDefReferenceRule + { + + newCompositeNode(grammarAccess.getFunctionReferencesRuleAccess().getFunctionsFunctionDefReferenceRuleParserRuleCall_2_1_0()); + + pushFollow(FOLLOW_21); + lv_functions_3_0=ruleFunctionDefReferenceRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getFunctionReferencesRuleRule()); + } + add( + current, + "functions", + lv_functions_3_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionDefReferenceRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop9; + } + } while (true); + + otherlv_4=(Token)match(input,23,FOLLOW_2); + + newLeafNode(otherlv_4, grammarAccess.getFunctionReferencesRuleAccess().getRightSquareBracketKeyword_3()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFunctionReferencesRule" + + + // $ANTLR start "entryRuleGeneratorsRule" + // InternalGeneratorDSL.g:702:1: entryRuleGeneratorsRule returns [EObject current=null] : iv_ruleGeneratorsRule= ruleGeneratorsRule EOF ; + public final EObject entryRuleGeneratorsRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleGeneratorsRule = null; + + + try { + // InternalGeneratorDSL.g:702:55: (iv_ruleGeneratorsRule= ruleGeneratorsRule EOF ) + // InternalGeneratorDSL.g:703:2: iv_ruleGeneratorsRule= ruleGeneratorsRule EOF + { + newCompositeNode(grammarAccess.getGeneratorsRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleGeneratorsRule=ruleGeneratorsRule(); + + state._fsp--; + + current =iv_ruleGeneratorsRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleGeneratorsRule" + + + // $ANTLR start "ruleGeneratorsRule" + // InternalGeneratorDSL.g:709:1: ruleGeneratorsRule returns [EObject current=null] : ( () otherlv_1= 'generators' ( (lv_generatorReferences_2_0= ruleGeneratorReferencesRule ) )? ) ; + public final EObject ruleGeneratorsRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_generatorReferences_2_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:715:2: ( ( () otherlv_1= 'generators' ( (lv_generatorReferences_2_0= ruleGeneratorReferencesRule ) )? ) ) + // InternalGeneratorDSL.g:716:2: ( () otherlv_1= 'generators' ( (lv_generatorReferences_2_0= ruleGeneratorReferencesRule ) )? ) + { + // InternalGeneratorDSL.g:716:2: ( () otherlv_1= 'generators' ( (lv_generatorReferences_2_0= ruleGeneratorReferencesRule ) )? ) + // InternalGeneratorDSL.g:717:3: () otherlv_1= 'generators' ( (lv_generatorReferences_2_0= ruleGeneratorReferencesRule ) )? + { + // InternalGeneratorDSL.g:717:3: () + // InternalGeneratorDSL.g:718:4: + { + + current = forceCreateModelElement( + grammarAccess.getGeneratorsRuleAccess().getGeneratorsAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,26,FOLLOW_19); + + newLeafNode(otherlv_1, grammarAccess.getGeneratorsRuleAccess().getGeneratorsKeyword_1()); + + // InternalGeneratorDSL.g:728:3: ( (lv_generatorReferences_2_0= ruleGeneratorReferencesRule ) )? + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==21) ) { + alt10=1; + } + switch (alt10) { + case 1 : + // InternalGeneratorDSL.g:729:4: (lv_generatorReferences_2_0= ruleGeneratorReferencesRule ) + { + // InternalGeneratorDSL.g:729:4: (lv_generatorReferences_2_0= ruleGeneratorReferencesRule ) + // InternalGeneratorDSL.g:730:5: lv_generatorReferences_2_0= ruleGeneratorReferencesRule + { + + newCompositeNode(grammarAccess.getGeneratorsRuleAccess().getGeneratorReferencesGeneratorReferencesRuleParserRuleCall_2_0()); + + pushFollow(FOLLOW_2); + lv_generatorReferences_2_0=ruleGeneratorReferencesRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getGeneratorsRuleRule()); + } + set( + current, + "generatorReferences", + lv_generatorReferences_2_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.GeneratorReferencesRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleGeneratorsRule" + + + // $ANTLR start "entryRuleGeneratorReferencesRule" + // InternalGeneratorDSL.g:751:1: entryRuleGeneratorReferencesRule returns [EObject current=null] : iv_ruleGeneratorReferencesRule= ruleGeneratorReferencesRule EOF ; + public final EObject entryRuleGeneratorReferencesRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleGeneratorReferencesRule = null; + + + try { + // InternalGeneratorDSL.g:751:64: (iv_ruleGeneratorReferencesRule= ruleGeneratorReferencesRule EOF ) + // InternalGeneratorDSL.g:752:2: iv_ruleGeneratorReferencesRule= ruleGeneratorReferencesRule EOF + { + newCompositeNode(grammarAccess.getGeneratorReferencesRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleGeneratorReferencesRule=ruleGeneratorReferencesRule(); + + state._fsp--; + + current =iv_ruleGeneratorReferencesRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleGeneratorReferencesRule" + + + // $ANTLR start "ruleGeneratorReferencesRule" + // InternalGeneratorDSL.g:758:1: ruleGeneratorReferencesRule returns [EObject current=null] : (otherlv_0= '[' ( ( ruleStringOrId ) ) (otherlv_2= ',' ( ( ruleStringOrId ) ) )* otherlv_4= ']' ) ; + public final EObject ruleGeneratorReferencesRule() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + Token otherlv_4=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:764:2: ( (otherlv_0= '[' ( ( ruleStringOrId ) ) (otherlv_2= ',' ( ( ruleStringOrId ) ) )* otherlv_4= ']' ) ) + // InternalGeneratorDSL.g:765:2: (otherlv_0= '[' ( ( ruleStringOrId ) ) (otherlv_2= ',' ( ( ruleStringOrId ) ) )* otherlv_4= ']' ) + { + // InternalGeneratorDSL.g:765:2: (otherlv_0= '[' ( ( ruleStringOrId ) ) (otherlv_2= ',' ( ( ruleStringOrId ) ) )* otherlv_4= ']' ) + // InternalGeneratorDSL.g:766:3: otherlv_0= '[' ( ( ruleStringOrId ) ) (otherlv_2= ',' ( ( ruleStringOrId ) ) )* otherlv_4= ']' + { + otherlv_0=(Token)match(input,21,FOLLOW_9); + + newLeafNode(otherlv_0, grammarAccess.getGeneratorReferencesRuleAccess().getLeftSquareBracketKeyword_0()); + + // InternalGeneratorDSL.g:770:3: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:771:4: ( ruleStringOrId ) + { + // InternalGeneratorDSL.g:771:4: ( ruleStringOrId ) + // InternalGeneratorDSL.g:772:5: ruleStringOrId + { + + if (current==null) { + current = createModelElement(grammarAccess.getGeneratorReferencesRuleRule()); + } + + + newCompositeNode(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_1_0()); + + pushFollow(FOLLOW_21); + ruleStringOrId(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:786:3: (otherlv_2= ',' ( ( ruleStringOrId ) ) )* + loop11: + do { + int alt11=2; + int LA11_0 = input.LA(1); + + if ( (LA11_0==25) ) { + alt11=1; + } + + + switch (alt11) { + case 1 : + // InternalGeneratorDSL.g:787:4: otherlv_2= ',' ( ( ruleStringOrId ) ) + { + otherlv_2=(Token)match(input,25,FOLLOW_9); + + newLeafNode(otherlv_2, grammarAccess.getGeneratorReferencesRuleAccess().getCommaKeyword_2_0()); + + // InternalGeneratorDSL.g:791:4: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:792:5: ( ruleStringOrId ) + { + // InternalGeneratorDSL.g:792:5: ( ruleStringOrId ) + // InternalGeneratorDSL.g:793:6: ruleStringOrId + { + + if (current==null) { + current = createModelElement(grammarAccess.getGeneratorReferencesRuleRule()); + } + + + newCompositeNode(grammarAccess.getGeneratorReferencesRuleAccess().getGeneratorsGeneratorDefinitionCrossReference_2_1_0()); + + pushFollow(FOLLOW_21); + ruleStringOrId(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop11; + } + } while (true); + + otherlv_4=(Token)match(input,23,FOLLOW_2); + + newLeafNode(otherlv_4, grammarAccess.getGeneratorReferencesRuleAccess().getRightSquareBracketKeyword_3()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleGeneratorReferencesRule" + + + // $ANTLR start "entryRuleApplyStatementRule" + // InternalGeneratorDSL.g:816:1: entryRuleApplyStatementRule returns [EObject current=null] : iv_ruleApplyStatementRule= ruleApplyStatementRule EOF ; + public final EObject entryRuleApplyStatementRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleApplyStatementRule = null; + + + try { + // InternalGeneratorDSL.g:816:59: (iv_ruleApplyStatementRule= ruleApplyStatementRule EOF ) + // InternalGeneratorDSL.g:817:2: iv_ruleApplyStatementRule= ruleApplyStatementRule EOF + { + newCompositeNode(grammarAccess.getApplyStatementRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleApplyStatementRule=ruleApplyStatementRule(); + + state._fsp--; + + current =iv_ruleApplyStatementRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleApplyStatementRule" + + + // $ANTLR start "ruleApplyStatementRule" + // InternalGeneratorDSL.g:823:1: ruleApplyStatementRule returns [EObject current=null] : (otherlv_0= 'write' ( (lv_file_1_0= RULE_STRING ) ) otherlv_2= 'with' ( (lv_count_3_0= RULE_INT ) ) otherlv_4= 'samples' otherlv_5= 'from' otherlv_6= 'applying' ( (lv_function_7_0= ruleFunctionReferenceRule ) ) otherlv_8= 'on' ( (lv_generator_9_0= ruleGeneratorReferenceRule ) ) otherlv_10= ';' ) ; + public final EObject ruleApplyStatementRule() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token lv_file_1_0=null; + Token otherlv_2=null; + Token lv_count_3_0=null; + Token otherlv_4=null; + Token otherlv_5=null; + Token otherlv_6=null; + Token otherlv_8=null; + Token otherlv_10=null; + EObject lv_function_7_0 = null; + + EObject lv_generator_9_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:829:2: ( (otherlv_0= 'write' ( (lv_file_1_0= RULE_STRING ) ) otherlv_2= 'with' ( (lv_count_3_0= RULE_INT ) ) otherlv_4= 'samples' otherlv_5= 'from' otherlv_6= 'applying' ( (lv_function_7_0= ruleFunctionReferenceRule ) ) otherlv_8= 'on' ( (lv_generator_9_0= ruleGeneratorReferenceRule ) ) otherlv_10= ';' ) ) + // InternalGeneratorDSL.g:830:2: (otherlv_0= 'write' ( (lv_file_1_0= RULE_STRING ) ) otherlv_2= 'with' ( (lv_count_3_0= RULE_INT ) ) otherlv_4= 'samples' otherlv_5= 'from' otherlv_6= 'applying' ( (lv_function_7_0= ruleFunctionReferenceRule ) ) otherlv_8= 'on' ( (lv_generator_9_0= ruleGeneratorReferenceRule ) ) otherlv_10= ';' ) + { + // InternalGeneratorDSL.g:830:2: (otherlv_0= 'write' ( (lv_file_1_0= RULE_STRING ) ) otherlv_2= 'with' ( (lv_count_3_0= RULE_INT ) ) otherlv_4= 'samples' otherlv_5= 'from' otherlv_6= 'applying' ( (lv_function_7_0= ruleFunctionReferenceRule ) ) otherlv_8= 'on' ( (lv_generator_9_0= ruleGeneratorReferenceRule ) ) otherlv_10= ';' ) + // InternalGeneratorDSL.g:831:3: otherlv_0= 'write' ( (lv_file_1_0= RULE_STRING ) ) otherlv_2= 'with' ( (lv_count_3_0= RULE_INT ) ) otherlv_4= 'samples' otherlv_5= 'from' otherlv_6= 'applying' ( (lv_function_7_0= ruleFunctionReferenceRule ) ) otherlv_8= 'on' ( (lv_generator_9_0= ruleGeneratorReferenceRule ) ) otherlv_10= ';' + { + otherlv_0=(Token)match(input,27,FOLLOW_7); + + newLeafNode(otherlv_0, grammarAccess.getApplyStatementRuleAccess().getWriteKeyword_0()); + + // InternalGeneratorDSL.g:835:3: ( (lv_file_1_0= RULE_STRING ) ) + // InternalGeneratorDSL.g:836:4: (lv_file_1_0= RULE_STRING ) + { + // InternalGeneratorDSL.g:836:4: (lv_file_1_0= RULE_STRING ) + // InternalGeneratorDSL.g:837:5: lv_file_1_0= RULE_STRING + { + lv_file_1_0=(Token)match(input,RULE_STRING,FOLLOW_22); + + newLeafNode(lv_file_1_0, grammarAccess.getApplyStatementRuleAccess().getFileSTRINGTerminalRuleCall_1_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getApplyStatementRuleRule()); + } + setWithLastConsumed( + current, + "file", + lv_file_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.STRING"); + + + } + + + } + + otherlv_2=(Token)match(input,28,FOLLOW_16); + + newLeafNode(otherlv_2, grammarAccess.getApplyStatementRuleAccess().getWithKeyword_2()); + + // InternalGeneratorDSL.g:857:3: ( (lv_count_3_0= RULE_INT ) ) + // InternalGeneratorDSL.g:858:4: (lv_count_3_0= RULE_INT ) + { + // InternalGeneratorDSL.g:858:4: (lv_count_3_0= RULE_INT ) + // InternalGeneratorDSL.g:859:5: lv_count_3_0= RULE_INT + { + lv_count_3_0=(Token)match(input,RULE_INT,FOLLOW_23); + + newLeafNode(lv_count_3_0, grammarAccess.getApplyStatementRuleAccess().getCountINTTerminalRuleCall_3_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getApplyStatementRuleRule()); + } + setWithLastConsumed( + current, + "count", + lv_count_3_0, + "org.eclipse.xtext.common.Terminals.INT"); + + + } + + + } + + otherlv_4=(Token)match(input,29,FOLLOW_24); + + newLeafNode(otherlv_4, grammarAccess.getApplyStatementRuleAccess().getSamplesKeyword_4()); + + otherlv_5=(Token)match(input,30,FOLLOW_25); + + newLeafNode(otherlv_5, grammarAccess.getApplyStatementRuleAccess().getFromKeyword_5()); + + otherlv_6=(Token)match(input,31,FOLLOW_26); + + newLeafNode(otherlv_6, grammarAccess.getApplyStatementRuleAccess().getApplyingKeyword_6()); + + // InternalGeneratorDSL.g:887:3: ( (lv_function_7_0= ruleFunctionReferenceRule ) ) + // InternalGeneratorDSL.g:888:4: (lv_function_7_0= ruleFunctionReferenceRule ) + { + // InternalGeneratorDSL.g:888:4: (lv_function_7_0= ruleFunctionReferenceRule ) + // InternalGeneratorDSL.g:889:5: lv_function_7_0= ruleFunctionReferenceRule + { + + newCompositeNode(grammarAccess.getApplyStatementRuleAccess().getFunctionFunctionReferenceRuleParserRuleCall_7_0()); + + pushFollow(FOLLOW_27); + lv_function_7_0=ruleFunctionReferenceRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getApplyStatementRuleRule()); + } + set( + current, + "function", + lv_function_7_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionReferenceRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_8=(Token)match(input,32,FOLLOW_28); + + newLeafNode(otherlv_8, grammarAccess.getApplyStatementRuleAccess().getOnKeyword_8()); + + // InternalGeneratorDSL.g:910:3: ( (lv_generator_9_0= ruleGeneratorReferenceRule ) ) + // InternalGeneratorDSL.g:911:4: (lv_generator_9_0= ruleGeneratorReferenceRule ) + { + // InternalGeneratorDSL.g:911:4: (lv_generator_9_0= ruleGeneratorReferenceRule ) + // InternalGeneratorDSL.g:912:5: lv_generator_9_0= ruleGeneratorReferenceRule + { + + newCompositeNode(grammarAccess.getApplyStatementRuleAccess().getGeneratorGeneratorReferenceRuleParserRuleCall_9_0()); + + pushFollow(FOLLOW_8); + lv_generator_9_0=ruleGeneratorReferenceRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getApplyStatementRuleRule()); + } + set( + current, + "generator", + lv_generator_9_0, + "de.evoal.languages.model.generator.dsl.GeneratorDSL.GeneratorReferenceRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_10=(Token)match(input,13,FOLLOW_2); + + newLeafNode(otherlv_10, grammarAccess.getApplyStatementRuleAccess().getSemicolonKeyword_10()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleApplyStatementRule" + + + // $ANTLR start "entryRuleGeneratorReferenceRule" + // InternalGeneratorDSL.g:937:1: entryRuleGeneratorReferenceRule returns [EObject current=null] : iv_ruleGeneratorReferenceRule= ruleGeneratorReferenceRule EOF ; + public final EObject entryRuleGeneratorReferenceRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleGeneratorReferenceRule = null; + + + try { + // InternalGeneratorDSL.g:937:63: (iv_ruleGeneratorReferenceRule= ruleGeneratorReferenceRule EOF ) + // InternalGeneratorDSL.g:938:2: iv_ruleGeneratorReferenceRule= ruleGeneratorReferenceRule EOF + { + newCompositeNode(grammarAccess.getGeneratorReferenceRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleGeneratorReferenceRule=ruleGeneratorReferenceRule(); + + state._fsp--; + + current =iv_ruleGeneratorReferenceRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleGeneratorReferenceRule" + + + // $ANTLR start "ruleGeneratorReferenceRule" + // InternalGeneratorDSL.g:944:1: ruleGeneratorReferenceRule returns [EObject current=null] : (this_GeneratorDefinitionReferenceRule_0= ruleGeneratorDefinitionReferenceRule | this_LoopVariableReference_1= ruleLoopVariableReference ) ; + public final EObject ruleGeneratorReferenceRule() throws RecognitionException { + EObject current = null; + + EObject this_GeneratorDefinitionReferenceRule_0 = null; + + EObject this_LoopVariableReference_1 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:950:2: ( (this_GeneratorDefinitionReferenceRule_0= ruleGeneratorDefinitionReferenceRule | this_LoopVariableReference_1= ruleLoopVariableReference ) ) + // InternalGeneratorDSL.g:951:2: (this_GeneratorDefinitionReferenceRule_0= ruleGeneratorDefinitionReferenceRule | this_LoopVariableReference_1= ruleLoopVariableReference ) + { + // InternalGeneratorDSL.g:951:2: (this_GeneratorDefinitionReferenceRule_0= ruleGeneratorDefinitionReferenceRule | this_LoopVariableReference_1= ruleLoopVariableReference ) + int alt12=2; + int LA12_0 = input.LA(1); + + if ( (LA12_0==16) ) { + alt12=1; + } + else if ( (LA12_0==RULE_ID) ) { + alt12=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 12, 0, input); + + throw nvae; + } + switch (alt12) { + case 1 : + // InternalGeneratorDSL.g:952:3: this_GeneratorDefinitionReferenceRule_0= ruleGeneratorDefinitionReferenceRule + { + + newCompositeNode(grammarAccess.getGeneratorReferenceRuleAccess().getGeneratorDefinitionReferenceRuleParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_GeneratorDefinitionReferenceRule_0=ruleGeneratorDefinitionReferenceRule(); + + state._fsp--; + + + current = this_GeneratorDefinitionReferenceRule_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalGeneratorDSL.g:961:3: this_LoopVariableReference_1= ruleLoopVariableReference + { + + newCompositeNode(grammarAccess.getGeneratorReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_LoopVariableReference_1=ruleLoopVariableReference(); + + state._fsp--; + + + current = this_LoopVariableReference_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleGeneratorReferenceRule" + + + // $ANTLR start "entryRuleGeneratorDefinitionReferenceRule" + // InternalGeneratorDSL.g:973:1: entryRuleGeneratorDefinitionReferenceRule returns [EObject current=null] : iv_ruleGeneratorDefinitionReferenceRule= ruleGeneratorDefinitionReferenceRule EOF ; + public final EObject entryRuleGeneratorDefinitionReferenceRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleGeneratorDefinitionReferenceRule = null; + + + try { + // InternalGeneratorDSL.g:973:73: (iv_ruleGeneratorDefinitionReferenceRule= ruleGeneratorDefinitionReferenceRule EOF ) + // InternalGeneratorDSL.g:974:2: iv_ruleGeneratorDefinitionReferenceRule= ruleGeneratorDefinitionReferenceRule EOF + { + newCompositeNode(grammarAccess.getGeneratorDefinitionReferenceRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleGeneratorDefinitionReferenceRule=ruleGeneratorDefinitionReferenceRule(); + + state._fsp--; + + current =iv_ruleGeneratorDefinitionReferenceRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleGeneratorDefinitionReferenceRule" + + + // $ANTLR start "ruleGeneratorDefinitionReferenceRule" + // InternalGeneratorDSL.g:980:1: ruleGeneratorDefinitionReferenceRule returns [EObject current=null] : (otherlv_0= 'generator' ( ( ruleStringOrId ) ) ) ; + public final EObject ruleGeneratorDefinitionReferenceRule() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:986:2: ( (otherlv_0= 'generator' ( ( ruleStringOrId ) ) ) ) + // InternalGeneratorDSL.g:987:2: (otherlv_0= 'generator' ( ( ruleStringOrId ) ) ) + { + // InternalGeneratorDSL.g:987:2: (otherlv_0= 'generator' ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:988:3: otherlv_0= 'generator' ( ( ruleStringOrId ) ) + { + otherlv_0=(Token)match(input,16,FOLLOW_9); + + newLeafNode(otherlv_0, grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getGeneratorKeyword_0()); + + // InternalGeneratorDSL.g:992:3: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:993:4: ( ruleStringOrId ) + { + // InternalGeneratorDSL.g:993:4: ( ruleStringOrId ) + // InternalGeneratorDSL.g:994:5: ruleStringOrId + { + + if (current==null) { + current = createModelElement(grammarAccess.getGeneratorDefinitionReferenceRuleRule()); + } + + + newCompositeNode(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionGeneratorDefinitionCrossReference_1_0()); + + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleGeneratorDefinitionReferenceRule" + + + // $ANTLR start "entryRuleFunctionReferenceRule" + // InternalGeneratorDSL.g:1012:1: entryRuleFunctionReferenceRule returns [EObject current=null] : iv_ruleFunctionReferenceRule= ruleFunctionReferenceRule EOF ; + public final EObject entryRuleFunctionReferenceRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFunctionReferenceRule = null; + + + try { + // InternalGeneratorDSL.g:1012:62: (iv_ruleFunctionReferenceRule= ruleFunctionReferenceRule EOF ) + // InternalGeneratorDSL.g:1013:2: iv_ruleFunctionReferenceRule= ruleFunctionReferenceRule EOF + { + newCompositeNode(grammarAccess.getFunctionReferenceRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleFunctionReferenceRule=ruleFunctionReferenceRule(); + + state._fsp--; + + current =iv_ruleFunctionReferenceRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFunctionReferenceRule" + + + // $ANTLR start "ruleFunctionReferenceRule" + // InternalGeneratorDSL.g:1019:1: ruleFunctionReferenceRule returns [EObject current=null] : (this_FunctionDefReferenceRule_0= ruleFunctionDefReferenceRule | this_LoopVariableReference_1= ruleLoopVariableReference ) ; + public final EObject ruleFunctionReferenceRule() throws RecognitionException { + EObject current = null; + + EObject this_FunctionDefReferenceRule_0 = null; + + EObject this_LoopVariableReference_1 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1025:2: ( (this_FunctionDefReferenceRule_0= ruleFunctionDefReferenceRule | this_LoopVariableReference_1= ruleLoopVariableReference ) ) + // InternalGeneratorDSL.g:1026:2: (this_FunctionDefReferenceRule_0= ruleFunctionDefReferenceRule | this_LoopVariableReference_1= ruleLoopVariableReference ) + { + // InternalGeneratorDSL.g:1026:2: (this_FunctionDefReferenceRule_0= ruleFunctionDefReferenceRule | this_LoopVariableReference_1= ruleLoopVariableReference ) + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0==14||LA13_0==33) ) { + alt13=1; + } + else if ( (LA13_0==RULE_ID) ) { + alt13=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 13, 0, input); + + throw nvae; + } + switch (alt13) { + case 1 : + // InternalGeneratorDSL.g:1027:3: this_FunctionDefReferenceRule_0= ruleFunctionDefReferenceRule + { + + newCompositeNode(grammarAccess.getFunctionReferenceRuleAccess().getFunctionDefReferenceRuleParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_FunctionDefReferenceRule_0=ruleFunctionDefReferenceRule(); + + state._fsp--; + + + current = this_FunctionDefReferenceRule_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1036:3: this_LoopVariableReference_1= ruleLoopVariableReference + { + + newCompositeNode(grammarAccess.getFunctionReferenceRuleAccess().getLoopVariableReferenceParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_LoopVariableReference_1=ruleLoopVariableReference(); + + state._fsp--; + + + current = this_LoopVariableReference_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFunctionReferenceRule" + + + // $ANTLR start "entryRuleFunctionDefReferenceRule" + // InternalGeneratorDSL.g:1048:1: entryRuleFunctionDefReferenceRule returns [EObject current=null] : iv_ruleFunctionDefReferenceRule= ruleFunctionDefReferenceRule EOF ; + public final EObject entryRuleFunctionDefReferenceRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFunctionDefReferenceRule = null; + + + try { + // InternalGeneratorDSL.g:1048:65: (iv_ruleFunctionDefReferenceRule= ruleFunctionDefReferenceRule EOF ) + // InternalGeneratorDSL.g:1049:2: iv_ruleFunctionDefReferenceRule= ruleFunctionDefReferenceRule EOF + { + newCompositeNode(grammarAccess.getFunctionDefReferenceRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleFunctionDefReferenceRule=ruleFunctionDefReferenceRule(); + + state._fsp--; + + current =iv_ruleFunctionDefReferenceRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFunctionDefReferenceRule" + + + // $ANTLR start "ruleFunctionDefReferenceRule" + // InternalGeneratorDSL.g:1055:1: ruleFunctionDefReferenceRule returns [EObject current=null] : (this_FunctionDefinitionReferenceRule_0= ruleFunctionDefinitionReferenceRule | this_ParametrizedFunctionDefinitionReferenceRule_1= ruleParametrizedFunctionDefinitionReferenceRule ) ; + public final EObject ruleFunctionDefReferenceRule() throws RecognitionException { + EObject current = null; + + EObject this_FunctionDefinitionReferenceRule_0 = null; + + EObject this_ParametrizedFunctionDefinitionReferenceRule_1 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1061:2: ( (this_FunctionDefinitionReferenceRule_0= ruleFunctionDefinitionReferenceRule | this_ParametrizedFunctionDefinitionReferenceRule_1= ruleParametrizedFunctionDefinitionReferenceRule ) ) + // InternalGeneratorDSL.g:1062:2: (this_FunctionDefinitionReferenceRule_0= ruleFunctionDefinitionReferenceRule | this_ParametrizedFunctionDefinitionReferenceRule_1= ruleParametrizedFunctionDefinitionReferenceRule ) + { + // InternalGeneratorDSL.g:1062:2: (this_FunctionDefinitionReferenceRule_0= ruleFunctionDefinitionReferenceRule | this_ParametrizedFunctionDefinitionReferenceRule_1= ruleParametrizedFunctionDefinitionReferenceRule ) + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0==33) ) { + alt14=1; + } + else if ( (LA14_0==14) ) { + alt14=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 14, 0, input); + + throw nvae; + } + switch (alt14) { + case 1 : + // InternalGeneratorDSL.g:1063:3: this_FunctionDefinitionReferenceRule_0= ruleFunctionDefinitionReferenceRule + { + + newCompositeNode(grammarAccess.getFunctionDefReferenceRuleAccess().getFunctionDefinitionReferenceRuleParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_FunctionDefinitionReferenceRule_0=ruleFunctionDefinitionReferenceRule(); + + state._fsp--; + + + current = this_FunctionDefinitionReferenceRule_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1072:3: this_ParametrizedFunctionDefinitionReferenceRule_1= ruleParametrizedFunctionDefinitionReferenceRule + { + + newCompositeNode(grammarAccess.getFunctionDefReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceRuleParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_ParametrizedFunctionDefinitionReferenceRule_1=ruleParametrizedFunctionDefinitionReferenceRule(); + + state._fsp--; + + + current = this_ParametrizedFunctionDefinitionReferenceRule_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFunctionDefReferenceRule" + + + // $ANTLR start "entryRuleLoopVariableReference" + // InternalGeneratorDSL.g:1084:1: entryRuleLoopVariableReference returns [EObject current=null] : iv_ruleLoopVariableReference= ruleLoopVariableReference EOF ; + public final EObject entryRuleLoopVariableReference() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLoopVariableReference = null; + + + try { + // InternalGeneratorDSL.g:1084:62: (iv_ruleLoopVariableReference= ruleLoopVariableReference EOF ) + // InternalGeneratorDSL.g:1085:2: iv_ruleLoopVariableReference= ruleLoopVariableReference EOF + { + newCompositeNode(grammarAccess.getLoopVariableReferenceRule()); + pushFollow(FOLLOW_1); + iv_ruleLoopVariableReference=ruleLoopVariableReference(); + + state._fsp--; + + current =iv_ruleLoopVariableReference; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLoopVariableReference" + + + // $ANTLR start "ruleLoopVariableReference" + // InternalGeneratorDSL.g:1091:1: ruleLoopVariableReference returns [EObject current=null] : ( () ( (otherlv_1= RULE_ID ) ) ) ; + public final EObject ruleLoopVariableReference() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1097:2: ( ( () ( (otherlv_1= RULE_ID ) ) ) ) + // InternalGeneratorDSL.g:1098:2: ( () ( (otherlv_1= RULE_ID ) ) ) + { + // InternalGeneratorDSL.g:1098:2: ( () ( (otherlv_1= RULE_ID ) ) ) + // InternalGeneratorDSL.g:1099:3: () ( (otherlv_1= RULE_ID ) ) + { + // InternalGeneratorDSL.g:1099:3: () + // InternalGeneratorDSL.g:1100:4: + { + + current = forceCreateModelElement( + grammarAccess.getLoopVariableReferenceAccess().getLoopVariableAction_0(), + current); + + + } + + // InternalGeneratorDSL.g:1106:3: ( (otherlv_1= RULE_ID ) ) + // InternalGeneratorDSL.g:1107:4: (otherlv_1= RULE_ID ) + { + // InternalGeneratorDSL.g:1107:4: (otherlv_1= RULE_ID ) + // InternalGeneratorDSL.g:1108:5: otherlv_1= RULE_ID + { + + if (current==null) { + current = createModelElement(grammarAccess.getLoopVariableReferenceRule()); + } + + otherlv_1=(Token)match(input,RULE_ID,FOLLOW_2); + + newLeafNode(otherlv_1, grammarAccess.getLoopVariableReferenceAccess().getDefinitionForStatementCrossReference_1_0()); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLoopVariableReference" + + + // $ANTLR start "entryRuleFunctionDefinitionReferenceRule" + // InternalGeneratorDSL.g:1123:1: entryRuleFunctionDefinitionReferenceRule returns [EObject current=null] : iv_ruleFunctionDefinitionReferenceRule= ruleFunctionDefinitionReferenceRule EOF ; + public final EObject entryRuleFunctionDefinitionReferenceRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFunctionDefinitionReferenceRule = null; + + + try { + // InternalGeneratorDSL.g:1123:72: (iv_ruleFunctionDefinitionReferenceRule= ruleFunctionDefinitionReferenceRule EOF ) + // InternalGeneratorDSL.g:1124:2: iv_ruleFunctionDefinitionReferenceRule= ruleFunctionDefinitionReferenceRule EOF + { + newCompositeNode(grammarAccess.getFunctionDefinitionReferenceRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleFunctionDefinitionReferenceRule=ruleFunctionDefinitionReferenceRule(); + + state._fsp--; + + current =iv_ruleFunctionDefinitionReferenceRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFunctionDefinitionReferenceRule" + + + // $ANTLR start "ruleFunctionDefinitionReferenceRule" + // InternalGeneratorDSL.g:1130:1: ruleFunctionDefinitionReferenceRule returns [EObject current=null] : ( () otherlv_1= 'definition' ( ( ruleStringOrId ) ) ) ; + public final EObject ruleFunctionDefinitionReferenceRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1136:2: ( ( () otherlv_1= 'definition' ( ( ruleStringOrId ) ) ) ) + // InternalGeneratorDSL.g:1137:2: ( () otherlv_1= 'definition' ( ( ruleStringOrId ) ) ) + { + // InternalGeneratorDSL.g:1137:2: ( () otherlv_1= 'definition' ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:1138:3: () otherlv_1= 'definition' ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:1138:3: () + // InternalGeneratorDSL.g:1139:4: + { + + current = forceCreateModelElement( + grammarAccess.getFunctionDefinitionReferenceRuleAccess().getFunctionDefinitionReferenceAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,33,FOLLOW_9); + + newLeafNode(otherlv_1, grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionKeyword_1()); + + // InternalGeneratorDSL.g:1149:3: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:1150:4: ( ruleStringOrId ) + { + // InternalGeneratorDSL.g:1150:4: ( ruleStringOrId ) + // InternalGeneratorDSL.g:1151:5: ruleStringOrId + { + + if (current==null) { + current = createModelElement(grammarAccess.getFunctionDefinitionReferenceRuleRule()); + } + + + newCompositeNode(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionCrossReference_2_0()); + + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFunctionDefinitionReferenceRule" + + + // $ANTLR start "entryRuleParametrizedFunctionDefinitionReferenceRule" + // InternalGeneratorDSL.g:1169:1: entryRuleParametrizedFunctionDefinitionReferenceRule returns [EObject current=null] : iv_ruleParametrizedFunctionDefinitionReferenceRule= ruleParametrizedFunctionDefinitionReferenceRule EOF ; + public final EObject entryRuleParametrizedFunctionDefinitionReferenceRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleParametrizedFunctionDefinitionReferenceRule = null; + + + try { + // InternalGeneratorDSL.g:1169:84: (iv_ruleParametrizedFunctionDefinitionReferenceRule= ruleParametrizedFunctionDefinitionReferenceRule EOF ) + // InternalGeneratorDSL.g:1170:2: iv_ruleParametrizedFunctionDefinitionReferenceRule= ruleParametrizedFunctionDefinitionReferenceRule EOF + { + newCompositeNode(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleParametrizedFunctionDefinitionReferenceRule=ruleParametrizedFunctionDefinitionReferenceRule(); + + state._fsp--; + + current =iv_ruleParametrizedFunctionDefinitionReferenceRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleParametrizedFunctionDefinitionReferenceRule" + + + // $ANTLR start "ruleParametrizedFunctionDefinitionReferenceRule" + // InternalGeneratorDSL.g:1176:1: ruleParametrizedFunctionDefinitionReferenceRule returns [EObject current=null] : ( () otherlv_1= 'function' ( ( ruleStringOrId ) ) ) ; + public final EObject ruleParametrizedFunctionDefinitionReferenceRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1182:2: ( ( () otherlv_1= 'function' ( ( ruleStringOrId ) ) ) ) + // InternalGeneratorDSL.g:1183:2: ( () otherlv_1= 'function' ( ( ruleStringOrId ) ) ) + { + // InternalGeneratorDSL.g:1183:2: ( () otherlv_1= 'function' ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:1184:3: () otherlv_1= 'function' ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:1184:3: () + // InternalGeneratorDSL.g:1185:4: + { + + current = forceCreateModelElement( + grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getParametrizedFunctionDefinitionReferenceAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,14,FOLLOW_9); + + newLeafNode(otherlv_1, grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getFunctionKeyword_1()); + + // InternalGeneratorDSL.g:1195:3: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:1196:4: ( ruleStringOrId ) + { + // InternalGeneratorDSL.g:1196:4: ( ruleStringOrId ) + // InternalGeneratorDSL.g:1197:5: ruleStringOrId + { + + if (current==null) { + current = createModelElement(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleRule()); + } + + + newCompositeNode(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionReferenceCrossReference_2_0()); + + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleParametrizedFunctionDefinitionReferenceRule" + + + // $ANTLR start "entryRuleInstanceRule" + // InternalGeneratorDSL.g:1215:1: entryRuleInstanceRule returns [EObject current=null] : iv_ruleInstanceRule= ruleInstanceRule EOF ; + public final EObject entryRuleInstanceRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleInstanceRule = null; + + + try { + // InternalGeneratorDSL.g:1215:53: (iv_ruleInstanceRule= ruleInstanceRule EOF ) + // InternalGeneratorDSL.g:1216:2: iv_ruleInstanceRule= ruleInstanceRule EOF + { + newCompositeNode(grammarAccess.getInstanceRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleInstanceRule=ruleInstanceRule(); + + state._fsp--; + + current =iv_ruleInstanceRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleInstanceRule" + + + // $ANTLR start "ruleInstanceRule" + // InternalGeneratorDSL.g:1222:1: ruleInstanceRule returns [EObject current=null] : ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? ) ; + public final EObject ruleInstanceRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + EObject lv_attributes_2_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1228:2: ( ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? ) ) + // InternalGeneratorDSL.g:1229:2: ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? ) + { + // InternalGeneratorDSL.g:1229:2: ( ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? ) + // InternalGeneratorDSL.g:1230:3: ( ( ruleStringOrId ) ) (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? + { + // InternalGeneratorDSL.g:1230:3: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:1231:4: ( ruleStringOrId ) + { + // InternalGeneratorDSL.g:1231:4: ( ruleStringOrId ) + // InternalGeneratorDSL.g:1232:5: ruleStringOrId + { + + if (current==null) { + current = createModelElement(grammarAccess.getInstanceRuleRule()); + } + + + newCompositeNode(grammarAccess.getInstanceRuleAccess().getNameTypeDefinitionCrossReference_0_0()); + + pushFollow(FOLLOW_29); + ruleStringOrId(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:1246:3: (otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' )? + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0==34) ) { + alt16=1; + } + switch (alt16) { + case 1 : + // InternalGeneratorDSL.g:1247:4: otherlv_1= '{' ( (lv_attributes_2_0= ruleAttributeRule ) )* otherlv_3= '}' + { + otherlv_1=(Token)match(input,34,FOLLOW_30); + + newLeafNode(otherlv_1, grammarAccess.getInstanceRuleAccess().getLeftCurlyBracketKeyword_1_0()); + + // InternalGeneratorDSL.g:1251:4: ( (lv_attributes_2_0= ruleAttributeRule ) )* + loop15: + do { + int alt15=2; + int LA15_0 = input.LA(1); + + if ( ((LA15_0>=RULE_STRING && LA15_0<=RULE_ID)||LA15_0==RULE_QUOTED_ID) ) { + alt15=1; + } + + + switch (alt15) { + case 1 : + // InternalGeneratorDSL.g:1252:5: (lv_attributes_2_0= ruleAttributeRule ) + { + // InternalGeneratorDSL.g:1252:5: (lv_attributes_2_0= ruleAttributeRule ) + // InternalGeneratorDSL.g:1253:6: lv_attributes_2_0= ruleAttributeRule + { + + newCompositeNode(grammarAccess.getInstanceRuleAccess().getAttributesAttributeRuleParserRuleCall_1_1_0()); + + pushFollow(FOLLOW_30); + lv_attributes_2_0=ruleAttributeRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getInstanceRuleRule()); + } + add( + current, + "attributes", + lv_attributes_2_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.AttributeRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop15; + } + } while (true); + + otherlv_3=(Token)match(input,35,FOLLOW_2); + + newLeafNode(otherlv_3, grammarAccess.getInstanceRuleAccess().getRightCurlyBracketKeyword_1_2()); + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleInstanceRule" + + + // $ANTLR start "entryRuleAttributeRule" + // InternalGeneratorDSL.g:1279:1: entryRuleAttributeRule returns [EObject current=null] : iv_ruleAttributeRule= ruleAttributeRule EOF ; + public final EObject entryRuleAttributeRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAttributeRule = null; + + + try { + // InternalGeneratorDSL.g:1279:54: (iv_ruleAttributeRule= ruleAttributeRule EOF ) + // InternalGeneratorDSL.g:1280:2: iv_ruleAttributeRule= ruleAttributeRule EOF + { + newCompositeNode(grammarAccess.getAttributeRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleAttributeRule=ruleAttributeRule(); + + state._fsp--; + + current =iv_ruleAttributeRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAttributeRule" + + + // $ANTLR start "ruleAttributeRule" + // InternalGeneratorDSL.g:1286:1: ruleAttributeRule returns [EObject current=null] : ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' ) ; + public final EObject ruleAttributeRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + EObject lv_name_0_0 = null; + + EObject lv_value_2_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1292:2: ( ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' ) ) + // InternalGeneratorDSL.g:1293:2: ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' ) + { + // InternalGeneratorDSL.g:1293:2: ( ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' ) + // InternalGeneratorDSL.g:1294:3: ( (lv_name_0_0= ruleNameOrMiscRule ) ) otherlv_1= ':=' ( (lv_value_2_0= ruleValueRule ) ) otherlv_3= ';' + { + // InternalGeneratorDSL.g:1294:3: ( (lv_name_0_0= ruleNameOrMiscRule ) ) + // InternalGeneratorDSL.g:1295:4: (lv_name_0_0= ruleNameOrMiscRule ) + { + // InternalGeneratorDSL.g:1295:4: (lv_name_0_0= ruleNameOrMiscRule ) + // InternalGeneratorDSL.g:1296:5: lv_name_0_0= ruleNameOrMiscRule + { + + newCompositeNode(grammarAccess.getAttributeRuleAccess().getNameNameOrMiscRuleParserRuleCall_0_0()); + + pushFollow(FOLLOW_31); + lv_name_0_0=ruleNameOrMiscRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAttributeRuleRule()); + } + set( + current, + "name", + lv_name_0_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.NameOrMiscRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_1=(Token)match(input,36,FOLLOW_32); + + newLeafNode(otherlv_1, grammarAccess.getAttributeRuleAccess().getColonEqualsSignKeyword_1()); + + // InternalGeneratorDSL.g:1317:3: ( (lv_value_2_0= ruleValueRule ) ) + // InternalGeneratorDSL.g:1318:4: (lv_value_2_0= ruleValueRule ) + { + // InternalGeneratorDSL.g:1318:4: (lv_value_2_0= ruleValueRule ) + // InternalGeneratorDSL.g:1319:5: lv_value_2_0= ruleValueRule + { + + newCompositeNode(grammarAccess.getAttributeRuleAccess().getValueValueRuleParserRuleCall_2_0()); + + pushFollow(FOLLOW_8); + lv_value_2_0=ruleValueRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAttributeRuleRule()); + } + set( + current, + "value", + lv_value_2_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.ValueRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_3=(Token)match(input,13,FOLLOW_2); + + newLeafNode(otherlv_3, grammarAccess.getAttributeRuleAccess().getSemicolonKeyword_3()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAttributeRule" + + + // $ANTLR start "entryRuleNameOrMiscRule" + // InternalGeneratorDSL.g:1344:1: entryRuleNameOrMiscRule returns [EObject current=null] : iv_ruleNameOrMiscRule= ruleNameOrMiscRule EOF ; + public final EObject entryRuleNameOrMiscRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNameOrMiscRule = null; + + + try { + // InternalGeneratorDSL.g:1344:55: (iv_ruleNameOrMiscRule= ruleNameOrMiscRule EOF ) + // InternalGeneratorDSL.g:1345:2: iv_ruleNameOrMiscRule= ruleNameOrMiscRule EOF + { + newCompositeNode(grammarAccess.getNameOrMiscRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleNameOrMiscRule=ruleNameOrMiscRule(); + + state._fsp--; + + current =iv_ruleNameOrMiscRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNameOrMiscRule" + + + // $ANTLR start "ruleNameOrMiscRule" + // InternalGeneratorDSL.g:1351:1: ruleNameOrMiscRule returns [EObject current=null] : (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule ) ; + public final EObject ruleNameOrMiscRule() throws RecognitionException { + EObject current = null; + + EObject this_NameRule_0 = null; + + EObject this_MiscRule_1 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1357:2: ( (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule ) ) + // InternalGeneratorDSL.g:1358:2: (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule ) + { + // InternalGeneratorDSL.g:1358:2: (this_NameRule_0= ruleNameRule | this_MiscRule_1= ruleMiscRule ) + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==RULE_ID||LA17_0==RULE_QUOTED_ID) ) { + alt17=1; + } + else if ( (LA17_0==RULE_STRING) ) { + alt17=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 17, 0, input); + + throw nvae; + } + switch (alt17) { + case 1 : + // InternalGeneratorDSL.g:1359:3: this_NameRule_0= ruleNameRule + { + + newCompositeNode(grammarAccess.getNameOrMiscRuleAccess().getNameRuleParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_NameRule_0=ruleNameRule(); + + state._fsp--; + + + current = this_NameRule_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1368:3: this_MiscRule_1= ruleMiscRule + { + + newCompositeNode(grammarAccess.getNameOrMiscRuleAccess().getMiscRuleParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_MiscRule_1=ruleMiscRule(); + + state._fsp--; + + + current = this_MiscRule_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNameOrMiscRule" + + + // $ANTLR start "entryRuleNameRule" + // InternalGeneratorDSL.g:1380:1: entryRuleNameRule returns [EObject current=null] : iv_ruleNameRule= ruleNameRule EOF ; + public final EObject entryRuleNameRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNameRule = null; + + + try { + // InternalGeneratorDSL.g:1380:49: (iv_ruleNameRule= ruleNameRule EOF ) + // InternalGeneratorDSL.g:1381:2: iv_ruleNameRule= ruleNameRule EOF + { + newCompositeNode(grammarAccess.getNameRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleNameRule=ruleNameRule(); + + state._fsp--; + + current =iv_ruleNameRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNameRule" + + + // $ANTLR start "ruleNameRule" + // InternalGeneratorDSL.g:1387:1: ruleNameRule returns [EObject current=null] : ( ( ruleStringOrId ) ) ; + public final EObject ruleNameRule() throws RecognitionException { + EObject current = null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1393:2: ( ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:1394:2: ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:1394:2: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:1395:3: ( ruleStringOrId ) + { + // InternalGeneratorDSL.g:1395:3: ( ruleStringOrId ) + // InternalGeneratorDSL.g:1396:4: ruleStringOrId + { + + if (current==null) { + current = createModelElement(grammarAccess.getNameRuleRule()); + } + + + newCompositeNode(grammarAccess.getNameRuleAccess().getNameNamedAttributeDefinitionCrossReference_0()); + + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNameRule" + + + // $ANTLR start "entryRuleMiscRule" + // InternalGeneratorDSL.g:1413:1: entryRuleMiscRule returns [EObject current=null] : iv_ruleMiscRule= ruleMiscRule EOF ; + public final EObject entryRuleMiscRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleMiscRule = null; + + + try { + // InternalGeneratorDSL.g:1413:49: (iv_ruleMiscRule= ruleMiscRule EOF ) + // InternalGeneratorDSL.g:1414:2: iv_ruleMiscRule= ruleMiscRule EOF + { + newCompositeNode(grammarAccess.getMiscRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleMiscRule=ruleMiscRule(); + + state._fsp--; + + current =iv_ruleMiscRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleMiscRule" + + + // $ANTLR start "ruleMiscRule" + // InternalGeneratorDSL.g:1420:1: ruleMiscRule returns [EObject current=null] : ( (lv_name_0_0= RULE_STRING ) ) ; + public final EObject ruleMiscRule() throws RecognitionException { + EObject current = null; + + Token lv_name_0_0=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1426:2: ( ( (lv_name_0_0= RULE_STRING ) ) ) + // InternalGeneratorDSL.g:1427:2: ( (lv_name_0_0= RULE_STRING ) ) + { + // InternalGeneratorDSL.g:1427:2: ( (lv_name_0_0= RULE_STRING ) ) + // InternalGeneratorDSL.g:1428:3: (lv_name_0_0= RULE_STRING ) + { + // InternalGeneratorDSL.g:1428:3: (lv_name_0_0= RULE_STRING ) + // InternalGeneratorDSL.g:1429:4: lv_name_0_0= RULE_STRING + { + lv_name_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); + + newLeafNode(lv_name_0_0, grammarAccess.getMiscRuleAccess().getNameSTRINGTerminalRuleCall_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getMiscRuleRule()); + } + setWithLastConsumed( + current, + "name", + lv_name_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.STRING"); + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleMiscRule" + + + // $ANTLR start "entryRuleValueRule" + // InternalGeneratorDSL.g:1448:1: entryRuleValueRule returns [EObject current=null] : iv_ruleValueRule= ruleValueRule EOF ; + public final EObject entryRuleValueRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleValueRule = null; + + + try { + // InternalGeneratorDSL.g:1448:50: (iv_ruleValueRule= ruleValueRule EOF ) + // InternalGeneratorDSL.g:1449:2: iv_ruleValueRule= ruleValueRule EOF + { + newCompositeNode(grammarAccess.getValueRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleValueRule=ruleValueRule(); + + state._fsp--; + + current =iv_ruleValueRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleValueRule" + + + // $ANTLR start "ruleValueRule" + // InternalGeneratorDSL.g:1455:1: ruleValueRule returns [EObject current=null] : (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule ) ; + public final EObject ruleValueRule() throws RecognitionException { + EObject current = null; + + EObject this_ArrayRule_0 = null; + + EObject this_DataReferenceRule_1 = null; + + EObject this_InstanceRule_2 = null; + + EObject this_LiteralValueRule_3 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1461:2: ( (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule ) ) + // InternalGeneratorDSL.g:1462:2: (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule ) + { + // InternalGeneratorDSL.g:1462:2: (this_ArrayRule_0= ruleArrayRule | this_DataReferenceRule_1= ruleDataReferenceRule | this_InstanceRule_2= ruleInstanceRule | this_LiteralValueRule_3= ruleLiteralValueRule ) + int alt18=4; + switch ( input.LA(1) ) { + case 21: + { + alt18=1; + } + break; + case 37: + { + alt18=2; + } + break; + case RULE_ID: + case RULE_QUOTED_ID: + { + alt18=3; + } + break; + case RULE_STRING: + case RULE_INT: + case 47: + case 48: + { + alt18=4; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 18, 0, input); + + throw nvae; + } + + switch (alt18) { + case 1 : + // InternalGeneratorDSL.g:1463:3: this_ArrayRule_0= ruleArrayRule + { + + newCompositeNode(grammarAccess.getValueRuleAccess().getArrayRuleParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_ArrayRule_0=ruleArrayRule(); + + state._fsp--; + + + current = this_ArrayRule_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalGeneratorDSL.g:1472:3: this_DataReferenceRule_1= ruleDataReferenceRule + { + + newCompositeNode(grammarAccess.getValueRuleAccess().getDataReferenceRuleParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_DataReferenceRule_1=ruleDataReferenceRule(); + + state._fsp--; + + + current = this_DataReferenceRule_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // InternalGeneratorDSL.g:1481:3: this_InstanceRule_2= ruleInstanceRule + { + + newCompositeNode(grammarAccess.getValueRuleAccess().getInstanceRuleParserRuleCall_2()); + + pushFollow(FOLLOW_2); + this_InstanceRule_2=ruleInstanceRule(); + + state._fsp--; + + + current = this_InstanceRule_2; + afterParserOrEnumRuleCall(); + + + } + break; + case 4 : + // InternalGeneratorDSL.g:1490:3: this_LiteralValueRule_3= ruleLiteralValueRule + { + + newCompositeNode(grammarAccess.getValueRuleAccess().getLiteralValueRuleParserRuleCall_3()); + + pushFollow(FOLLOW_2); + this_LiteralValueRule_3=ruleLiteralValueRule(); + + state._fsp--; + + + current = this_LiteralValueRule_3; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleValueRule" + + + // $ANTLR start "entryRuleArrayRule" + // InternalGeneratorDSL.g:1502:1: entryRuleArrayRule returns [EObject current=null] : iv_ruleArrayRule= ruleArrayRule EOF ; + public final EObject entryRuleArrayRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleArrayRule = null; + + + try { + // InternalGeneratorDSL.g:1502:50: (iv_ruleArrayRule= ruleArrayRule EOF ) + // InternalGeneratorDSL.g:1503:2: iv_ruleArrayRule= ruleArrayRule EOF + { + newCompositeNode(grammarAccess.getArrayRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleArrayRule=ruleArrayRule(); + + state._fsp--; + + current =iv_ruleArrayRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleArrayRule" + + + // $ANTLR start "ruleArrayRule" + // InternalGeneratorDSL.g:1509:1: ruleArrayRule returns [EObject current=null] : ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' ) ; + public final EObject ruleArrayRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + EObject lv_values_2_0 = null; + + EObject lv_values_4_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1515:2: ( ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' ) ) + // InternalGeneratorDSL.g:1516:2: ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' ) + { + // InternalGeneratorDSL.g:1516:2: ( () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' ) + // InternalGeneratorDSL.g:1517:3: () otherlv_1= '[' ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? otherlv_5= ']' + { + // InternalGeneratorDSL.g:1517:3: () + // InternalGeneratorDSL.g:1518:4: + { + + current = forceCreateModelElement( + grammarAccess.getArrayRuleAccess().getArrayAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,21,FOLLOW_33); + + newLeafNode(otherlv_1, grammarAccess.getArrayRuleAccess().getLeftSquareBracketKeyword_1()); + + // InternalGeneratorDSL.g:1528:3: ( ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* )? + int alt20=2; + int LA20_0 = input.LA(1); + + if ( ((LA20_0>=RULE_STRING && LA20_0<=RULE_QUOTED_ID)||LA20_0==21||LA20_0==37||(LA20_0>=47 && LA20_0<=48)) ) { + alt20=1; + } + switch (alt20) { + case 1 : + // InternalGeneratorDSL.g:1529:4: ( (lv_values_2_0= ruleValueRule ) ) (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* + { + // InternalGeneratorDSL.g:1529:4: ( (lv_values_2_0= ruleValueRule ) ) + // InternalGeneratorDSL.g:1530:5: (lv_values_2_0= ruleValueRule ) + { + // InternalGeneratorDSL.g:1530:5: (lv_values_2_0= ruleValueRule ) + // InternalGeneratorDSL.g:1531:6: lv_values_2_0= ruleValueRule + { + + newCompositeNode(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_0_0()); + + pushFollow(FOLLOW_21); + lv_values_2_0=ruleValueRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getArrayRuleRule()); + } + add( + current, + "values", + lv_values_2_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.ValueRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:1548:4: (otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) )* + loop19: + do { + int alt19=2; + int LA19_0 = input.LA(1); + + if ( (LA19_0==25) ) { + alt19=1; + } + + + switch (alt19) { + case 1 : + // InternalGeneratorDSL.g:1549:5: otherlv_3= ',' ( (lv_values_4_0= ruleValueRule ) ) + { + otherlv_3=(Token)match(input,25,FOLLOW_32); + + newLeafNode(otherlv_3, grammarAccess.getArrayRuleAccess().getCommaKeyword_2_1_0()); + + // InternalGeneratorDSL.g:1553:5: ( (lv_values_4_0= ruleValueRule ) ) + // InternalGeneratorDSL.g:1554:6: (lv_values_4_0= ruleValueRule ) + { + // InternalGeneratorDSL.g:1554:6: (lv_values_4_0= ruleValueRule ) + // InternalGeneratorDSL.g:1555:7: lv_values_4_0= ruleValueRule + { + + newCompositeNode(grammarAccess.getArrayRuleAccess().getValuesValueRuleParserRuleCall_2_1_1_0()); + + pushFollow(FOLLOW_21); + lv_values_4_0=ruleValueRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getArrayRuleRule()); + } + add( + current, + "values", + lv_values_4_0, + "de.evoal.languages.model.instance.dsl.InstanceLanguage.ValueRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop19; + } + } while (true); + + + } + break; + + } + + otherlv_5=(Token)match(input,23,FOLLOW_2); + + newLeafNode(otherlv_5, grammarAccess.getArrayRuleAccess().getRightSquareBracketKeyword_3()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleArrayRule" + + + // $ANTLR start "entryRuleLiteralValueRule" + // InternalGeneratorDSL.g:1582:1: entryRuleLiteralValueRule returns [EObject current=null] : iv_ruleLiteralValueRule= ruleLiteralValueRule EOF ; + public final EObject entryRuleLiteralValueRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLiteralValueRule = null; + + + try { + // InternalGeneratorDSL.g:1582:57: (iv_ruleLiteralValueRule= ruleLiteralValueRule EOF ) + // InternalGeneratorDSL.g:1583:2: iv_ruleLiteralValueRule= ruleLiteralValueRule EOF + { + newCompositeNode(grammarAccess.getLiteralValueRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleLiteralValueRule=ruleLiteralValueRule(); + + state._fsp--; + + current =iv_ruleLiteralValueRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLiteralValueRule" + + + // $ANTLR start "ruleLiteralValueRule" + // InternalGeneratorDSL.g:1589:1: ruleLiteralValueRule returns [EObject current=null] : ( (lv_literal_0_0= ruleLiteralRule ) ) ; + public final EObject ruleLiteralValueRule() throws RecognitionException { + EObject current = null; + + EObject lv_literal_0_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1595:2: ( ( (lv_literal_0_0= ruleLiteralRule ) ) ) + // InternalGeneratorDSL.g:1596:2: ( (lv_literal_0_0= ruleLiteralRule ) ) + { + // InternalGeneratorDSL.g:1596:2: ( (lv_literal_0_0= ruleLiteralRule ) ) + // InternalGeneratorDSL.g:1597:3: (lv_literal_0_0= ruleLiteralRule ) + { + // InternalGeneratorDSL.g:1597:3: (lv_literal_0_0= ruleLiteralRule ) + // InternalGeneratorDSL.g:1598:4: lv_literal_0_0= ruleLiteralRule + { + + newCompositeNode(grammarAccess.getLiteralValueRuleAccess().getLiteralLiteralRuleParserRuleCall_0()); + + pushFollow(FOLLOW_2); + lv_literal_0_0=ruleLiteralRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getLiteralValueRuleRule()); + } + set( + current, + "literal", + lv_literal_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.LiteralRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLiteralValueRule" + + + // $ANTLR start "entryRuleDataReferenceRule" + // InternalGeneratorDSL.g:1618:1: entryRuleDataReferenceRule returns [EObject current=null] : iv_ruleDataReferenceRule= ruleDataReferenceRule EOF ; + public final EObject entryRuleDataReferenceRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleDataReferenceRule = null; + + + try { + // InternalGeneratorDSL.g:1618:58: (iv_ruleDataReferenceRule= ruleDataReferenceRule EOF ) + // InternalGeneratorDSL.g:1619:2: iv_ruleDataReferenceRule= ruleDataReferenceRule EOF + { + newCompositeNode(grammarAccess.getDataReferenceRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleDataReferenceRule=ruleDataReferenceRule(); + + state._fsp--; + + current =iv_ruleDataReferenceRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDataReferenceRule" + + + // $ANTLR start "ruleDataReferenceRule" + // InternalGeneratorDSL.g:1625:1: ruleDataReferenceRule returns [EObject current=null] : ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ; + public final EObject ruleDataReferenceRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1631:2: ( ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) ) + // InternalGeneratorDSL.g:1632:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) + { + // InternalGeneratorDSL.g:1632:2: ( () otherlv_1= 'data' ( ( ruleStringOrId ) ) ) + // InternalGeneratorDSL.g:1633:3: () otherlv_1= 'data' ( ( ruleStringOrId ) ) + { + // InternalGeneratorDSL.g:1633:3: () + // InternalGeneratorDSL.g:1634:4: + { + + current = forceCreateModelElement( + grammarAccess.getDataReferenceRuleAccess().getDataReferenceAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,37,FOLLOW_9); + + newLeafNode(otherlv_1, grammarAccess.getDataReferenceRuleAccess().getDataKeyword_1()); + + // InternalGeneratorDSL.g:1644:3: ( ( ruleStringOrId ) ) + // InternalGeneratorDSL.g:1645:4: ( ruleStringOrId ) + { + // InternalGeneratorDSL.g:1645:4: ( ruleStringOrId ) + // InternalGeneratorDSL.g:1646:5: ruleStringOrId + { + + if (current==null) { + current = createModelElement(grammarAccess.getDataReferenceRuleRule()); + } + + + newCompositeNode(grammarAccess.getDataReferenceRuleAccess().getDefinitionDataDescriptionCrossReference_2_0()); + + pushFollow(FOLLOW_2); + ruleStringOrId(); + + state._fsp--; + + + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDataReferenceRule" + + + // $ANTLR start "entryRuleExpressionRule" + // InternalGeneratorDSL.g:1664:1: entryRuleExpressionRule returns [EObject current=null] : iv_ruleExpressionRule= ruleExpressionRule EOF ; + public final EObject entryRuleExpressionRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleExpressionRule = null; + + + try { + // InternalGeneratorDSL.g:1664:55: (iv_ruleExpressionRule= ruleExpressionRule EOF ) + // InternalGeneratorDSL.g:1665:2: iv_ruleExpressionRule= ruleExpressionRule EOF + { + newCompositeNode(grammarAccess.getExpressionRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleExpressionRule=ruleExpressionRule(); + + state._fsp--; + + current =iv_ruleExpressionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleExpressionRule" + + + // $ANTLR start "ruleExpressionRule" + // InternalGeneratorDSL.g:1671:1: ruleExpressionRule returns [EObject current=null] : this_OrExpressionRule_0= ruleOrExpressionRule ; + public final EObject ruleExpressionRule() throws RecognitionException { + EObject current = null; + + EObject this_OrExpressionRule_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1677:2: (this_OrExpressionRule_0= ruleOrExpressionRule ) + // InternalGeneratorDSL.g:1678:2: this_OrExpressionRule_0= ruleOrExpressionRule + { + + newCompositeNode(grammarAccess.getExpressionRuleAccess().getOrExpressionRuleParserRuleCall()); + + pushFollow(FOLLOW_2); + this_OrExpressionRule_0=ruleOrExpressionRule(); + + state._fsp--; + + + current = this_OrExpressionRule_0; + afterParserOrEnumRuleCall(); + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleExpressionRule" + + + // $ANTLR start "entryRuleOrExpressionRule" + // InternalGeneratorDSL.g:1689:1: entryRuleOrExpressionRule returns [EObject current=null] : iv_ruleOrExpressionRule= ruleOrExpressionRule EOF ; + public final EObject entryRuleOrExpressionRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleOrExpressionRule = null; + + + try { + // InternalGeneratorDSL.g:1689:57: (iv_ruleOrExpressionRule= ruleOrExpressionRule EOF ) + // InternalGeneratorDSL.g:1690:2: iv_ruleOrExpressionRule= ruleOrExpressionRule EOF + { + newCompositeNode(grammarAccess.getOrExpressionRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleOrExpressionRule=ruleOrExpressionRule(); + + state._fsp--; + + current =iv_ruleOrExpressionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleOrExpressionRule" + + + // $ANTLR start "ruleOrExpressionRule" + // InternalGeneratorDSL.g:1696:1: ruleOrExpressionRule returns [EObject current=null] : ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* ) ; + public final EObject ruleOrExpressionRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_subExpressions_0_0 = null; + + EObject lv_subExpressions_2_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1702:2: ( ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* ) ) + // InternalGeneratorDSL.g:1703:2: ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* ) + { + // InternalGeneratorDSL.g:1703:2: ( ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* ) + // InternalGeneratorDSL.g:1704:3: ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* + { + // InternalGeneratorDSL.g:1704:3: ( (lv_subExpressions_0_0= ruleXorExpressionRule ) ) + // InternalGeneratorDSL.g:1705:4: (lv_subExpressions_0_0= ruleXorExpressionRule ) + { + // InternalGeneratorDSL.g:1705:4: (lv_subExpressions_0_0= ruleXorExpressionRule ) + // InternalGeneratorDSL.g:1706:5: lv_subExpressions_0_0= ruleXorExpressionRule + { + + newCompositeNode(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_0_0()); + + pushFollow(FOLLOW_34); + lv_subExpressions_0_0=ruleXorExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getOrExpressionRuleRule()); + } + add( + current, + "subExpressions", + lv_subExpressions_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.XorExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:1723:3: (otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) )* + loop21: + do { + int alt21=2; + int LA21_0 = input.LA(1); + + if ( (LA21_0==38) ) { + alt21=1; + } + + + switch (alt21) { + case 1 : + // InternalGeneratorDSL.g:1724:4: otherlv_1= 'OR' ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) + { + otherlv_1=(Token)match(input,38,FOLLOW_35); + + newLeafNode(otherlv_1, grammarAccess.getOrExpressionRuleAccess().getORKeyword_1_0()); + + // InternalGeneratorDSL.g:1728:4: ( (lv_subExpressions_2_0= ruleXorExpressionRule ) ) + // InternalGeneratorDSL.g:1729:5: (lv_subExpressions_2_0= ruleXorExpressionRule ) + { + // InternalGeneratorDSL.g:1729:5: (lv_subExpressions_2_0= ruleXorExpressionRule ) + // InternalGeneratorDSL.g:1730:6: lv_subExpressions_2_0= ruleXorExpressionRule + { + + newCompositeNode(grammarAccess.getOrExpressionRuleAccess().getSubExpressionsXorExpressionRuleParserRuleCall_1_1_0()); + + pushFollow(FOLLOW_34); + lv_subExpressions_2_0=ruleXorExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getOrExpressionRuleRule()); + } + add( + current, + "subExpressions", + lv_subExpressions_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.XorExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop21; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleOrExpressionRule" + + + // $ANTLR start "entryRuleXorExpressionRule" + // InternalGeneratorDSL.g:1752:1: entryRuleXorExpressionRule returns [EObject current=null] : iv_ruleXorExpressionRule= ruleXorExpressionRule EOF ; + public final EObject entryRuleXorExpressionRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleXorExpressionRule = null; + + + try { + // InternalGeneratorDSL.g:1752:58: (iv_ruleXorExpressionRule= ruleXorExpressionRule EOF ) + // InternalGeneratorDSL.g:1753:2: iv_ruleXorExpressionRule= ruleXorExpressionRule EOF + { + newCompositeNode(grammarAccess.getXorExpressionRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleXorExpressionRule=ruleXorExpressionRule(); + + state._fsp--; + + current =iv_ruleXorExpressionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleXorExpressionRule" + + + // $ANTLR start "ruleXorExpressionRule" + // InternalGeneratorDSL.g:1759:1: ruleXorExpressionRule returns [EObject current=null] : ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* ) ; + public final EObject ruleXorExpressionRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_subExpressions_0_0 = null; + + EObject lv_subExpressions_2_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1765:2: ( ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* ) ) + // InternalGeneratorDSL.g:1766:2: ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* ) + { + // InternalGeneratorDSL.g:1766:2: ( ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* ) + // InternalGeneratorDSL.g:1767:3: ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* + { + // InternalGeneratorDSL.g:1767:3: ( (lv_subExpressions_0_0= ruleAndExpressionRule ) ) + // InternalGeneratorDSL.g:1768:4: (lv_subExpressions_0_0= ruleAndExpressionRule ) + { + // InternalGeneratorDSL.g:1768:4: (lv_subExpressions_0_0= ruleAndExpressionRule ) + // InternalGeneratorDSL.g:1769:5: lv_subExpressions_0_0= ruleAndExpressionRule + { + + newCompositeNode(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_0_0()); + + pushFollow(FOLLOW_36); + lv_subExpressions_0_0=ruleAndExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXorExpressionRuleRule()); + } + add( + current, + "subExpressions", + lv_subExpressions_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AndExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:1786:3: (otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) )* + loop22: + do { + int alt22=2; + int LA22_0 = input.LA(1); + + if ( (LA22_0==39) ) { + alt22=1; + } + + + switch (alt22) { + case 1 : + // InternalGeneratorDSL.g:1787:4: otherlv_1= 'XOR' ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) + { + otherlv_1=(Token)match(input,39,FOLLOW_35); + + newLeafNode(otherlv_1, grammarAccess.getXorExpressionRuleAccess().getXORKeyword_1_0()); + + // InternalGeneratorDSL.g:1791:4: ( (lv_subExpressions_2_0= ruleAndExpressionRule ) ) + // InternalGeneratorDSL.g:1792:5: (lv_subExpressions_2_0= ruleAndExpressionRule ) + { + // InternalGeneratorDSL.g:1792:5: (lv_subExpressions_2_0= ruleAndExpressionRule ) + // InternalGeneratorDSL.g:1793:6: lv_subExpressions_2_0= ruleAndExpressionRule + { + + newCompositeNode(grammarAccess.getXorExpressionRuleAccess().getSubExpressionsAndExpressionRuleParserRuleCall_1_1_0()); + + pushFollow(FOLLOW_36); + lv_subExpressions_2_0=ruleAndExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getXorExpressionRuleRule()); + } + add( + current, + "subExpressions", + lv_subExpressions_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AndExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop22; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleXorExpressionRule" + + + // $ANTLR start "entryRuleAndExpressionRule" + // InternalGeneratorDSL.g:1815:1: entryRuleAndExpressionRule returns [EObject current=null] : iv_ruleAndExpressionRule= ruleAndExpressionRule EOF ; + public final EObject entryRuleAndExpressionRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAndExpressionRule = null; + + + try { + // InternalGeneratorDSL.g:1815:58: (iv_ruleAndExpressionRule= ruleAndExpressionRule EOF ) + // InternalGeneratorDSL.g:1816:2: iv_ruleAndExpressionRule= ruleAndExpressionRule EOF + { + newCompositeNode(grammarAccess.getAndExpressionRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleAndExpressionRule=ruleAndExpressionRule(); + + state._fsp--; + + current =iv_ruleAndExpressionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAndExpressionRule" + + + // $ANTLR start "ruleAndExpressionRule" + // InternalGeneratorDSL.g:1822:1: ruleAndExpressionRule returns [EObject current=null] : ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* ) ; + public final EObject ruleAndExpressionRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_subExpressions_0_0 = null; + + EObject lv_subExpressions_2_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1828:2: ( ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* ) ) + // InternalGeneratorDSL.g:1829:2: ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* ) + { + // InternalGeneratorDSL.g:1829:2: ( ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* ) + // InternalGeneratorDSL.g:1830:3: ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* + { + // InternalGeneratorDSL.g:1830:3: ( (lv_subExpressions_0_0= ruleNotExpressionRule ) ) + // InternalGeneratorDSL.g:1831:4: (lv_subExpressions_0_0= ruleNotExpressionRule ) + { + // InternalGeneratorDSL.g:1831:4: (lv_subExpressions_0_0= ruleNotExpressionRule ) + // InternalGeneratorDSL.g:1832:5: lv_subExpressions_0_0= ruleNotExpressionRule + { + + newCompositeNode(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_0_0()); + + pushFollow(FOLLOW_37); + lv_subExpressions_0_0=ruleNotExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAndExpressionRuleRule()); + } + add( + current, + "subExpressions", + lv_subExpressions_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.NotExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:1849:3: (otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) )* + loop23: + do { + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==40) ) { + alt23=1; + } + + + switch (alt23) { + case 1 : + // InternalGeneratorDSL.g:1850:4: otherlv_1= 'AND' ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) + { + otherlv_1=(Token)match(input,40,FOLLOW_35); + + newLeafNode(otherlv_1, grammarAccess.getAndExpressionRuleAccess().getANDKeyword_1_0()); + + // InternalGeneratorDSL.g:1854:4: ( (lv_subExpressions_2_0= ruleNotExpressionRule ) ) + // InternalGeneratorDSL.g:1855:5: (lv_subExpressions_2_0= ruleNotExpressionRule ) + { + // InternalGeneratorDSL.g:1855:5: (lv_subExpressions_2_0= ruleNotExpressionRule ) + // InternalGeneratorDSL.g:1856:6: lv_subExpressions_2_0= ruleNotExpressionRule + { + + newCompositeNode(grammarAccess.getAndExpressionRuleAccess().getSubExpressionsNotExpressionRuleParserRuleCall_1_1_0()); + + pushFollow(FOLLOW_37); + lv_subExpressions_2_0=ruleNotExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAndExpressionRuleRule()); + } + add( + current, + "subExpressions", + lv_subExpressions_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.NotExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop23; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAndExpressionRule" + + + // $ANTLR start "entryRuleNotExpressionRule" + // InternalGeneratorDSL.g:1878:1: entryRuleNotExpressionRule returns [EObject current=null] : iv_ruleNotExpressionRule= ruleNotExpressionRule EOF ; + public final EObject entryRuleNotExpressionRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNotExpressionRule = null; + + + try { + // InternalGeneratorDSL.g:1878:58: (iv_ruleNotExpressionRule= ruleNotExpressionRule EOF ) + // InternalGeneratorDSL.g:1879:2: iv_ruleNotExpressionRule= ruleNotExpressionRule EOF + { + newCompositeNode(grammarAccess.getNotExpressionRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleNotExpressionRule=ruleNotExpressionRule(); + + state._fsp--; + + current =iv_ruleNotExpressionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNotExpressionRule" + + + // $ANTLR start "ruleNotExpressionRule" + // InternalGeneratorDSL.g:1885:1: ruleNotExpressionRule returns [EObject current=null] : ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) ) ; + public final EObject ruleNotExpressionRule() throws RecognitionException { + EObject current = null; + + Token lv_negated_0_0=null; + EObject lv_operand_1_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1891:2: ( ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) ) ) + // InternalGeneratorDSL.g:1892:2: ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) ) + { + // InternalGeneratorDSL.g:1892:2: ( ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) ) + // InternalGeneratorDSL.g:1893:3: ( (lv_negated_0_0= '!' ) )? ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) + { + // InternalGeneratorDSL.g:1893:3: ( (lv_negated_0_0= '!' ) )? + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==41) ) { + alt24=1; + } + switch (alt24) { + case 1 : + // InternalGeneratorDSL.g:1894:4: (lv_negated_0_0= '!' ) + { + // InternalGeneratorDSL.g:1894:4: (lv_negated_0_0= '!' ) + // InternalGeneratorDSL.g:1895:5: lv_negated_0_0= '!' + { + lv_negated_0_0=(Token)match(input,41,FOLLOW_35); + + newLeafNode(lv_negated_0_0, grammarAccess.getNotExpressionRuleAccess().getNegatedExclamationMarkKeyword_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getNotExpressionRuleRule()); + } + setWithLastConsumed(current, "negated", lv_negated_0_0 != null, "!"); + + + } + + + } + break; + + } + + // InternalGeneratorDSL.g:1907:3: ( (lv_operand_1_0= ruleComparisonExpressionRule ) ) + // InternalGeneratorDSL.g:1908:4: (lv_operand_1_0= ruleComparisonExpressionRule ) + { + // InternalGeneratorDSL.g:1908:4: (lv_operand_1_0= ruleComparisonExpressionRule ) + // InternalGeneratorDSL.g:1909:5: lv_operand_1_0= ruleComparisonExpressionRule + { + + newCompositeNode(grammarAccess.getNotExpressionRuleAccess().getOperandComparisonExpressionRuleParserRuleCall_1_0()); + + pushFollow(FOLLOW_2); + lv_operand_1_0=ruleComparisonExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getNotExpressionRuleRule()); + } + set( + current, + "operand", + lv_operand_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.ComparisonExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNotExpressionRule" + + + // $ANTLR start "entryRuleComparisonExpressionRule" + // InternalGeneratorDSL.g:1930:1: entryRuleComparisonExpressionRule returns [EObject current=null] : iv_ruleComparisonExpressionRule= ruleComparisonExpressionRule EOF ; + public final EObject entryRuleComparisonExpressionRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleComparisonExpressionRule = null; + + + try { + // InternalGeneratorDSL.g:1930:65: (iv_ruleComparisonExpressionRule= ruleComparisonExpressionRule EOF ) + // InternalGeneratorDSL.g:1931:2: iv_ruleComparisonExpressionRule= ruleComparisonExpressionRule EOF + { + newCompositeNode(grammarAccess.getComparisonExpressionRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleComparisonExpressionRule=ruleComparisonExpressionRule(); + + state._fsp--; + + current =iv_ruleComparisonExpressionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleComparisonExpressionRule" + + + // $ANTLR start "ruleComparisonExpressionRule" + // InternalGeneratorDSL.g:1937:1: ruleComparisonExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* ) ; + public final EObject ruleComparisonExpressionRule() throws RecognitionException { + EObject current = null; + + EObject lv_leftOperand_0_0 = null; + + EObject lv_comparison_1_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:1943:2: ( ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* ) ) + // InternalGeneratorDSL.g:1944:2: ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* ) + { + // InternalGeneratorDSL.g:1944:2: ( ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* ) + // InternalGeneratorDSL.g:1945:3: ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* + { + // InternalGeneratorDSL.g:1945:3: ( (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) ) + // InternalGeneratorDSL.g:1946:4: (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) + { + // InternalGeneratorDSL.g:1946:4: (lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule ) + // InternalGeneratorDSL.g:1947:5: lv_leftOperand_0_0= ruleAddOrSubtractExpressionRule + { + + newCompositeNode(grammarAccess.getComparisonExpressionRuleAccess().getLeftOperandAddOrSubtractExpressionRuleParserRuleCall_0_0()); + + pushFollow(FOLLOW_38); + lv_leftOperand_0_0=ruleAddOrSubtractExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComparisonExpressionRuleRule()); + } + set( + current, + "leftOperand", + lv_leftOperand_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AddOrSubtractExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:1964:3: ( (lv_comparison_1_0= rulePartialComparisonExpressionRule ) )* + loop25: + do { + int alt25=2; + int LA25_0 = input.LA(1); + + if ( ((LA25_0>=50 && LA25_0<=55)) ) { + alt25=1; + } + + + switch (alt25) { + case 1 : + // InternalGeneratorDSL.g:1965:4: (lv_comparison_1_0= rulePartialComparisonExpressionRule ) + { + // InternalGeneratorDSL.g:1965:4: (lv_comparison_1_0= rulePartialComparisonExpressionRule ) + // InternalGeneratorDSL.g:1966:5: lv_comparison_1_0= rulePartialComparisonExpressionRule + { + + newCompositeNode(grammarAccess.getComparisonExpressionRuleAccess().getComparisonPartialComparisonExpressionRuleParserRuleCall_1_0()); + + pushFollow(FOLLOW_38); + lv_comparison_1_0=rulePartialComparisonExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getComparisonExpressionRuleRule()); + } + add( + current, + "comparison", + lv_comparison_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.PartialComparisonExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop25; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComparisonExpressionRule" + + + // $ANTLR start "entryRulePartialComparisonExpressionRule" + // InternalGeneratorDSL.g:1987:1: entryRulePartialComparisonExpressionRule returns [EObject current=null] : iv_rulePartialComparisonExpressionRule= rulePartialComparisonExpressionRule EOF ; + public final EObject entryRulePartialComparisonExpressionRule() throws RecognitionException { + EObject current = null; + + EObject iv_rulePartialComparisonExpressionRule = null; + + + try { + // InternalGeneratorDSL.g:1987:72: (iv_rulePartialComparisonExpressionRule= rulePartialComparisonExpressionRule EOF ) + // InternalGeneratorDSL.g:1988:2: iv_rulePartialComparisonExpressionRule= rulePartialComparisonExpressionRule EOF + { + newCompositeNode(grammarAccess.getPartialComparisonExpressionRuleRule()); + pushFollow(FOLLOW_1); + iv_rulePartialComparisonExpressionRule=rulePartialComparisonExpressionRule(); + + state._fsp--; + + current =iv_rulePartialComparisonExpressionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePartialComparisonExpressionRule" + + + // $ANTLR start "rulePartialComparisonExpressionRule" + // InternalGeneratorDSL.g:1994:1: rulePartialComparisonExpressionRule returns [EObject current=null] : ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) ) ; + public final EObject rulePartialComparisonExpressionRule() throws RecognitionException { + EObject current = null; + + Enumerator lv_operator_0_0 = null; + + EObject lv_subExpression_1_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2000:2: ( ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) ) ) + // InternalGeneratorDSL.g:2001:2: ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) ) + { + // InternalGeneratorDSL.g:2001:2: ( ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) ) + // InternalGeneratorDSL.g:2002:3: ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) + { + // InternalGeneratorDSL.g:2002:3: ( (lv_operator_0_0= ruleComparisonOperatorRule ) ) + // InternalGeneratorDSL.g:2003:4: (lv_operator_0_0= ruleComparisonOperatorRule ) + { + // InternalGeneratorDSL.g:2003:4: (lv_operator_0_0= ruleComparisonOperatorRule ) + // InternalGeneratorDSL.g:2004:5: lv_operator_0_0= ruleComparisonOperatorRule + { + + newCompositeNode(grammarAccess.getPartialComparisonExpressionRuleAccess().getOperatorComparisonOperatorRuleEnumRuleCall_0_0()); + + pushFollow(FOLLOW_35); + lv_operator_0_0=ruleComparisonOperatorRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPartialComparisonExpressionRuleRule()); + } + set( + current, + "operator", + lv_operator_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.ComparisonOperatorRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:2021:3: ( (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) ) + // InternalGeneratorDSL.g:2022:4: (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) + { + // InternalGeneratorDSL.g:2022:4: (lv_subExpression_1_0= ruleAddOrSubtractExpressionRule ) + // InternalGeneratorDSL.g:2023:5: lv_subExpression_1_0= ruleAddOrSubtractExpressionRule + { + + newCompositeNode(grammarAccess.getPartialComparisonExpressionRuleAccess().getSubExpressionAddOrSubtractExpressionRuleParserRuleCall_1_0()); + + pushFollow(FOLLOW_2); + lv_subExpression_1_0=ruleAddOrSubtractExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPartialComparisonExpressionRuleRule()); + } + set( + current, + "subExpression", + lv_subExpression_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AddOrSubtractExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePartialComparisonExpressionRule" + + + // $ANTLR start "entryRuleAddOrSubtractExpressionRule" + // InternalGeneratorDSL.g:2044:1: entryRuleAddOrSubtractExpressionRule returns [EObject current=null] : iv_ruleAddOrSubtractExpressionRule= ruleAddOrSubtractExpressionRule EOF ; + public final EObject entryRuleAddOrSubtractExpressionRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleAddOrSubtractExpressionRule = null; + + + try { + // InternalGeneratorDSL.g:2044:68: (iv_ruleAddOrSubtractExpressionRule= ruleAddOrSubtractExpressionRule EOF ) + // InternalGeneratorDSL.g:2045:2: iv_ruleAddOrSubtractExpressionRule= ruleAddOrSubtractExpressionRule EOF + { + newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleAddOrSubtractExpressionRule=ruleAddOrSubtractExpressionRule(); + + state._fsp--; + + current =iv_ruleAddOrSubtractExpressionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleAddOrSubtractExpressionRule" + + + // $ANTLR start "ruleAddOrSubtractExpressionRule" + // InternalGeneratorDSL.g:2051:1: ruleAddOrSubtractExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* ) ; + public final EObject ruleAddOrSubtractExpressionRule() throws RecognitionException { + EObject current = null; + + EObject lv_leftOperand_0_0 = null; + + Enumerator lv_operators_1_0 = null; + + EObject lv_operands_2_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2057:2: ( ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* ) ) + // InternalGeneratorDSL.g:2058:2: ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* ) + { + // InternalGeneratorDSL.g:2058:2: ( ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* ) + // InternalGeneratorDSL.g:2059:3: ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* + { + // InternalGeneratorDSL.g:2059:3: ( (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) ) + // InternalGeneratorDSL.g:2060:4: (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) + { + // InternalGeneratorDSL.g:2060:4: (lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule ) + // InternalGeneratorDSL.g:2061:5: lv_leftOperand_0_0= ruleMultiplyDivideModuloExpressionRule + { + + newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleAccess().getLeftOperandMultiplyDivideModuloExpressionRuleParserRuleCall_0_0()); + + pushFollow(FOLLOW_39); + lv_leftOperand_0_0=ruleMultiplyDivideModuloExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAddOrSubtractExpressionRuleRule()); + } + set( + current, + "leftOperand", + lv_leftOperand_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.MultiplyDivideModuloExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:2078:3: ( ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) )* + loop26: + do { + int alt26=2; + int LA26_0 = input.LA(1); + + if ( ((LA26_0>=56 && LA26_0<=57)) ) { + alt26=1; + } + + + switch (alt26) { + case 1 : + // InternalGeneratorDSL.g:2079:4: ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) + { + // InternalGeneratorDSL.g:2079:4: ( (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) ) + // InternalGeneratorDSL.g:2080:5: (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) + { + // InternalGeneratorDSL.g:2080:5: (lv_operators_1_0= ruleAddOrSubtractOperatorRule ) + // InternalGeneratorDSL.g:2081:6: lv_operators_1_0= ruleAddOrSubtractOperatorRule + { + + newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_1_0_0()); + + pushFollow(FOLLOW_35); + lv_operators_1_0=ruleAddOrSubtractOperatorRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAddOrSubtractExpressionRuleRule()); + } + add( + current, + "operators", + lv_operators_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AddOrSubtractOperatorRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:2098:4: ( (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) ) + // InternalGeneratorDSL.g:2099:5: (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) + { + // InternalGeneratorDSL.g:2099:5: (lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule ) + // InternalGeneratorDSL.g:2100:6: lv_operands_2_0= ruleMultiplyDivideModuloExpressionRule + { + + newCompositeNode(grammarAccess.getAddOrSubtractExpressionRuleAccess().getOperandsMultiplyDivideModuloExpressionRuleParserRuleCall_1_1_0()); + + pushFollow(FOLLOW_39); + lv_operands_2_0=ruleMultiplyDivideModuloExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getAddOrSubtractExpressionRuleRule()); + } + add( + current, + "operands", + lv_operands_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.MultiplyDivideModuloExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop26; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAddOrSubtractExpressionRule" + + + // $ANTLR start "entryRuleMultiplyDivideModuloExpressionRule" + // InternalGeneratorDSL.g:2122:1: entryRuleMultiplyDivideModuloExpressionRule returns [EObject current=null] : iv_ruleMultiplyDivideModuloExpressionRule= ruleMultiplyDivideModuloExpressionRule EOF ; + public final EObject entryRuleMultiplyDivideModuloExpressionRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleMultiplyDivideModuloExpressionRule = null; + + + try { + // InternalGeneratorDSL.g:2122:75: (iv_ruleMultiplyDivideModuloExpressionRule= ruleMultiplyDivideModuloExpressionRule EOF ) + // InternalGeneratorDSL.g:2123:2: iv_ruleMultiplyDivideModuloExpressionRule= ruleMultiplyDivideModuloExpressionRule EOF + { + newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleMultiplyDivideModuloExpressionRule=ruleMultiplyDivideModuloExpressionRule(); + + state._fsp--; + + current =iv_ruleMultiplyDivideModuloExpressionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleMultiplyDivideModuloExpressionRule" + + + // $ANTLR start "ruleMultiplyDivideModuloExpressionRule" + // InternalGeneratorDSL.g:2129:1: ruleMultiplyDivideModuloExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* ) ; + public final EObject ruleMultiplyDivideModuloExpressionRule() throws RecognitionException { + EObject current = null; + + EObject lv_leftOperand_0_0 = null; + + Enumerator lv_operators_1_0 = null; + + EObject lv_operands_2_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2135:2: ( ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* ) ) + // InternalGeneratorDSL.g:2136:2: ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* ) + { + // InternalGeneratorDSL.g:2136:2: ( ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* ) + // InternalGeneratorDSL.g:2137:3: ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* + { + // InternalGeneratorDSL.g:2137:3: ( (lv_leftOperand_0_0= rulePowerOfExpressionRule ) ) + // InternalGeneratorDSL.g:2138:4: (lv_leftOperand_0_0= rulePowerOfExpressionRule ) + { + // InternalGeneratorDSL.g:2138:4: (lv_leftOperand_0_0= rulePowerOfExpressionRule ) + // InternalGeneratorDSL.g:2139:5: lv_leftOperand_0_0= rulePowerOfExpressionRule + { + + newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getLeftOperandPowerOfExpressionRuleParserRuleCall_0_0()); + + pushFollow(FOLLOW_40); + lv_leftOperand_0_0=rulePowerOfExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); + } + set( + current, + "leftOperand", + lv_leftOperand_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.PowerOfExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:2156:3: ( ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) )* + loop27: + do { + int alt27=2; + int LA27_0 = input.LA(1); + + if ( ((LA27_0>=58 && LA27_0<=60)) ) { + alt27=1; + } + + + switch (alt27) { + case 1 : + // InternalGeneratorDSL.g:2157:4: ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) + { + // InternalGeneratorDSL.g:2157:4: ( (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) ) + // InternalGeneratorDSL.g:2158:5: (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) + { + // InternalGeneratorDSL.g:2158:5: (lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule ) + // InternalGeneratorDSL.g:2159:6: lv_operators_1_0= ruleMultiplyDivideModuloOperatorRule + { + + newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperatorsMultiplyDivideModuloOperatorRuleEnumRuleCall_1_0_0()); + + pushFollow(FOLLOW_35); + lv_operators_1_0=ruleMultiplyDivideModuloOperatorRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); + } + add( + current, + "operators", + lv_operators_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.MultiplyDivideModuloOperatorRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:2176:4: ( (lv_operands_2_0= rulePowerOfExpressionRule ) ) + // InternalGeneratorDSL.g:2177:5: (lv_operands_2_0= rulePowerOfExpressionRule ) + { + // InternalGeneratorDSL.g:2177:5: (lv_operands_2_0= rulePowerOfExpressionRule ) + // InternalGeneratorDSL.g:2178:6: lv_operands_2_0= rulePowerOfExpressionRule + { + + newCompositeNode(grammarAccess.getMultiplyDivideModuloExpressionRuleAccess().getOperandsPowerOfExpressionRuleParserRuleCall_1_1_0()); + + pushFollow(FOLLOW_40); + lv_operands_2_0=rulePowerOfExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getMultiplyDivideModuloExpressionRuleRule()); + } + add( + current, + "operands", + lv_operands_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.PowerOfExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop27; + } + } while (true); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleMultiplyDivideModuloExpressionRule" + + + // $ANTLR start "entryRulePowerOfExpressionRule" + // InternalGeneratorDSL.g:2200:1: entryRulePowerOfExpressionRule returns [EObject current=null] : iv_rulePowerOfExpressionRule= rulePowerOfExpressionRule EOF ; + public final EObject entryRulePowerOfExpressionRule() throws RecognitionException { + EObject current = null; + + EObject iv_rulePowerOfExpressionRule = null; + + + try { + // InternalGeneratorDSL.g:2200:62: (iv_rulePowerOfExpressionRule= rulePowerOfExpressionRule EOF ) + // InternalGeneratorDSL.g:2201:2: iv_rulePowerOfExpressionRule= rulePowerOfExpressionRule EOF + { + newCompositeNode(grammarAccess.getPowerOfExpressionRuleRule()); + pushFollow(FOLLOW_1); + iv_rulePowerOfExpressionRule=rulePowerOfExpressionRule(); + + state._fsp--; + + current =iv_rulePowerOfExpressionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRulePowerOfExpressionRule" + + + // $ANTLR start "rulePowerOfExpressionRule" + // InternalGeneratorDSL.g:2207:1: rulePowerOfExpressionRule returns [EObject current=null] : ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? ) ; + public final EObject rulePowerOfExpressionRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + EObject lv_leftOperand_0_0 = null; + + EObject lv_rightOperand_2_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2213:2: ( ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? ) ) + // InternalGeneratorDSL.g:2214:2: ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? ) + { + // InternalGeneratorDSL.g:2214:2: ( ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? ) + // InternalGeneratorDSL.g:2215:3: ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? + { + // InternalGeneratorDSL.g:2215:3: ( (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) ) + // InternalGeneratorDSL.g:2216:4: (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) + { + // InternalGeneratorDSL.g:2216:4: (lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule ) + // InternalGeneratorDSL.g:2217:5: lv_leftOperand_0_0= ruleUnaryAddOrSubtractExpressionRule + { + + newCompositeNode(grammarAccess.getPowerOfExpressionRuleAccess().getLeftOperandUnaryAddOrSubtractExpressionRuleParserRuleCall_0_0()); + + pushFollow(FOLLOW_41); + lv_leftOperand_0_0=ruleUnaryAddOrSubtractExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPowerOfExpressionRuleRule()); + } + set( + current, + "leftOperand", + lv_leftOperand_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.UnaryAddOrSubtractExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:2234:3: (otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) )? + int alt28=2; + int LA28_0 = input.LA(1); + + if ( (LA28_0==42) ) { + alt28=1; + } + switch (alt28) { + case 1 : + // InternalGeneratorDSL.g:2235:4: otherlv_1= '^' ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) + { + otherlv_1=(Token)match(input,42,FOLLOW_35); + + newLeafNode(otherlv_1, grammarAccess.getPowerOfExpressionRuleAccess().getCircumflexAccentKeyword_1_0()); + + // InternalGeneratorDSL.g:2239:4: ( (lv_rightOperand_2_0= rulePowerOfExpressionRule ) ) + // InternalGeneratorDSL.g:2240:5: (lv_rightOperand_2_0= rulePowerOfExpressionRule ) + { + // InternalGeneratorDSL.g:2240:5: (lv_rightOperand_2_0= rulePowerOfExpressionRule ) + // InternalGeneratorDSL.g:2241:6: lv_rightOperand_2_0= rulePowerOfExpressionRule + { + + newCompositeNode(grammarAccess.getPowerOfExpressionRuleAccess().getRightOperandPowerOfExpressionRuleParserRuleCall_1_1_0()); + + pushFollow(FOLLOW_2); + lv_rightOperand_2_0=rulePowerOfExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getPowerOfExpressionRuleRule()); + } + set( + current, + "rightOperand", + lv_rightOperand_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.PowerOfExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "rulePowerOfExpressionRule" + + + // $ANTLR start "entryRuleUnaryAddOrSubtractExpressionRule" + // InternalGeneratorDSL.g:2263:1: entryRuleUnaryAddOrSubtractExpressionRule returns [EObject current=null] : iv_ruleUnaryAddOrSubtractExpressionRule= ruleUnaryAddOrSubtractExpressionRule EOF ; + public final EObject entryRuleUnaryAddOrSubtractExpressionRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleUnaryAddOrSubtractExpressionRule = null; + + + try { + // InternalGeneratorDSL.g:2263:73: (iv_ruleUnaryAddOrSubtractExpressionRule= ruleUnaryAddOrSubtractExpressionRule EOF ) + // InternalGeneratorDSL.g:2264:2: iv_ruleUnaryAddOrSubtractExpressionRule= ruleUnaryAddOrSubtractExpressionRule EOF + { + newCompositeNode(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleUnaryAddOrSubtractExpressionRule=ruleUnaryAddOrSubtractExpressionRule(); + + state._fsp--; + + current =iv_ruleUnaryAddOrSubtractExpressionRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleUnaryAddOrSubtractExpressionRule" + + + // $ANTLR start "ruleUnaryAddOrSubtractExpressionRule" + // InternalGeneratorDSL.g:2270:1: ruleUnaryAddOrSubtractExpressionRule returns [EObject current=null] : ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) ) ; + public final EObject ruleUnaryAddOrSubtractExpressionRule() throws RecognitionException { + EObject current = null; + + Enumerator lv_operators_0_0 = null; + + EObject lv_subExpression_1_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2276:2: ( ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) ) ) + // InternalGeneratorDSL.g:2277:2: ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) ) + { + // InternalGeneratorDSL.g:2277:2: ( ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) ) + // InternalGeneratorDSL.g:2278:3: ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) + { + // InternalGeneratorDSL.g:2278:3: ( (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) )* + loop29: + do { + int alt29=2; + int LA29_0 = input.LA(1); + + if ( ((LA29_0>=56 && LA29_0<=57)) ) { + alt29=1; + } + + + switch (alt29) { + case 1 : + // InternalGeneratorDSL.g:2279:4: (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) + { + // InternalGeneratorDSL.g:2279:4: (lv_operators_0_0= ruleAddOrSubtractOperatorRule ) + // InternalGeneratorDSL.g:2280:5: lv_operators_0_0= ruleAddOrSubtractOperatorRule + { + + newCompositeNode(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getOperatorsAddOrSubtractOperatorRuleEnumRuleCall_0_0()); + + pushFollow(FOLLOW_35); + lv_operators_0_0=ruleAddOrSubtractOperatorRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); + } + add( + current, + "operators", + lv_operators_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.AddOrSubtractOperatorRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + break; + + default : + break loop29; + } + } while (true); + + // InternalGeneratorDSL.g:2297:3: ( (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) ) + // InternalGeneratorDSL.g:2298:4: (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) + { + // InternalGeneratorDSL.g:2298:4: (lv_subExpression_1_0= ruleLiteralOrReferenceRule ) + // InternalGeneratorDSL.g:2299:5: lv_subExpression_1_0= ruleLiteralOrReferenceRule + { + + newCompositeNode(grammarAccess.getUnaryAddOrSubtractExpressionRuleAccess().getSubExpressionLiteralOrReferenceRuleParserRuleCall_1_0()); + + pushFollow(FOLLOW_2); + lv_subExpression_1_0=ruleLiteralOrReferenceRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getUnaryAddOrSubtractExpressionRuleRule()); + } + set( + current, + "subExpression", + lv_subExpression_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.LiteralOrReferenceRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleUnaryAddOrSubtractExpressionRule" + + + // $ANTLR start "entryRuleLiteralOrReferenceRule" + // InternalGeneratorDSL.g:2320:1: entryRuleLiteralOrReferenceRule returns [EObject current=null] : iv_ruleLiteralOrReferenceRule= ruleLiteralOrReferenceRule EOF ; + public final EObject entryRuleLiteralOrReferenceRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLiteralOrReferenceRule = null; + + + try { + // InternalGeneratorDSL.g:2320:63: (iv_ruleLiteralOrReferenceRule= ruleLiteralOrReferenceRule EOF ) + // InternalGeneratorDSL.g:2321:2: iv_ruleLiteralOrReferenceRule= ruleLiteralOrReferenceRule EOF + { + newCompositeNode(grammarAccess.getLiteralOrReferenceRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleLiteralOrReferenceRule=ruleLiteralOrReferenceRule(); + + state._fsp--; + + current =iv_ruleLiteralOrReferenceRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLiteralOrReferenceRule" + + + // $ANTLR start "ruleLiteralOrReferenceRule" + // InternalGeneratorDSL.g:2327:1: ruleLiteralOrReferenceRule returns [EObject current=null] : (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule ) ; + public final EObject ruleLiteralOrReferenceRule() throws RecognitionException { + EObject current = null; + + EObject this_CallRule_0 = null; + + EObject this_LiteralRule_1 = null; + + EObject this_ParanthesesRule_2 = null; + + EObject this_ValueReferenceRule_3 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2333:2: ( (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule ) ) + // InternalGeneratorDSL.g:2334:2: (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule ) + { + // InternalGeneratorDSL.g:2334:2: (this_CallRule_0= ruleCallRule | this_LiteralRule_1= ruleLiteralRule | this_ParanthesesRule_2= ruleParanthesesRule | this_ValueReferenceRule_3= ruleValueReferenceRule ) + int alt30=4; + switch ( input.LA(1) ) { + case 45: + { + alt30=1; + } + break; + case RULE_STRING: + case RULE_INT: + case 47: + case 48: + { + alt30=2; + } + break; + case 43: + { + alt30=3; + } + break; + case 46: + { + alt30=4; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 30, 0, input); + + throw nvae; + } + + switch (alt30) { + case 1 : + // InternalGeneratorDSL.g:2335:3: this_CallRule_0= ruleCallRule + { + + newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getCallRuleParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_CallRule_0=ruleCallRule(); + + state._fsp--; + + + current = this_CallRule_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalGeneratorDSL.g:2344:3: this_LiteralRule_1= ruleLiteralRule + { + + newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getLiteralRuleParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_LiteralRule_1=ruleLiteralRule(); + + state._fsp--; + + + current = this_LiteralRule_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // InternalGeneratorDSL.g:2353:3: this_ParanthesesRule_2= ruleParanthesesRule + { + + newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getParanthesesRuleParserRuleCall_2()); + + pushFollow(FOLLOW_2); + this_ParanthesesRule_2=ruleParanthesesRule(); + + state._fsp--; + + + current = this_ParanthesesRule_2; + afterParserOrEnumRuleCall(); + + + } + break; + case 4 : + // InternalGeneratorDSL.g:2362:3: this_ValueReferenceRule_3= ruleValueReferenceRule + { + + newCompositeNode(grammarAccess.getLiteralOrReferenceRuleAccess().getValueReferenceRuleParserRuleCall_3()); + + pushFollow(FOLLOW_2); + this_ValueReferenceRule_3=ruleValueReferenceRule(); + + state._fsp--; + + + current = this_ValueReferenceRule_3; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLiteralOrReferenceRule" + + + // $ANTLR start "entryRuleParanthesesRule" + // InternalGeneratorDSL.g:2374:1: entryRuleParanthesesRule returns [EObject current=null] : iv_ruleParanthesesRule= ruleParanthesesRule EOF ; + public final EObject entryRuleParanthesesRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleParanthesesRule = null; + + + try { + // InternalGeneratorDSL.g:2374:56: (iv_ruleParanthesesRule= ruleParanthesesRule EOF ) + // InternalGeneratorDSL.g:2375:2: iv_ruleParanthesesRule= ruleParanthesesRule EOF + { + newCompositeNode(grammarAccess.getParanthesesRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleParanthesesRule=ruleParanthesesRule(); + + state._fsp--; + + current =iv_ruleParanthesesRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleParanthesesRule" + + + // $ANTLR start "ruleParanthesesRule" + // InternalGeneratorDSL.g:2381:1: ruleParanthesesRule returns [EObject current=null] : (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' ) ; + public final EObject ruleParanthesesRule() throws RecognitionException { + EObject current = null; + + Token otherlv_0=null; + Token otherlv_2=null; + EObject lv_subExpression_1_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2387:2: ( (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' ) ) + // InternalGeneratorDSL.g:2388:2: (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' ) + { + // InternalGeneratorDSL.g:2388:2: (otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' ) + // InternalGeneratorDSL.g:2389:3: otherlv_0= '(' ( (lv_subExpression_1_0= ruleExpressionRule ) ) otherlv_2= ')' + { + otherlv_0=(Token)match(input,43,FOLLOW_35); + + newLeafNode(otherlv_0, grammarAccess.getParanthesesRuleAccess().getLeftParenthesisKeyword_0()); + + // InternalGeneratorDSL.g:2393:3: ( (lv_subExpression_1_0= ruleExpressionRule ) ) + // InternalGeneratorDSL.g:2394:4: (lv_subExpression_1_0= ruleExpressionRule ) + { + // InternalGeneratorDSL.g:2394:4: (lv_subExpression_1_0= ruleExpressionRule ) + // InternalGeneratorDSL.g:2395:5: lv_subExpression_1_0= ruleExpressionRule + { + + newCompositeNode(grammarAccess.getParanthesesRuleAccess().getSubExpressionExpressionRuleParserRuleCall_1_0()); + + pushFollow(FOLLOW_42); + lv_subExpression_1_0=ruleExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getParanthesesRuleRule()); + } + set( + current, + "subExpression", + lv_subExpression_1_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.ExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_2=(Token)match(input,44,FOLLOW_2); + + newLeafNode(otherlv_2, grammarAccess.getParanthesesRuleAccess().getRightParenthesisKeyword_2()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleParanthesesRule" + + + // $ANTLR start "entryRuleCallRule" + // InternalGeneratorDSL.g:2420:1: entryRuleCallRule returns [EObject current=null] : iv_ruleCallRule= ruleCallRule EOF ; + public final EObject entryRuleCallRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleCallRule = null; + + + try { + // InternalGeneratorDSL.g:2420:49: (iv_ruleCallRule= ruleCallRule EOF ) + // InternalGeneratorDSL.g:2421:2: iv_ruleCallRule= ruleCallRule EOF + { + newCompositeNode(grammarAccess.getCallRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleCallRule=ruleCallRule(); + + state._fsp--; + + current =iv_ruleCallRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleCallRule" + + + // $ANTLR start "ruleCallRule" + // InternalGeneratorDSL.g:2427:1: ruleCallRule returns [EObject current=null] : ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' ) ; + public final EObject ruleCallRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + Token otherlv_3=null; + Token otherlv_5=null; + EObject lv_function_0_0 = null; + + EObject lv_parameters_2_0 = null; + + EObject lv_parameters_4_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2433:2: ( ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' ) ) + // InternalGeneratorDSL.g:2434:2: ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' ) + { + // InternalGeneratorDSL.g:2434:2: ( ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' ) + // InternalGeneratorDSL.g:2435:3: ( (lv_function_0_0= ruleFunctionNameRule ) ) otherlv_1= '(' ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? otherlv_5= ')' + { + // InternalGeneratorDSL.g:2435:3: ( (lv_function_0_0= ruleFunctionNameRule ) ) + // InternalGeneratorDSL.g:2436:4: (lv_function_0_0= ruleFunctionNameRule ) + { + // InternalGeneratorDSL.g:2436:4: (lv_function_0_0= ruleFunctionNameRule ) + // InternalGeneratorDSL.g:2437:5: lv_function_0_0= ruleFunctionNameRule + { + + newCompositeNode(grammarAccess.getCallRuleAccess().getFunctionFunctionNameRuleParserRuleCall_0_0()); + + pushFollow(FOLLOW_43); + lv_function_0_0=ruleFunctionNameRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCallRuleRule()); + } + set( + current, + "function", + lv_function_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.FunctionNameRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + otherlv_1=(Token)match(input,43,FOLLOW_44); + + newLeafNode(otherlv_1, grammarAccess.getCallRuleAccess().getLeftParenthesisKeyword_1()); + + // InternalGeneratorDSL.g:2458:3: ( ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* )? + int alt32=2; + int LA32_0 = input.LA(1); + + if ( (LA32_0==RULE_STRING||LA32_0==RULE_INT||LA32_0==41||LA32_0==43||(LA32_0>=45 && LA32_0<=48)||(LA32_0>=56 && LA32_0<=57)) ) { + alt32=1; + } + switch (alt32) { + case 1 : + // InternalGeneratorDSL.g:2459:4: ( (lv_parameters_2_0= ruleExpressionRule ) ) (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* + { + // InternalGeneratorDSL.g:2459:4: ( (lv_parameters_2_0= ruleExpressionRule ) ) + // InternalGeneratorDSL.g:2460:5: (lv_parameters_2_0= ruleExpressionRule ) + { + // InternalGeneratorDSL.g:2460:5: (lv_parameters_2_0= ruleExpressionRule ) + // InternalGeneratorDSL.g:2461:6: lv_parameters_2_0= ruleExpressionRule + { + + newCompositeNode(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_0_0()); + + pushFollow(FOLLOW_45); + lv_parameters_2_0=ruleExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCallRuleRule()); + } + add( + current, + "parameters", + lv_parameters_2_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.ExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + // InternalGeneratorDSL.g:2478:4: (otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) )* + loop31: + do { + int alt31=2; + int LA31_0 = input.LA(1); + + if ( (LA31_0==25) ) { + alt31=1; + } + + + switch (alt31) { + case 1 : + // InternalGeneratorDSL.g:2479:5: otherlv_3= ',' ( (lv_parameters_4_0= ruleExpressionRule ) ) + { + otherlv_3=(Token)match(input,25,FOLLOW_35); + + newLeafNode(otherlv_3, grammarAccess.getCallRuleAccess().getCommaKeyword_2_1_0()); + + // InternalGeneratorDSL.g:2483:5: ( (lv_parameters_4_0= ruleExpressionRule ) ) + // InternalGeneratorDSL.g:2484:6: (lv_parameters_4_0= ruleExpressionRule ) + { + // InternalGeneratorDSL.g:2484:6: (lv_parameters_4_0= ruleExpressionRule ) + // InternalGeneratorDSL.g:2485:7: lv_parameters_4_0= ruleExpressionRule + { + + newCompositeNode(grammarAccess.getCallRuleAccess().getParametersExpressionRuleParserRuleCall_2_1_1_0()); + + pushFollow(FOLLOW_45); + lv_parameters_4_0=ruleExpressionRule(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getCallRuleRule()); + } + add( + current, + "parameters", + lv_parameters_4_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.ExpressionRule"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + break; + + default : + break loop31; + } + } while (true); + + + } + break; + + } + + otherlv_5=(Token)match(input,44,FOLLOW_2); + + newLeafNode(otherlv_5, grammarAccess.getCallRuleAccess().getRightParenthesisKeyword_3()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleCallRule" + + + // $ANTLR start "entryRuleFunctionNameRule" + // InternalGeneratorDSL.g:2512:1: entryRuleFunctionNameRule returns [EObject current=null] : iv_ruleFunctionNameRule= ruleFunctionNameRule EOF ; + public final EObject entryRuleFunctionNameRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleFunctionNameRule = null; + + + try { + // InternalGeneratorDSL.g:2512:57: (iv_ruleFunctionNameRule= ruleFunctionNameRule EOF ) + // InternalGeneratorDSL.g:2513:2: iv_ruleFunctionNameRule= ruleFunctionNameRule EOF + { + newCompositeNode(grammarAccess.getFunctionNameRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleFunctionNameRule=ruleFunctionNameRule(); + + state._fsp--; + + current =iv_ruleFunctionNameRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleFunctionNameRule" + + + // $ANTLR start "ruleFunctionNameRule" + // InternalGeneratorDSL.g:2519:1: ruleFunctionNameRule returns [EObject current=null] : ( () otherlv_1= 'call' ) ; + public final EObject ruleFunctionNameRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2525:2: ( ( () otherlv_1= 'call' ) ) + // InternalGeneratorDSL.g:2526:2: ( () otherlv_1= 'call' ) + { + // InternalGeneratorDSL.g:2526:2: ( () otherlv_1= 'call' ) + // InternalGeneratorDSL.g:2527:3: () otherlv_1= 'call' + { + // InternalGeneratorDSL.g:2527:3: () + // InternalGeneratorDSL.g:2528:4: + { + + current = forceCreateModelElement( + grammarAccess.getFunctionNameRuleAccess().getFunctionNameAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,45,FOLLOW_2); + + newLeafNode(otherlv_1, grammarAccess.getFunctionNameRuleAccess().getCallKeyword_1()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleFunctionNameRule" + + + // $ANTLR start "entryRuleValueReferenceRule" + // InternalGeneratorDSL.g:2542:1: entryRuleValueReferenceRule returns [EObject current=null] : iv_ruleValueReferenceRule= ruleValueReferenceRule EOF ; + public final EObject entryRuleValueReferenceRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleValueReferenceRule = null; + + + try { + // InternalGeneratorDSL.g:2542:59: (iv_ruleValueReferenceRule= ruleValueReferenceRule EOF ) + // InternalGeneratorDSL.g:2543:2: iv_ruleValueReferenceRule= ruleValueReferenceRule EOF + { + newCompositeNode(grammarAccess.getValueReferenceRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleValueReferenceRule=ruleValueReferenceRule(); + + state._fsp--; + + current =iv_ruleValueReferenceRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleValueReferenceRule" + + + // $ANTLR start "ruleValueReferenceRule" + // InternalGeneratorDSL.g:2549:1: ruleValueReferenceRule returns [EObject current=null] : ( () otherlv_1= 'value' ) ; + public final EObject ruleValueReferenceRule() throws RecognitionException { + EObject current = null; + + Token otherlv_1=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2555:2: ( ( () otherlv_1= 'value' ) ) + // InternalGeneratorDSL.g:2556:2: ( () otherlv_1= 'value' ) + { + // InternalGeneratorDSL.g:2556:2: ( () otherlv_1= 'value' ) + // InternalGeneratorDSL.g:2557:3: () otherlv_1= 'value' + { + // InternalGeneratorDSL.g:2557:3: () + // InternalGeneratorDSL.g:2558:4: + { + + current = forceCreateModelElement( + grammarAccess.getValueReferenceRuleAccess().getValueReferenceAction_0(), + current); + + + } + + otherlv_1=(Token)match(input,46,FOLLOW_2); + + newLeafNode(otherlv_1, grammarAccess.getValueReferenceRuleAccess().getValueKeyword_1()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleValueReferenceRule" + + + // $ANTLR start "entryRuleLiteralRule" + // InternalGeneratorDSL.g:2572:1: entryRuleLiteralRule returns [EObject current=null] : iv_ruleLiteralRule= ruleLiteralRule EOF ; + public final EObject entryRuleLiteralRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleLiteralRule = null; + + + try { + // InternalGeneratorDSL.g:2572:52: (iv_ruleLiteralRule= ruleLiteralRule EOF ) + // InternalGeneratorDSL.g:2573:2: iv_ruleLiteralRule= ruleLiteralRule EOF + { + newCompositeNode(grammarAccess.getLiteralRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleLiteralRule=ruleLiteralRule(); + + state._fsp--; + + current =iv_ruleLiteralRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleLiteralRule" + + + // $ANTLR start "ruleLiteralRule" + // InternalGeneratorDSL.g:2579:1: ruleLiteralRule returns [EObject current=null] : (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule ) ; + public final EObject ruleLiteralRule() throws RecognitionException { + EObject current = null; + + EObject this_NumberLiteralRule_0 = null; + + EObject this_StringLiteralRule_1 = null; + + EObject this_BooleanLiteralRule_2 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2585:2: ( (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule ) ) + // InternalGeneratorDSL.g:2586:2: (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule ) + { + // InternalGeneratorDSL.g:2586:2: (this_NumberLiteralRule_0= ruleNumberLiteralRule | this_StringLiteralRule_1= ruleStringLiteralRule | this_BooleanLiteralRule_2= ruleBooleanLiteralRule ) + int alt33=3; + switch ( input.LA(1) ) { + case RULE_INT: + { + alt33=1; + } + break; + case RULE_STRING: + { + alt33=2; + } + break; + case 47: + case 48: + { + alt33=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 33, 0, input); + + throw nvae; + } + + switch (alt33) { + case 1 : + // InternalGeneratorDSL.g:2587:3: this_NumberLiteralRule_0= ruleNumberLiteralRule + { + + newCompositeNode(grammarAccess.getLiteralRuleAccess().getNumberLiteralRuleParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_NumberLiteralRule_0=ruleNumberLiteralRule(); + + state._fsp--; + + + current = this_NumberLiteralRule_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalGeneratorDSL.g:2596:3: this_StringLiteralRule_1= ruleStringLiteralRule + { + + newCompositeNode(grammarAccess.getLiteralRuleAccess().getStringLiteralRuleParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_StringLiteralRule_1=ruleStringLiteralRule(); + + state._fsp--; + + + current = this_StringLiteralRule_1; + afterParserOrEnumRuleCall(); + + + } + break; + case 3 : + // InternalGeneratorDSL.g:2605:3: this_BooleanLiteralRule_2= ruleBooleanLiteralRule + { + + newCompositeNode(grammarAccess.getLiteralRuleAccess().getBooleanLiteralRuleParserRuleCall_2()); + + pushFollow(FOLLOW_2); + this_BooleanLiteralRule_2=ruleBooleanLiteralRule(); + + state._fsp--; + + + current = this_BooleanLiteralRule_2; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleLiteralRule" + + + // $ANTLR start "entryRuleNumberLiteralRule" + // InternalGeneratorDSL.g:2617:1: entryRuleNumberLiteralRule returns [EObject current=null] : iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF ; + public final EObject entryRuleNumberLiteralRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleNumberLiteralRule = null; + + + try { + // InternalGeneratorDSL.g:2617:58: (iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF ) + // InternalGeneratorDSL.g:2618:2: iv_ruleNumberLiteralRule= ruleNumberLiteralRule EOF + { + newCompositeNode(grammarAccess.getNumberLiteralRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleNumberLiteralRule=ruleNumberLiteralRule(); + + state._fsp--; + + current =iv_ruleNumberLiteralRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleNumberLiteralRule" + + + // $ANTLR start "ruleNumberLiteralRule" + // InternalGeneratorDSL.g:2624:1: ruleNumberLiteralRule returns [EObject current=null] : (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule ) ; + public final EObject ruleNumberLiteralRule() throws RecognitionException { + EObject current = null; + + EObject this_DoubleLiteralRule_0 = null; + + EObject this_IntegerLiteralRule_1 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2630:2: ( (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule ) ) + // InternalGeneratorDSL.g:2631:2: (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule ) + { + // InternalGeneratorDSL.g:2631:2: (this_DoubleLiteralRule_0= ruleDoubleLiteralRule | this_IntegerLiteralRule_1= ruleIntegerLiteralRule ) + int alt34=2; + int LA34_0 = input.LA(1); + + if ( (LA34_0==RULE_INT) ) { + int LA34_1 = input.LA(2); + + if ( (LA34_1==49) ) { + alt34=1; + } + else if ( (LA34_1==EOF||LA34_1==13||LA34_1==23||LA34_1==25||(LA34_1>=38 && LA34_1<=40)||LA34_1==42||LA34_1==44||(LA34_1>=50 && LA34_1<=60)) ) { + alt34=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 34, 1, input); + + throw nvae; + } + } + else { + NoViableAltException nvae = + new NoViableAltException("", 34, 0, input); + + throw nvae; + } + switch (alt34) { + case 1 : + // InternalGeneratorDSL.g:2632:3: this_DoubleLiteralRule_0= ruleDoubleLiteralRule + { + + newCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getDoubleLiteralRuleParserRuleCall_0()); + + pushFollow(FOLLOW_2); + this_DoubleLiteralRule_0=ruleDoubleLiteralRule(); + + state._fsp--; + + + current = this_DoubleLiteralRule_0; + afterParserOrEnumRuleCall(); + + + } + break; + case 2 : + // InternalGeneratorDSL.g:2641:3: this_IntegerLiteralRule_1= ruleIntegerLiteralRule + { + + newCompositeNode(grammarAccess.getNumberLiteralRuleAccess().getIntegerLiteralRuleParserRuleCall_1()); + + pushFollow(FOLLOW_2); + this_IntegerLiteralRule_1=ruleIntegerLiteralRule(); + + state._fsp--; + + + current = this_IntegerLiteralRule_1; + afterParserOrEnumRuleCall(); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleNumberLiteralRule" + + + // $ANTLR start "entryRuleDoubleLiteralRule" + // InternalGeneratorDSL.g:2653:1: entryRuleDoubleLiteralRule returns [EObject current=null] : iv_ruleDoubleLiteralRule= ruleDoubleLiteralRule EOF ; + public final EObject entryRuleDoubleLiteralRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleDoubleLiteralRule = null; + + + try { + // InternalGeneratorDSL.g:2653:58: (iv_ruleDoubleLiteralRule= ruleDoubleLiteralRule EOF ) + // InternalGeneratorDSL.g:2654:2: iv_ruleDoubleLiteralRule= ruleDoubleLiteralRule EOF + { + newCompositeNode(grammarAccess.getDoubleLiteralRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleDoubleLiteralRule=ruleDoubleLiteralRule(); + + state._fsp--; + + current =iv_ruleDoubleLiteralRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDoubleLiteralRule" + + + // $ANTLR start "ruleDoubleLiteralRule" + // InternalGeneratorDSL.g:2660:1: ruleDoubleLiteralRule returns [EObject current=null] : ( (lv_value_0_0= ruleDOUBLE ) ) ; + public final EObject ruleDoubleLiteralRule() throws RecognitionException { + EObject current = null; + + AntlrDatatypeRuleToken lv_value_0_0 = null; + + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2666:2: ( ( (lv_value_0_0= ruleDOUBLE ) ) ) + // InternalGeneratorDSL.g:2667:2: ( (lv_value_0_0= ruleDOUBLE ) ) + { + // InternalGeneratorDSL.g:2667:2: ( (lv_value_0_0= ruleDOUBLE ) ) + // InternalGeneratorDSL.g:2668:3: (lv_value_0_0= ruleDOUBLE ) + { + // InternalGeneratorDSL.g:2668:3: (lv_value_0_0= ruleDOUBLE ) + // InternalGeneratorDSL.g:2669:4: lv_value_0_0= ruleDOUBLE + { + + newCompositeNode(grammarAccess.getDoubleLiteralRuleAccess().getValueDOUBLEParserRuleCall_0()); + + pushFollow(FOLLOW_2); + lv_value_0_0=ruleDOUBLE(); + + state._fsp--; + + + if (current==null) { + current = createModelElementForParent(grammarAccess.getDoubleLiteralRuleRule()); + } + set( + current, + "value", + lv_value_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.DOUBLE"); + afterParserOrEnumRuleCall(); + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDoubleLiteralRule" + + + // $ANTLR start "entryRuleIntegerLiteralRule" + // InternalGeneratorDSL.g:2689:1: entryRuleIntegerLiteralRule returns [EObject current=null] : iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF ; + public final EObject entryRuleIntegerLiteralRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleIntegerLiteralRule = null; + + + try { + // InternalGeneratorDSL.g:2689:59: (iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF ) + // InternalGeneratorDSL.g:2690:2: iv_ruleIntegerLiteralRule= ruleIntegerLiteralRule EOF + { + newCompositeNode(grammarAccess.getIntegerLiteralRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleIntegerLiteralRule=ruleIntegerLiteralRule(); + + state._fsp--; + + current =iv_ruleIntegerLiteralRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleIntegerLiteralRule" + + + // $ANTLR start "ruleIntegerLiteralRule" + // InternalGeneratorDSL.g:2696:1: ruleIntegerLiteralRule returns [EObject current=null] : ( (lv_value_0_0= RULE_INT ) ) ; + public final EObject ruleIntegerLiteralRule() throws RecognitionException { + EObject current = null; + + Token lv_value_0_0=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2702:2: ( ( (lv_value_0_0= RULE_INT ) ) ) + // InternalGeneratorDSL.g:2703:2: ( (lv_value_0_0= RULE_INT ) ) + { + // InternalGeneratorDSL.g:2703:2: ( (lv_value_0_0= RULE_INT ) ) + // InternalGeneratorDSL.g:2704:3: (lv_value_0_0= RULE_INT ) + { + // InternalGeneratorDSL.g:2704:3: (lv_value_0_0= RULE_INT ) + // InternalGeneratorDSL.g:2705:4: lv_value_0_0= RULE_INT + { + lv_value_0_0=(Token)match(input,RULE_INT,FOLLOW_2); + + newLeafNode(lv_value_0_0, grammarAccess.getIntegerLiteralRuleAccess().getValueINTTerminalRuleCall_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getIntegerLiteralRuleRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_0_0, + "org.eclipse.xtext.common.Terminals.INT"); + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleIntegerLiteralRule" + + + // $ANTLR start "entryRuleStringLiteralRule" + // InternalGeneratorDSL.g:2724:1: entryRuleStringLiteralRule returns [EObject current=null] : iv_ruleStringLiteralRule= ruleStringLiteralRule EOF ; + public final EObject entryRuleStringLiteralRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleStringLiteralRule = null; + + + try { + // InternalGeneratorDSL.g:2724:58: (iv_ruleStringLiteralRule= ruleStringLiteralRule EOF ) + // InternalGeneratorDSL.g:2725:2: iv_ruleStringLiteralRule= ruleStringLiteralRule EOF + { + newCompositeNode(grammarAccess.getStringLiteralRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleStringLiteralRule=ruleStringLiteralRule(); + + state._fsp--; + + current =iv_ruleStringLiteralRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStringLiteralRule" + + + // $ANTLR start "ruleStringLiteralRule" + // InternalGeneratorDSL.g:2731:1: ruleStringLiteralRule returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ; + public final EObject ruleStringLiteralRule() throws RecognitionException { + EObject current = null; + + Token lv_value_0_0=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2737:2: ( ( (lv_value_0_0= RULE_STRING ) ) ) + // InternalGeneratorDSL.g:2738:2: ( (lv_value_0_0= RULE_STRING ) ) + { + // InternalGeneratorDSL.g:2738:2: ( (lv_value_0_0= RULE_STRING ) ) + // InternalGeneratorDSL.g:2739:3: (lv_value_0_0= RULE_STRING ) + { + // InternalGeneratorDSL.g:2739:3: (lv_value_0_0= RULE_STRING ) + // InternalGeneratorDSL.g:2740:4: lv_value_0_0= RULE_STRING + { + lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_2); + + newLeafNode(lv_value_0_0, grammarAccess.getStringLiteralRuleAccess().getValueSTRINGTerminalRuleCall_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getStringLiteralRuleRule()); + } + setWithLastConsumed( + current, + "value", + lv_value_0_0, + "de.evoal.languages.model.el.dsl.ExpressionLanguage.STRING"); + + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStringLiteralRule" + + + // $ANTLR start "entryRuleBooleanLiteralRule" + // InternalGeneratorDSL.g:2759:1: entryRuleBooleanLiteralRule returns [EObject current=null] : iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF ; + public final EObject entryRuleBooleanLiteralRule() throws RecognitionException { + EObject current = null; + + EObject iv_ruleBooleanLiteralRule = null; + + + try { + // InternalGeneratorDSL.g:2759:59: (iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF ) + // InternalGeneratorDSL.g:2760:2: iv_ruleBooleanLiteralRule= ruleBooleanLiteralRule EOF + { + newCompositeNode(grammarAccess.getBooleanLiteralRuleRule()); + pushFollow(FOLLOW_1); + iv_ruleBooleanLiteralRule=ruleBooleanLiteralRule(); + + state._fsp--; + + current =iv_ruleBooleanLiteralRule; + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleBooleanLiteralRule" + + + // $ANTLR start "ruleBooleanLiteralRule" + // InternalGeneratorDSL.g:2766:1: ruleBooleanLiteralRule returns [EObject current=null] : ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) ) ; + public final EObject ruleBooleanLiteralRule() throws RecognitionException { + EObject current = null; + + Token lv_value_1_0=null; + Token otherlv_2=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2772:2: ( ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) ) ) + // InternalGeneratorDSL.g:2773:2: ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) ) + { + // InternalGeneratorDSL.g:2773:2: ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) ) + // InternalGeneratorDSL.g:2774:3: () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) + { + // InternalGeneratorDSL.g:2774:3: () + // InternalGeneratorDSL.g:2775:4: + { + + current = forceCreateModelElement( + grammarAccess.getBooleanLiteralRuleAccess().getBooleanLiteralAction_0(), + current); + + + } + + // InternalGeneratorDSL.g:2781:3: ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) + int alt35=2; + int LA35_0 = input.LA(1); + + if ( (LA35_0==47) ) { + alt35=1; + } + else if ( (LA35_0==48) ) { + alt35=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 35, 0, input); + + throw nvae; + } + switch (alt35) { + case 1 : + // InternalGeneratorDSL.g:2782:4: ( (lv_value_1_0= 'true' ) ) + { + // InternalGeneratorDSL.g:2782:4: ( (lv_value_1_0= 'true' ) ) + // InternalGeneratorDSL.g:2783:5: (lv_value_1_0= 'true' ) + { + // InternalGeneratorDSL.g:2783:5: (lv_value_1_0= 'true' ) + // InternalGeneratorDSL.g:2784:6: lv_value_1_0= 'true' + { + lv_value_1_0=(Token)match(input,47,FOLLOW_2); + + newLeafNode(lv_value_1_0, grammarAccess.getBooleanLiteralRuleAccess().getValueTrueKeyword_1_0_0()); + + + if (current==null) { + current = createModelElement(grammarAccess.getBooleanLiteralRuleRule()); + } + setWithLastConsumed(current, "value", lv_value_1_0 != null, "true"); + + + } + + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:2797:4: otherlv_2= 'false' + { + otherlv_2=(Token)match(input,48,FOLLOW_2); + + newLeafNode(otherlv_2, grammarAccess.getBooleanLiteralRuleAccess().getFalseKeyword_1_1()); + + + } + break; + + } + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleBooleanLiteralRule" + + + // $ANTLR start "entryRuleStringOrId" + // InternalGeneratorDSL.g:2806:1: entryRuleStringOrId returns [String current=null] : iv_ruleStringOrId= ruleStringOrId EOF ; + public final String entryRuleStringOrId() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleStringOrId = null; + + + try { + // InternalGeneratorDSL.g:2806:50: (iv_ruleStringOrId= ruleStringOrId EOF ) + // InternalGeneratorDSL.g:2807:2: iv_ruleStringOrId= ruleStringOrId EOF + { + newCompositeNode(grammarAccess.getStringOrIdRule()); + pushFollow(FOLLOW_1); + iv_ruleStringOrId=ruleStringOrId(); + + state._fsp--; + + current =iv_ruleStringOrId.getText(); + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleStringOrId" + + + // $ANTLR start "ruleStringOrId" + // InternalGeneratorDSL.g:2813:1: ruleStringOrId returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID ) ; + public final AntlrDatatypeRuleToken ruleStringOrId() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_QUOTED_ID_0=null; + Token this_ID_1=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2819:2: ( (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID ) ) + // InternalGeneratorDSL.g:2820:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID ) + { + // InternalGeneratorDSL.g:2820:2: (this_QUOTED_ID_0= RULE_QUOTED_ID | this_ID_1= RULE_ID ) + int alt36=2; + int LA36_0 = input.LA(1); + + if ( (LA36_0==RULE_QUOTED_ID) ) { + alt36=1; + } + else if ( (LA36_0==RULE_ID) ) { + alt36=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 36, 0, input); + + throw nvae; + } + switch (alt36) { + case 1 : + // InternalGeneratorDSL.g:2821:3: this_QUOTED_ID_0= RULE_QUOTED_ID + { + this_QUOTED_ID_0=(Token)match(input,RULE_QUOTED_ID,FOLLOW_2); + + current.merge(this_QUOTED_ID_0); + + + newLeafNode(this_QUOTED_ID_0, grammarAccess.getStringOrIdAccess().getQUOTED_IDTerminalRuleCall_0()); + + + } + break; + case 2 : + // InternalGeneratorDSL.g:2829:3: this_ID_1= RULE_ID + { + this_ID_1=(Token)match(input,RULE_ID,FOLLOW_2); + + current.merge(this_ID_1); + + + newLeafNode(this_ID_1, grammarAccess.getStringOrIdAccess().getIDTerminalRuleCall_1()); + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleStringOrId" + + + // $ANTLR start "entryRuleDOUBLE" + // InternalGeneratorDSL.g:2840:1: entryRuleDOUBLE returns [String current=null] : iv_ruleDOUBLE= ruleDOUBLE EOF ; + public final String entryRuleDOUBLE() throws RecognitionException { + String current = null; + + AntlrDatatypeRuleToken iv_ruleDOUBLE = null; + + + try { + // InternalGeneratorDSL.g:2840:46: (iv_ruleDOUBLE= ruleDOUBLE EOF ) + // InternalGeneratorDSL.g:2841:2: iv_ruleDOUBLE= ruleDOUBLE EOF + { + newCompositeNode(grammarAccess.getDOUBLERule()); + pushFollow(FOLLOW_1); + iv_ruleDOUBLE=ruleDOUBLE(); + + state._fsp--; + + current =iv_ruleDOUBLE.getText(); + match(input,EOF,FOLLOW_2); + + } + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "entryRuleDOUBLE" + + + // $ANTLR start "ruleDOUBLE" + // InternalGeneratorDSL.g:2847:1: ruleDOUBLE returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT kw= '.' this_INT_2= RULE_INT ) ; + public final AntlrDatatypeRuleToken ruleDOUBLE() throws RecognitionException { + AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); + + Token this_INT_0=null; + Token kw=null; + Token this_INT_2=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2853:2: ( (this_INT_0= RULE_INT kw= '.' this_INT_2= RULE_INT ) ) + // InternalGeneratorDSL.g:2854:2: (this_INT_0= RULE_INT kw= '.' this_INT_2= RULE_INT ) + { + // InternalGeneratorDSL.g:2854:2: (this_INT_0= RULE_INT kw= '.' this_INT_2= RULE_INT ) + // InternalGeneratorDSL.g:2855:3: this_INT_0= RULE_INT kw= '.' this_INT_2= RULE_INT + { + this_INT_0=(Token)match(input,RULE_INT,FOLLOW_46); + + current.merge(this_INT_0); + + + newLeafNode(this_INT_0, grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_0()); + + kw=(Token)match(input,49,FOLLOW_16); + + current.merge(kw); + newLeafNode(kw, grammarAccess.getDOUBLEAccess().getFullStopKeyword_1()); + + this_INT_2=(Token)match(input,RULE_INT,FOLLOW_2); + + current.merge(this_INT_2); + + + newLeafNode(this_INT_2, grammarAccess.getDOUBLEAccess().getINTTerminalRuleCall_2()); + + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleDOUBLE" + + + // $ANTLR start "ruleComparisonOperatorRule" + // InternalGeneratorDSL.g:2878:1: ruleComparisonOperatorRule returns [Enumerator current=null] : ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) ) ; + public final Enumerator ruleComparisonOperatorRule() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + Token enumLiteral_3=null; + Token enumLiteral_4=null; + Token enumLiteral_5=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2884:2: ( ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) ) ) + // InternalGeneratorDSL.g:2885:2: ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) ) + { + // InternalGeneratorDSL.g:2885:2: ( (enumLiteral_0= '>=' ) | (enumLiteral_1= '>' ) | (enumLiteral_2= '=' ) | (enumLiteral_3= '!=' ) | (enumLiteral_4= '<' ) | (enumLiteral_5= '<=' ) ) + int alt37=6; + switch ( input.LA(1) ) { + case 50: + { + alt37=1; + } + break; + case 51: + { + alt37=2; + } + break; + case 52: + { + alt37=3; + } + break; + case 53: + { + alt37=4; + } + break; + case 54: + { + alt37=5; + } + break; + case 55: + { + alt37=6; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 37, 0, input); + + throw nvae; + } + + switch (alt37) { + case 1 : + // InternalGeneratorDSL.g:2886:3: (enumLiteral_0= '>=' ) + { + // InternalGeneratorDSL.g:2886:3: (enumLiteral_0= '>=' ) + // InternalGeneratorDSL.g:2887:4: enumLiteral_0= '>=' + { + enumLiteral_0=(Token)match(input,50,FOLLOW_2); + + current = grammarAccess.getComparisonOperatorRuleAccess().getGreaterThanEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getComparisonOperatorRuleAccess().getGreaterThanEnumLiteralDeclaration_0()); + + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:2894:3: (enumLiteral_1= '>' ) + { + // InternalGeneratorDSL.g:2894:3: (enumLiteral_1= '>' ) + // InternalGeneratorDSL.g:2895:4: enumLiteral_1= '>' + { + enumLiteral_1=(Token)match(input,51,FOLLOW_2); + + current = grammarAccess.getComparisonOperatorRuleAccess().getGreaterEqualEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getComparisonOperatorRuleAccess().getGreaterEqualEnumLiteralDeclaration_1()); + + + } + + + } + break; + case 3 : + // InternalGeneratorDSL.g:2902:3: (enumLiteral_2= '=' ) + { + // InternalGeneratorDSL.g:2902:3: (enumLiteral_2= '=' ) + // InternalGeneratorDSL.g:2903:4: enumLiteral_2= '=' + { + enumLiteral_2=(Token)match(input,52,FOLLOW_2); + + current = grammarAccess.getComparisonOperatorRuleAccess().getEqualEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getComparisonOperatorRuleAccess().getEqualEnumLiteralDeclaration_2()); + + + } + + + } + break; + case 4 : + // InternalGeneratorDSL.g:2910:3: (enumLiteral_3= '!=' ) + { + // InternalGeneratorDSL.g:2910:3: (enumLiteral_3= '!=' ) + // InternalGeneratorDSL.g:2911:4: enumLiteral_3= '!=' + { + enumLiteral_3=(Token)match(input,53,FOLLOW_2); + + current = grammarAccess.getComparisonOperatorRuleAccess().getUnequalEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_3, grammarAccess.getComparisonOperatorRuleAccess().getUnequalEnumLiteralDeclaration_3()); + + + } + + + } + break; + case 5 : + // InternalGeneratorDSL.g:2918:3: (enumLiteral_4= '<' ) + { + // InternalGeneratorDSL.g:2918:3: (enumLiteral_4= '<' ) + // InternalGeneratorDSL.g:2919:4: enumLiteral_4= '<' + { + enumLiteral_4=(Token)match(input,54,FOLLOW_2); + + current = grammarAccess.getComparisonOperatorRuleAccess().getLessEqualEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_4, grammarAccess.getComparisonOperatorRuleAccess().getLessEqualEnumLiteralDeclaration_4()); + + + } + + + } + break; + case 6 : + // InternalGeneratorDSL.g:2926:3: (enumLiteral_5= '<=' ) + { + // InternalGeneratorDSL.g:2926:3: (enumLiteral_5= '<=' ) + // InternalGeneratorDSL.g:2927:4: enumLiteral_5= '<=' + { + enumLiteral_5=(Token)match(input,55,FOLLOW_2); + + current = grammarAccess.getComparisonOperatorRuleAccess().getLessThanEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_5, grammarAccess.getComparisonOperatorRuleAccess().getLessThanEnumLiteralDeclaration_5()); + + + } + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleComparisonOperatorRule" + + + // $ANTLR start "ruleAddOrSubtractOperatorRule" + // InternalGeneratorDSL.g:2937:1: ruleAddOrSubtractOperatorRule returns [Enumerator current=null] : ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ; + public final Enumerator ruleAddOrSubtractOperatorRule() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2943:2: ( ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) ) + // InternalGeneratorDSL.g:2944:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) + { + // InternalGeneratorDSL.g:2944:2: ( (enumLiteral_0= '+' ) | (enumLiteral_1= '-' ) ) + int alt38=2; + int LA38_0 = input.LA(1); + + if ( (LA38_0==56) ) { + alt38=1; + } + else if ( (LA38_0==57) ) { + alt38=2; + } + else { + NoViableAltException nvae = + new NoViableAltException("", 38, 0, input); + + throw nvae; + } + switch (alt38) { + case 1 : + // InternalGeneratorDSL.g:2945:3: (enumLiteral_0= '+' ) + { + // InternalGeneratorDSL.g:2945:3: (enumLiteral_0= '+' ) + // InternalGeneratorDSL.g:2946:4: enumLiteral_0= '+' + { + enumLiteral_0=(Token)match(input,56,FOLLOW_2); + + current = grammarAccess.getAddOrSubtractOperatorRuleAccess().getAddEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getAddOrSubtractOperatorRuleAccess().getAddEnumLiteralDeclaration_0()); + + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:2953:3: (enumLiteral_1= '-' ) + { + // InternalGeneratorDSL.g:2953:3: (enumLiteral_1= '-' ) + // InternalGeneratorDSL.g:2954:4: enumLiteral_1= '-' + { + enumLiteral_1=(Token)match(input,57,FOLLOW_2); + + current = grammarAccess.getAddOrSubtractOperatorRuleAccess().getSubtractEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getAddOrSubtractOperatorRuleAccess().getSubtractEnumLiteralDeclaration_1()); + + + } + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleAddOrSubtractOperatorRule" + + + // $ANTLR start "ruleMultiplyDivideModuloOperatorRule" + // InternalGeneratorDSL.g:2964:1: ruleMultiplyDivideModuloOperatorRule returns [Enumerator current=null] : ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) ; + public final Enumerator ruleMultiplyDivideModuloOperatorRule() throws RecognitionException { + Enumerator current = null; + + Token enumLiteral_0=null; + Token enumLiteral_1=null; + Token enumLiteral_2=null; + + + enterRule(); + + try { + // InternalGeneratorDSL.g:2970:2: ( ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) ) + // InternalGeneratorDSL.g:2971:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) + { + // InternalGeneratorDSL.g:2971:2: ( (enumLiteral_0= '*' ) | (enumLiteral_1= '/' ) | (enumLiteral_2= '%' ) ) + int alt39=3; + switch ( input.LA(1) ) { + case 58: + { + alt39=1; + } + break; + case 59: + { + alt39=2; + } + break; + case 60: + { + alt39=3; + } + break; + default: + NoViableAltException nvae = + new NoViableAltException("", 39, 0, input); + + throw nvae; + } + + switch (alt39) { + case 1 : + // InternalGeneratorDSL.g:2972:3: (enumLiteral_0= '*' ) + { + // InternalGeneratorDSL.g:2972:3: (enumLiteral_0= '*' ) + // InternalGeneratorDSL.g:2973:4: enumLiteral_0= '*' + { + enumLiteral_0=(Token)match(input,58,FOLLOW_2); + + current = grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getMultiplyEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_0, grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getMultiplyEnumLiteralDeclaration_0()); + + + } + + + } + break; + case 2 : + // InternalGeneratorDSL.g:2980:3: (enumLiteral_1= '/' ) + { + // InternalGeneratorDSL.g:2980:3: (enumLiteral_1= '/' ) + // InternalGeneratorDSL.g:2981:4: enumLiteral_1= '/' + { + enumLiteral_1=(Token)match(input,59,FOLLOW_2); + + current = grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getDivideEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_1, grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getDivideEnumLiteralDeclaration_1()); + + + } + + + } + break; + case 3 : + // InternalGeneratorDSL.g:2988:3: (enumLiteral_2= '%' ) + { + // InternalGeneratorDSL.g:2988:3: (enumLiteral_2= '%' ) + // InternalGeneratorDSL.g:2989:4: enumLiteral_2= '%' + { + enumLiteral_2=(Token)match(input,60,FOLLOW_2); + + current = grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getModuloEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); + newLeafNode(enumLiteral_2, grammarAccess.getMultiplyDivideModuloOperatorRuleAccess().getModuloEnumLiteralDeclaration_2()); + + + } + + + } + break; + + } + + + } + + + leaveRule(); + + } + + catch (RecognitionException re) { + recover(input,re); + appendSkippedTokens(); + } + finally { + } + return current; + } + // $ANTLR end "ruleMultiplyDivideModuloOperatorRule" + + // Delegated rules + + + + + public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); + public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x0000000008035002L}); + public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000008034002L}); + public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000008024002L}); + public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000008020002L}); + public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000000010L}); + public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x00000000000000A0L}); + public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000008000L}); + public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000000040000L}); + public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000005200000L}); + public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000080000L}); + public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000008120000L}); + public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000400000L}); + public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000800000L}); + public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000200002L}); + public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000200004000L}); + public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000000002800000L}); + public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000010000000L}); + public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000000020000000L}); + public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000200004020L}); + public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000000200014020L}); + public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000000400000002L}); + public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x00000008000000B0L}); + public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0000001000000000L}); + public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x00018020002000F0L}); + public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0001802000A000F0L}); + public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000004000000002L}); + public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0301EA20002000F0L}); + public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000008000000002L}); + public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000010000000002L}); + public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x00FC000000000002L}); + public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x0300000000000002L}); + public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x1C00000000000002L}); + public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0000040000000002L}); + public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000080000000000L}); + public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0301FA20002000F0L}); + public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000100002000000L}); + public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0002000000000000L}); + +} \ No newline at end of file diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/scoping/AbstractGeneratorDSLScopeProvider.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/scoping/AbstractGeneratorDSLScopeProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..fda4060807e5353d8bc6aa3d2b4fc7ca26f1b8e1 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/scoping/AbstractGeneratorDSLScopeProvider.java @@ -0,0 +1,9 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.scoping; + +import de.evoal.languages.model.instance.dsl.scoping.InstanceLanguageScopeProvider; + +public abstract class AbstractGeneratorDSLScopeProvider extends InstanceLanguageScopeProvider { +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/serializer/GeneratorDSLSemanticSequencer.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/serializer/GeneratorDSLSemanticSequencer.java new file mode 100644 index 0000000000000000000000000000000000000000..2d3d46bb1bd5ef43c6aa8c245b5ba04665424927 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/serializer/GeneratorDSLSemanticSequencer.java @@ -0,0 +1,480 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.serializer; + +import com.google.inject.Inject; +import de.evoal.languages.model.el.AddOrSubtractExpression; +import de.evoal.languages.model.el.AndExpression; +import de.evoal.languages.model.el.BooleanLiteral; +import de.evoal.languages.model.el.Call; +import de.evoal.languages.model.el.ComparisonExpression; +import de.evoal.languages.model.el.DoubleLiteral; +import de.evoal.languages.model.el.ELPackage; +import de.evoal.languages.model.el.FunctionName; +import de.evoal.languages.model.el.IntegerLiteral; +import de.evoal.languages.model.el.MultiplyDivideModuloExpression; +import de.evoal.languages.model.el.NotExpression; +import de.evoal.languages.model.el.OrExpression; +import de.evoal.languages.model.el.Parantheses; +import de.evoal.languages.model.el.PartialComparisonExpression; +import de.evoal.languages.model.el.PowerOfExpression; +import de.evoal.languages.model.el.StringLiteral; +import de.evoal.languages.model.el.UnaryAddOrSubtractExpression; +import de.evoal.languages.model.el.ValueReference; +import de.evoal.languages.model.el.XorExpression; +import de.evoal.languages.model.generator.dsl.generatorDSL.ApplyStatement; +import de.evoal.languages.model.generator.dsl.generatorDSL.Configuration; +import de.evoal.languages.model.generator.dsl.generatorDSL.CounterRange; +import de.evoal.languages.model.generator.dsl.generatorDSL.ForStatement; +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionDefinitionReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.FunctionReferences; +import de.evoal.languages.model.generator.dsl.generatorDSL.Functions; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinition; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDefinitionReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorReferences; +import de.evoal.languages.model.generator.dsl.generatorDSL.Generators; +import de.evoal.languages.model.generator.dsl.generatorDSL.LoopVariable; +import de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinition; +import de.evoal.languages.model.generator.dsl.generatorDSL.ParametrizedFunctionDefinitionReference; +import de.evoal.languages.model.generator.dsl.generatorDSL.Use; +import de.evoal.languages.model.generator.dsl.services.GeneratorDSLGrammarAccess; +import de.evoal.languages.model.instance.Array; +import de.evoal.languages.model.instance.Attribute; +import de.evoal.languages.model.instance.DataReference; +import de.evoal.languages.model.instance.Instance; +import de.evoal.languages.model.instance.InstancePackage; +import de.evoal.languages.model.instance.LiteralValue; +import de.evoal.languages.model.instance.Misc; +import de.evoal.languages.model.instance.Name; +import de.evoal.languages.model.instance.dsl.serializer.InstanceLanguageSemanticSequencer; +import java.util.Set; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.xtext.Action; +import org.eclipse.xtext.Parameter; +import org.eclipse.xtext.ParserRule; +import org.eclipse.xtext.serializer.ISerializationContext; +import org.eclipse.xtext.serializer.acceptor.SequenceFeeder; +import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient; + +@SuppressWarnings("all") +public class GeneratorDSLSemanticSequencer extends InstanceLanguageSemanticSequencer { + + @Inject + private GeneratorDSLGrammarAccess grammarAccess; + + @Override + public void sequence(ISerializationContext context, EObject semanticObject) { + EPackage epackage = semanticObject.eClass().getEPackage(); + ParserRule rule = context.getParserRule(); + Action action = context.getAssignedAction(); + Set<Parameter> parameters = context.getEnabledBooleanParameters(); + if (epackage == ELPackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case ELPackage.ADD_OR_SUBTRACT_EXPRESSION: + sequence_AddOrSubtractExpressionRule(context, (AddOrSubtractExpression) semanticObject); + return; + case ELPackage.AND_EXPRESSION: + sequence_AndExpressionRule(context, (AndExpression) semanticObject); + return; + case ELPackage.BOOLEAN_LITERAL: + sequence_BooleanLiteralRule(context, (BooleanLiteral) semanticObject); + return; + case ELPackage.CALL: + sequence_CallRule(context, (Call) semanticObject); + return; + case ELPackage.COMPARISON_EXPRESSION: + sequence_ComparisonExpressionRule(context, (ComparisonExpression) semanticObject); + return; + case ELPackage.DOUBLE_LITERAL: + sequence_DoubleLiteralRule(context, (DoubleLiteral) semanticObject); + return; + case ELPackage.FUNCTION_NAME: + sequence_FunctionNameRule(context, (FunctionName) semanticObject); + return; + case ELPackage.INTEGER_LITERAL: + sequence_IntegerLiteralRule(context, (IntegerLiteral) semanticObject); + return; + case ELPackage.MULTIPLY_DIVIDE_MODULO_EXPRESSION: + sequence_MultiplyDivideModuloExpressionRule(context, (MultiplyDivideModuloExpression) semanticObject); + return; + case ELPackage.NOT_EXPRESSION: + sequence_NotExpressionRule(context, (NotExpression) semanticObject); + return; + case ELPackage.OR_EXPRESSION: + sequence_OrExpressionRule(context, (OrExpression) semanticObject); + return; + case ELPackage.PARANTHESES: + sequence_ParanthesesRule(context, (Parantheses) semanticObject); + return; + case ELPackage.PARTIAL_COMPARISON_EXPRESSION: + sequence_PartialComparisonExpressionRule(context, (PartialComparisonExpression) semanticObject); + return; + case ELPackage.POWER_OF_EXPRESSION: + sequence_PowerOfExpressionRule(context, (PowerOfExpression) semanticObject); + return; + case ELPackage.STRING_LITERAL: + sequence_StringLiteralRule(context, (StringLiteral) semanticObject); + return; + case ELPackage.UNARY_ADD_OR_SUBTRACT_EXPRESSION: + sequence_UnaryAddOrSubtractExpressionRule(context, (UnaryAddOrSubtractExpression) semanticObject); + return; + case ELPackage.VALUE_REFERENCE: + sequence_ValueReferenceRule(context, (ValueReference) semanticObject); + return; + case ELPackage.XOR_EXPRESSION: + sequence_XorExpressionRule(context, (XorExpression) semanticObject); + return; + } + else if (epackage == GeneratorDSLPackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case GeneratorDSLPackage.APPLY_STATEMENT: + sequence_ApplyStatementRule(context, (ApplyStatement) semanticObject); + return; + case GeneratorDSLPackage.CONFIGURATION: + sequence_ConfigurationRule(context, (Configuration) semanticObject); + return; + case GeneratorDSLPackage.COUNTER_RANGE: + sequence_CounterRangeRule(context, (CounterRange) semanticObject); + return; + case GeneratorDSLPackage.FOR_STATEMENT: + sequence_ForStatementRule(context, (ForStatement) semanticObject); + return; + case GeneratorDSLPackage.FUNCTION_DEFINITION_REFERENCE: + sequence_FunctionDefinitionReferenceRule(context, (FunctionDefinitionReference) semanticObject); + return; + case GeneratorDSLPackage.FUNCTION_REFERENCES: + sequence_FunctionReferencesRule(context, (FunctionReferences) semanticObject); + return; + case GeneratorDSLPackage.FUNCTIONS: + sequence_FunctionsRule(context, (Functions) semanticObject); + return; + case GeneratorDSLPackage.GENERATOR_DEFINITION: + sequence_GeneratorDefinitionRule(context, (GeneratorDefinition) semanticObject); + return; + case GeneratorDSLPackage.GENERATOR_DEFINITION_REFERENCE: + sequence_GeneratorDefinitionReferenceRule(context, (GeneratorDefinitionReference) semanticObject); + return; + case GeneratorDSLPackage.GENERATOR_REFERENCES: + sequence_GeneratorReferencesRule(context, (GeneratorReferences) semanticObject); + return; + case GeneratorDSLPackage.GENERATORS: + sequence_GeneratorsRule(context, (Generators) semanticObject); + return; + case GeneratorDSLPackage.LOOP_VARIABLE: + sequence_LoopVariableReference(context, (LoopVariable) semanticObject); + return; + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION: + sequence_ParametrizedFunctionDefinitionRule(context, (ParametrizedFunctionDefinition) semanticObject); + return; + case GeneratorDSLPackage.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE: + sequence_ParametrizedFunctionDefinitionReferenceRule(context, (ParametrizedFunctionDefinitionReference) semanticObject); + return; + case GeneratorDSLPackage.USE: + sequence_UseRule(context, (Use) semanticObject); + return; + } + else if (epackage == InstancePackage.eINSTANCE) + switch (semanticObject.eClass().getClassifierID()) { + case InstancePackage.ARRAY: + sequence_ArrayRule(context, (Array) semanticObject); + return; + case InstancePackage.ATTRIBUTE: + sequence_AttributeRule(context, (Attribute) semanticObject); + return; + case InstancePackage.DATA_REFERENCE: + sequence_DataReferenceRule(context, (DataReference) semanticObject); + return; + case InstancePackage.INSTANCE: + sequence_InstanceRule(context, (Instance) semanticObject); + return; + case InstancePackage.LITERAL_VALUE: + sequence_LiteralValueRule(context, (LiteralValue) semanticObject); + return; + case InstancePackage.MISC: + sequence_MiscRule(context, (Misc) semanticObject); + return; + case InstancePackage.NAME: + sequence_NameRule(context, (Name) semanticObject); + return; + } + if (errorAcceptor != null) + errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context)); + } + + /** + * Contexts: + * StatementRule returns ApplyStatement + * ApplyStatementRule returns ApplyStatement + * + * Constraint: + * (file=STRING count=INT function=FunctionReferenceRule generator=GeneratorReferenceRule) + */ + protected void sequence_ApplyStatementRule(ISerializationContext context, ApplyStatement semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.APPLY_STATEMENT__FILE) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.APPLY_STATEMENT__FILE)); + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.APPLY_STATEMENT__COUNT) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.APPLY_STATEMENT__COUNT)); + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.APPLY_STATEMENT__FUNCTION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.APPLY_STATEMENT__FUNCTION)); + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.APPLY_STATEMENT__GENERATOR) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.APPLY_STATEMENT__GENERATOR)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getApplyStatementRuleAccess().getFileSTRINGTerminalRuleCall_1_0(), semanticObject.getFile()); + feeder.accept(grammarAccess.getApplyStatementRuleAccess().getCountINTTerminalRuleCall_3_0(), semanticObject.getCount()); + feeder.accept(grammarAccess.getApplyStatementRuleAccess().getFunctionFunctionReferenceRuleParserRuleCall_7_0(), semanticObject.getFunction()); + feeder.accept(grammarAccess.getApplyStatementRuleAccess().getGeneratorGeneratorReferenceRuleParserRuleCall_9_0(), semanticObject.getGenerator()); + feeder.finish(); + } + + + /** + * Contexts: + * ConfigurationRule returns Configuration + * + * Constraint: + * ( + * (uses+=UseRule+ ((generators+=GeneratorDefinitionRule+ statements+=StatementRule+) | statements+=StatementRule+)) | + * ( + * ((uses+=UseRule+ generators+=GeneratorDefinitionRule+) | generators+=GeneratorDefinitionRule+)? + * functions+=ParametrizedFunctionDefinitionRule+ + * statements+=StatementRule+ + * ) | + * (generators+=GeneratorDefinitionRule+ statements+=StatementRule+) | + * statements+=StatementRule+ + * )? + */ + protected void sequence_ConfigurationRule(ISerializationContext context, Configuration semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * RangeRule returns CounterRange + * CounterRangeRule returns CounterRange + * + * Constraint: + * (start=INT end=INT) + */ + protected void sequence_CounterRangeRule(ISerializationContext context, CounterRange semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.COUNTER_RANGE__START) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.COUNTER_RANGE__START)); + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.COUNTER_RANGE__END) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.COUNTER_RANGE__END)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getCounterRangeRuleAccess().getStartINTTerminalRuleCall_1_0(), semanticObject.getStart()); + feeder.accept(grammarAccess.getCounterRangeRuleAccess().getEndINTTerminalRuleCall_3_0(), semanticObject.getEnd()); + feeder.finish(); + } + + + /** + * Contexts: + * StatementRule returns ForStatement + * ForStatementRule returns ForStatement + * + * Constraint: + * (name=ID range=RangeRule statements+=StatementRule*) + */ + protected void sequence_ForStatementRule(ISerializationContext context, ForStatement semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * FunctionReferenceRule returns FunctionDefinitionReference + * FunctionDefReferenceRule returns FunctionDefinitionReference + * FunctionDefinitionReferenceRule returns FunctionDefinitionReference + * + * Constraint: + * definition=[FunctionDefinition|StringOrId] + */ + protected void sequence_FunctionDefinitionReferenceRule(ISerializationContext context, FunctionDefinitionReference semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.FUNCTION_DEFINITION_REFERENCE__DEFINITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.FUNCTION_DEFINITION_REFERENCE__DEFINITION)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionStringOrIdParserRuleCall_2_0_1(), semanticObject.eGet(GeneratorDSLPackage.Literals.FUNCTION_DEFINITION_REFERENCE__DEFINITION, false)); + feeder.finish(); + } + + + /** + * Contexts: + * FunctionReferencesRule returns FunctionReferences + * + * Constraint: + * (functions+=FunctionDefReferenceRule functions+=FunctionDefReferenceRule*) + */ + protected void sequence_FunctionReferencesRule(ISerializationContext context, FunctionReferences semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * RangeRule returns Functions + * FunctionsRule returns Functions + * + * Constraint: + * functionReferences=FunctionReferencesRule? + */ + protected void sequence_FunctionsRule(ISerializationContext context, Functions semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * GeneratorReferenceRule returns GeneratorDefinitionReference + * GeneratorDefinitionReferenceRule returns GeneratorDefinitionReference + * + * Constraint: + * definition=[GeneratorDefinition|StringOrId] + */ + protected void sequence_GeneratorDefinitionReferenceRule(ISerializationContext context, GeneratorDefinitionReference semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.GENERATOR_DEFINITION_REFERENCE__DEFINITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.GENERATOR_DEFINITION_REFERENCE__DEFINITION)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getGeneratorDefinitionReferenceRuleAccess().getDefinitionGeneratorDefinitionStringOrIdParserRuleCall_1_0_1(), semanticObject.eGet(GeneratorDSLPackage.Literals.GENERATOR_DEFINITION_REFERENCE__DEFINITION, false)); + feeder.finish(); + } + + + /** + * Contexts: + * GeneratorDefinitionRule returns GeneratorDefinition + * + * Constraint: + * (name=StringOrId definition=InstanceRule) + */ + protected void sequence_GeneratorDefinitionRule(ISerializationContext context, GeneratorDefinition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.GENERATOR_DEFINITION__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.GENERATOR_DEFINITION__NAME)); + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.GENERATOR_DEFINITION__DEFINITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.GENERATOR_DEFINITION__DEFINITION)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getGeneratorDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getGeneratorDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0(), semanticObject.getDefinition()); + feeder.finish(); + } + + + /** + * Contexts: + * GeneratorReferencesRule returns GeneratorReferences + * + * Constraint: + * (generators+=[GeneratorDefinition|StringOrId] generators+=[GeneratorDefinition|StringOrId]*) + */ + protected void sequence_GeneratorReferencesRule(ISerializationContext context, GeneratorReferences semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * RangeRule returns Generators + * GeneratorsRule returns Generators + * + * Constraint: + * generatorReferences=GeneratorReferencesRule? + */ + protected void sequence_GeneratorsRule(ISerializationContext context, Generators semanticObject) { + genericSequencer.createSequence(context, semanticObject); + } + + + /** + * Contexts: + * GeneratorReferenceRule returns LoopVariable + * FunctionReferenceRule returns LoopVariable + * LoopVariableReference returns LoopVariable + * + * Constraint: + * definition=[ForStatement|ID] + */ + protected void sequence_LoopVariableReference(ISerializationContext context, LoopVariable semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.LOOP_VARIABLE__DEFINITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.LOOP_VARIABLE__DEFINITION)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getLoopVariableReferenceAccess().getDefinitionForStatementIDTerminalRuleCall_1_0_1(), semanticObject.eGet(GeneratorDSLPackage.Literals.LOOP_VARIABLE__DEFINITION, false)); + feeder.finish(); + } + + + /** + * Contexts: + * FunctionReferenceRule returns ParametrizedFunctionDefinitionReference + * FunctionDefReferenceRule returns ParametrizedFunctionDefinitionReference + * ParametrizedFunctionDefinitionReferenceRule returns ParametrizedFunctionDefinitionReference + * + * Constraint: + * definition=[FunctionDefinitionReference|StringOrId] + */ + protected void sequence_ParametrizedFunctionDefinitionReferenceRule(ISerializationContext context, ParametrizedFunctionDefinitionReference semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getParametrizedFunctionDefinitionReferenceRuleAccess().getDefinitionFunctionDefinitionReferenceStringOrIdParserRuleCall_2_0_1(), semanticObject.eGet(GeneratorDSLPackage.Literals.PARAMETRIZED_FUNCTION_DEFINITION_REFERENCE__DEFINITION, false)); + feeder.finish(); + } + + + /** + * Contexts: + * ParametrizedFunctionDefinitionRule returns ParametrizedFunctionDefinition + * + * Constraint: + * (name=StringOrId definition=InstanceRule) + */ + protected void sequence_ParametrizedFunctionDefinitionRule(ISerializationContext context, ParametrizedFunctionDefinition semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.PARAMETRIZED_FUNCTION_DEFINITION__NAME) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.PARAMETRIZED_FUNCTION_DEFINITION__NAME)); + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.PARAMETRIZED_FUNCTION_DEFINITION__DEFINITION)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getNameStringOrIdParserRuleCall_1_0(), semanticObject.getName()); + feeder.accept(grammarAccess.getParametrizedFunctionDefinitionRuleAccess().getDefinitionInstanceRuleParserRuleCall_3_0(), semanticObject.getDefinition()); + feeder.finish(); + } + + + /** + * Contexts: + * UseRule returns Use + * + * Constraint: + * importURI=STRING + */ + protected void sequence_UseRule(ISerializationContext context, Use semanticObject) { + if (errorAcceptor != null) { + if (transientValues.isValueTransient(semanticObject, GeneratorDSLPackage.Literals.USE__IMPORT_URI) == ValueTransient.YES) + errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, GeneratorDSLPackage.Literals.USE__IMPORT_URI)); + } + SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); + feeder.accept(grammarAccess.getUseRuleAccess().getImportURISTRINGTerminalRuleCall_1_0(), semanticObject.getImportURI()); + feeder.finish(); + } + + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/serializer/GeneratorDSLSyntacticSequencer.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/serializer/GeneratorDSLSyntacticSequencer.java new file mode 100644 index 0000000000000000000000000000000000000000..3fd4c63a1bb591d98a5cb7cd05d7b35cda93fa89 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/serializer/GeneratorDSLSyntacticSequencer.java @@ -0,0 +1,61 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.serializer; + +import com.google.inject.Inject; +import de.evoal.languages.model.generator.dsl.services.GeneratorDSLGrammarAccess; +import java.util.List; +import org.eclipse.emf.ecore.EObject; +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.GroupAlias; +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; + +@SuppressWarnings("all") +public class GeneratorDSLSyntacticSequencer extends AbstractSyntacticSequencer { + + protected GeneratorDSLGrammarAccess grammarAccess; + protected AbstractElementAlias match_InstanceRule___LeftCurlyBracketKeyword_1_0_RightCurlyBracketKeyword_1_2__q; + + @Inject + protected void init(IGrammarAccess access) { + grammarAccess = (GeneratorDSLGrammarAccess) access; + match_InstanceRule___LeftCurlyBracketKeyword_1_0_RightCurlyBracketKeyword_1_2__q = new GroupAlias(false, true, new TokenAlias(false, false, grammarAccess.getInstanceRuleAccess().getLeftCurlyBracketKeyword_1_0()), new TokenAlias(false, false, grammarAccess.getInstanceRuleAccess().getRightCurlyBracketKeyword_1_2())); + } + + @Override + protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) { + return ""; + } + + + @Override + protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode 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_InstanceRule___LeftCurlyBracketKeyword_1_0_RightCurlyBracketKeyword_1_2__q.equals(syntax)) + emit_InstanceRule___LeftCurlyBracketKeyword_1_0_RightCurlyBracketKeyword_1_2__q(semanticObject, getLastNavigableState(), syntaxNodes); + else acceptNodes(getLastNavigableState(), syntaxNodes); + } + } + + /** + * Ambiguous syntax: + * ('{' '}')? + * + * This ambiguous syntax occurs at: + * name=[TypeDefinition|StringOrId] (ambiguity) (rule end) + */ + protected void emit_InstanceRule___LeftCurlyBracketKeyword_1_0_RightCurlyBracketKeyword_1_2__q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) { + acceptNodes(transition, nodes); + } + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/services/GeneratorDSLGrammarAccess.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/services/GeneratorDSLGrammarAccess.java new file mode 100644 index 0000000000000000000000000000000000000000..da9c61daf8d88d7ed51b553d9a96fc568fc09476 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/services/GeneratorDSLGrammarAccess.java @@ -0,0 +1,1511 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.services; + +import com.google.inject.Inject; +import com.google.inject.Singleton; +import de.evoal.languages.model.el.dsl.services.ExpressionLanguageGrammarAccess; +import de.evoal.languages.model.instance.dsl.services.InstanceLanguageGrammarAccess; +import java.util.List; +import org.eclipse.xtext.Action; +import org.eclipse.xtext.Alternatives; +import org.eclipse.xtext.Assignment; +import org.eclipse.xtext.CrossReference; +import org.eclipse.xtext.EnumRule; +import org.eclipse.xtext.Grammar; +import org.eclipse.xtext.GrammarUtil; +import org.eclipse.xtext.Group; +import org.eclipse.xtext.Keyword; +import org.eclipse.xtext.ParserRule; +import org.eclipse.xtext.RuleCall; +import org.eclipse.xtext.TerminalRule; +import org.eclipse.xtext.common.services.TerminalsGrammarAccess; +import org.eclipse.xtext.service.AbstractElementFinder; +import org.eclipse.xtext.service.GrammarProvider; + +@Singleton +public class GeneratorDSLGrammarAccess extends AbstractElementFinder.AbstractGrammarElementFinder { + + public class ConfigurationRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.ConfigurationRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Assignment cUsesAssignment_0 = (Assignment)cGroup.eContents().get(0); + private final RuleCall cUsesUseRuleParserRuleCall_0_0 = (RuleCall)cUsesAssignment_0.eContents().get(0); + private final Assignment cGeneratorsAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cGeneratorsGeneratorDefinitionRuleParserRuleCall_1_0 = (RuleCall)cGeneratorsAssignment_1.eContents().get(0); + private final Assignment cFunctionsAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cFunctionsParametrizedFunctionDefinitionRuleParserRuleCall_2_0 = (RuleCall)cFunctionsAssignment_2.eContents().get(0); + private final Assignment cStatementsAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cStatementsStatementRuleParserRuleCall_3_0 = (RuleCall)cStatementsAssignment_3.eContents().get(0); + + //ConfigurationRule returns Configuration: + // (uses += UseRule)* + // (generators += GeneratorDefinitionRule)* + // (functions += ParametrizedFunctionDefinitionRule)* + // (statements += StatementRule)* + //; + @Override public ParserRule getRule() { return rule; } + + //(uses += UseRule)* + //(generators += GeneratorDefinitionRule)* + //(functions += ParametrizedFunctionDefinitionRule)* + //(statements += StatementRule)* + public Group getGroup() { return cGroup; } + + //(uses += UseRule)* + public Assignment getUsesAssignment_0() { return cUsesAssignment_0; } + + //UseRule + public RuleCall getUsesUseRuleParserRuleCall_0_0() { return cUsesUseRuleParserRuleCall_0_0; } + + //(generators += GeneratorDefinitionRule)* + public Assignment getGeneratorsAssignment_1() { return cGeneratorsAssignment_1; } + + //GeneratorDefinitionRule + public RuleCall getGeneratorsGeneratorDefinitionRuleParserRuleCall_1_0() { return cGeneratorsGeneratorDefinitionRuleParserRuleCall_1_0; } + + //(functions += ParametrizedFunctionDefinitionRule)* + public Assignment getFunctionsAssignment_2() { return cFunctionsAssignment_2; } + + //ParametrizedFunctionDefinitionRule + public RuleCall getFunctionsParametrizedFunctionDefinitionRuleParserRuleCall_2_0() { return cFunctionsParametrizedFunctionDefinitionRuleParserRuleCall_2_0; } + + //(statements += StatementRule)* + public Assignment getStatementsAssignment_3() { return cStatementsAssignment_3; } + + //StatementRule + public RuleCall getStatementsStatementRuleParserRuleCall_3_0() { return cStatementsStatementRuleParserRuleCall_3_0; } + } + public class UseRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.UseRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cUseKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cImportURIAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cImportURISTRINGTerminalRuleCall_1_0 = (RuleCall)cImportURIAssignment_1.eContents().get(0); + private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2); + + //UseRule returns Use: + // 'use' importURI = STRING ';' + //; + @Override public ParserRule getRule() { return rule; } + + //'use' importURI = STRING ';' + public Group getGroup() { return cGroup; } + + //'use' + public Keyword getUseKeyword_0() { return cUseKeyword_0; } + + //importURI = STRING + public Assignment getImportURIAssignment_1() { return cImportURIAssignment_1; } + + //STRING + public RuleCall getImportURISTRINGTerminalRuleCall_1_0() { return cImportURISTRINGTerminalRuleCall_1_0; } + + //';' + public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; } + } + public class ParametrizedFunctionDefinitionRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.ParametrizedFunctionDefinitionRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cFunctionKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameStringOrIdParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Keyword cUsingKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cDefinitionAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cDefinitionInstanceRuleParserRuleCall_3_0 = (RuleCall)cDefinitionAssignment_3.eContents().get(0); + private final Keyword cSemicolonKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //ParametrizedFunctionDefinitionRule returns ParametrizedFunctionDefinition: + // 'function' name = StringOrId 'using' + // definition = InstanceRule + // ';' + //; + @Override public ParserRule getRule() { return rule; } + + //'function' name = StringOrId 'using' + // definition = InstanceRule + //';' + public Group getGroup() { return cGroup; } + + //'function' + public Keyword getFunctionKeyword_0() { return cFunctionKeyword_0; } + + //name = StringOrId + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //StringOrId + public RuleCall getNameStringOrIdParserRuleCall_1_0() { return cNameStringOrIdParserRuleCall_1_0; } + + //'using' + public Keyword getUsingKeyword_2() { return cUsingKeyword_2; } + + //definition = InstanceRule + public Assignment getDefinitionAssignment_3() { return cDefinitionAssignment_3; } + + //InstanceRule + public RuleCall getDefinitionInstanceRuleParserRuleCall_3_0() { return cDefinitionInstanceRuleParserRuleCall_3_0; } + + //';' + public Keyword getSemicolonKeyword_4() { return cSemicolonKeyword_4; } + } + public class GeneratorDefinitionRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.GeneratorDefinitionRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cGeneratorKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameStringOrIdParserRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Keyword cUsingKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cDefinitionAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cDefinitionInstanceRuleParserRuleCall_3_0 = (RuleCall)cDefinitionAssignment_3.eContents().get(0); + private final Keyword cSemicolonKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //GeneratorDefinitionRule returns GeneratorDefinition: + // 'generator' name = StringOrId 'using' + // definition = InstanceRule + // ';' + //; + @Override public ParserRule getRule() { return rule; } + + //'generator' name = StringOrId 'using' + // definition = InstanceRule + //';' + public Group getGroup() { return cGroup; } + + //'generator' + public Keyword getGeneratorKeyword_0() { return cGeneratorKeyword_0; } + + //name = StringOrId + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //StringOrId + public RuleCall getNameStringOrIdParserRuleCall_1_0() { return cNameStringOrIdParserRuleCall_1_0; } + + //'using' + public Keyword getUsingKeyword_2() { return cUsingKeyword_2; } + + //definition = InstanceRule + public Assignment getDefinitionAssignment_3() { return cDefinitionAssignment_3; } + + //InstanceRule + public RuleCall getDefinitionInstanceRuleParserRuleCall_3_0() { return cDefinitionInstanceRuleParserRuleCall_3_0; } + + //';' + public Keyword getSemicolonKeyword_4() { return cSemicolonKeyword_4; } + } + public class StatementRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.StatementRule"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cForStatementRuleParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cApplyStatementRuleParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //StatementRule returns Statement: + // ForStatementRule | ApplyStatementRule + //; + @Override public ParserRule getRule() { return rule; } + + //ForStatementRule | ApplyStatementRule + public Alternatives getAlternatives() { return cAlternatives; } + + //ForStatementRule + public RuleCall getForStatementRuleParserRuleCall_0() { return cForStatementRuleParserRuleCall_0; } + + //ApplyStatementRule + public RuleCall getApplyStatementRuleParserRuleCall_1() { return cApplyStatementRuleParserRuleCall_1; } + } + public class ForStatementRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.ForStatementRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cForKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cNameIDTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0); + private final Keyword cInKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cRangeAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cRangeRangeRuleParserRuleCall_3_0 = (RuleCall)cRangeAssignment_3.eContents().get(0); + private final Keyword cLoopKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Assignment cStatementsAssignment_5 = (Assignment)cGroup.eContents().get(5); + private final RuleCall cStatementsStatementRuleParserRuleCall_5_0 = (RuleCall)cStatementsAssignment_5.eContents().get(0); + private final Keyword cEndKeyword_6 = (Keyword)cGroup.eContents().get(6); + + //ForStatementRule returns ForStatement: + // 'for' name = ID 'in' range = RangeRule 'loop' + // (statements += StatementRule)* + // 'end' + //; + @Override public ParserRule getRule() { return rule; } + + //'for' name = ID 'in' range = RangeRule 'loop' + // (statements += StatementRule)* + //'end' + public Group getGroup() { return cGroup; } + + //'for' + public Keyword getForKeyword_0() { return cForKeyword_0; } + + //name = ID + public Assignment getNameAssignment_1() { return cNameAssignment_1; } + + //ID + public RuleCall getNameIDTerminalRuleCall_1_0() { return cNameIDTerminalRuleCall_1_0; } + + //'in' + public Keyword getInKeyword_2() { return cInKeyword_2; } + + //range = RangeRule + public Assignment getRangeAssignment_3() { return cRangeAssignment_3; } + + //RangeRule + public RuleCall getRangeRangeRuleParserRuleCall_3_0() { return cRangeRangeRuleParserRuleCall_3_0; } + + //'loop' + public Keyword getLoopKeyword_4() { return cLoopKeyword_4; } + + //(statements += StatementRule)* + public Assignment getStatementsAssignment_5() { return cStatementsAssignment_5; } + + //StatementRule + public RuleCall getStatementsStatementRuleParserRuleCall_5_0() { return cStatementsStatementRuleParserRuleCall_5_0; } + + //'end' + public Keyword getEndKeyword_6() { return cEndKeyword_6; } + } + public class RangeRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.RangeRule"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cFunctionsRuleParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cGeneratorsRuleParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + private final RuleCall cCounterRangeRuleParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2); + + //RangeRule returns Range: + // FunctionsRule | GeneratorsRule | CounterRangeRule + //; + @Override public ParserRule getRule() { return rule; } + + //FunctionsRule | GeneratorsRule | CounterRangeRule + public Alternatives getAlternatives() { return cAlternatives; } + + //FunctionsRule + public RuleCall getFunctionsRuleParserRuleCall_0() { return cFunctionsRuleParserRuleCall_0; } + + //GeneratorsRule + public RuleCall getGeneratorsRuleParserRuleCall_1() { return cGeneratorsRuleParserRuleCall_1; } + + //CounterRangeRule + public RuleCall getCounterRangeRuleParserRuleCall_2() { return cCounterRangeRuleParserRuleCall_2; } + } + public class CounterRangeRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.CounterRangeRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cStartAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cStartINTTerminalRuleCall_1_0 = (RuleCall)cStartAssignment_1.eContents().get(0); + private final Keyword cToKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cEndAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cEndINTTerminalRuleCall_3_0 = (RuleCall)cEndAssignment_3.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_4 = (Keyword)cGroup.eContents().get(4); + + //CounterRangeRule returns CounterRange: + // '[' start = INT 'to' end = INT ']' + //; + @Override public ParserRule getRule() { return rule; } + + //'[' start = INT 'to' end = INT ']' + public Group getGroup() { return cGroup; } + + //'[' + public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } + + //start = INT + public Assignment getStartAssignment_1() { return cStartAssignment_1; } + + //INT + public RuleCall getStartINTTerminalRuleCall_1_0() { return cStartINTTerminalRuleCall_1_0; } + + //'to' + public Keyword getToKeyword_2() { return cToKeyword_2; } + + //end = INT + public Assignment getEndAssignment_3() { return cEndAssignment_3; } + + //INT + public RuleCall getEndINTTerminalRuleCall_3_0() { return cEndINTTerminalRuleCall_3_0; } + + //']' + public Keyword getRightSquareBracketKeyword_4() { return cRightSquareBracketKeyword_4; } + } + public class FunctionsRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionsRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cFunctionsAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cFunctionsKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cFunctionReferencesAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cFunctionReferencesFunctionReferencesRuleParserRuleCall_2_0 = (RuleCall)cFunctionReferencesAssignment_2.eContents().get(0); + + //FunctionsRule returns Functions: + // {Functions} 'functions' (functionReferences = FunctionReferencesRule)? + //; + @Override public ParserRule getRule() { return rule; } + + //{Functions} 'functions' (functionReferences = FunctionReferencesRule)? + public Group getGroup() { return cGroup; } + + //{Functions} + public Action getFunctionsAction_0() { return cFunctionsAction_0; } + + //'functions' + public Keyword getFunctionsKeyword_1() { return cFunctionsKeyword_1; } + + //(functionReferences = FunctionReferencesRule)? + public Assignment getFunctionReferencesAssignment_2() { return cFunctionReferencesAssignment_2; } + + //FunctionReferencesRule + public RuleCall getFunctionReferencesFunctionReferencesRuleParserRuleCall_2_0() { return cFunctionReferencesFunctionReferencesRuleParserRuleCall_2_0; } + } + public class FunctionReferencesRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionReferencesRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cFunctionsAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cFunctionsFunctionDefReferenceRuleParserRuleCall_1_0 = (RuleCall)cFunctionsAssignment_1.eContents().get(0); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cFunctionsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final RuleCall cFunctionsFunctionDefReferenceRuleParserRuleCall_2_1_0 = (RuleCall)cFunctionsAssignment_2_1.eContents().get(0); + private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); + + //FunctionReferencesRule returns FunctionReferences: + // '[' functions += FunctionDefReferenceRule (',' functions += FunctionDefReferenceRule)* ']' + //; + @Override public ParserRule getRule() { return rule; } + + //'[' functions += FunctionDefReferenceRule (',' functions += FunctionDefReferenceRule)* ']' + public Group getGroup() { return cGroup; } + + //'[' + public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } + + //functions += FunctionDefReferenceRule + public Assignment getFunctionsAssignment_1() { return cFunctionsAssignment_1; } + + //FunctionDefReferenceRule + public RuleCall getFunctionsFunctionDefReferenceRuleParserRuleCall_1_0() { return cFunctionsFunctionDefReferenceRuleParserRuleCall_1_0; } + + //(',' functions += FunctionDefReferenceRule)* + public Group getGroup_2() { return cGroup_2; } + + //',' + public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; } + + //functions += FunctionDefReferenceRule + public Assignment getFunctionsAssignment_2_1() { return cFunctionsAssignment_2_1; } + + //FunctionDefReferenceRule + public RuleCall getFunctionsFunctionDefReferenceRuleParserRuleCall_2_1_0() { return cFunctionsFunctionDefReferenceRuleParserRuleCall_2_1_0; } + + //']' + public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; } + } + public class GeneratorsRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.GeneratorsRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cGeneratorsAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cGeneratorsKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cGeneratorReferencesAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final RuleCall cGeneratorReferencesGeneratorReferencesRuleParserRuleCall_2_0 = (RuleCall)cGeneratorReferencesAssignment_2.eContents().get(0); + + //GeneratorsRule returns Generators: + // {Generators} 'generators' (generatorReferences = GeneratorReferencesRule)? + //; + @Override public ParserRule getRule() { return rule; } + + //{Generators} 'generators' (generatorReferences = GeneratorReferencesRule)? + public Group getGroup() { return cGroup; } + + //{Generators} + public Action getGeneratorsAction_0() { return cGeneratorsAction_0; } + + //'generators' + public Keyword getGeneratorsKeyword_1() { return cGeneratorsKeyword_1; } + + //(generatorReferences = GeneratorReferencesRule)? + public Assignment getGeneratorReferencesAssignment_2() { return cGeneratorReferencesAssignment_2; } + + //GeneratorReferencesRule + public RuleCall getGeneratorReferencesGeneratorReferencesRuleParserRuleCall_2_0() { return cGeneratorReferencesGeneratorReferencesRuleParserRuleCall_2_0; } + } + public class GeneratorReferencesRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.GeneratorReferencesRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cGeneratorsAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cGeneratorsGeneratorDefinitionCrossReference_1_0 = (CrossReference)cGeneratorsAssignment_1.eContents().get(0); + private final RuleCall cGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_1_0_1 = (RuleCall)cGeneratorsGeneratorDefinitionCrossReference_1_0.eContents().get(1); + private final Group cGroup_2 = (Group)cGroup.eContents().get(2); + private final Keyword cCommaKeyword_2_0 = (Keyword)cGroup_2.eContents().get(0); + private final Assignment cGeneratorsAssignment_2_1 = (Assignment)cGroup_2.eContents().get(1); + private final CrossReference cGeneratorsGeneratorDefinitionCrossReference_2_1_0 = (CrossReference)cGeneratorsAssignment_2_1.eContents().get(0); + private final RuleCall cGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_2_1_0_1 = (RuleCall)cGeneratorsGeneratorDefinitionCrossReference_2_1_0.eContents().get(1); + private final Keyword cRightSquareBracketKeyword_3 = (Keyword)cGroup.eContents().get(3); + + //GeneratorReferencesRule returns GeneratorReferences: + // '[' generators += [GeneratorDefinition|StringOrId] (',' generators += [GeneratorDefinition|StringOrId])* ']' + //; + @Override public ParserRule getRule() { return rule; } + + //'[' generators += [GeneratorDefinition|StringOrId] (',' generators += [GeneratorDefinition|StringOrId])* ']' + public Group getGroup() { return cGroup; } + + //'[' + public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; } + + //generators += [GeneratorDefinition|StringOrId] + public Assignment getGeneratorsAssignment_1() { return cGeneratorsAssignment_1; } + + //[GeneratorDefinition|StringOrId] + public CrossReference getGeneratorsGeneratorDefinitionCrossReference_1_0() { return cGeneratorsGeneratorDefinitionCrossReference_1_0; } + + //StringOrId + public RuleCall getGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_1_0_1() { return cGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_1_0_1; } + + //(',' generators += [GeneratorDefinition|StringOrId])* + public Group getGroup_2() { return cGroup_2; } + + //',' + public Keyword getCommaKeyword_2_0() { return cCommaKeyword_2_0; } + + //generators += [GeneratorDefinition|StringOrId] + public Assignment getGeneratorsAssignment_2_1() { return cGeneratorsAssignment_2_1; } + + //[GeneratorDefinition|StringOrId] + public CrossReference getGeneratorsGeneratorDefinitionCrossReference_2_1_0() { return cGeneratorsGeneratorDefinitionCrossReference_2_1_0; } + + //StringOrId + public RuleCall getGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_2_1_0_1() { return cGeneratorsGeneratorDefinitionStringOrIdParserRuleCall_2_1_0_1; } + + //']' + public Keyword getRightSquareBracketKeyword_3() { return cRightSquareBracketKeyword_3; } + } + public class ApplyStatementRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.ApplyStatementRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cWriteKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cFileAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final RuleCall cFileSTRINGTerminalRuleCall_1_0 = (RuleCall)cFileAssignment_1.eContents().get(0); + private final Keyword cWithKeyword_2 = (Keyword)cGroup.eContents().get(2); + private final Assignment cCountAssignment_3 = (Assignment)cGroup.eContents().get(3); + private final RuleCall cCountINTTerminalRuleCall_3_0 = (RuleCall)cCountAssignment_3.eContents().get(0); + private final Keyword cSamplesKeyword_4 = (Keyword)cGroup.eContents().get(4); + private final Keyword cFromKeyword_5 = (Keyword)cGroup.eContents().get(5); + private final Keyword cApplyingKeyword_6 = (Keyword)cGroup.eContents().get(6); + private final Assignment cFunctionAssignment_7 = (Assignment)cGroup.eContents().get(7); + private final RuleCall cFunctionFunctionReferenceRuleParserRuleCall_7_0 = (RuleCall)cFunctionAssignment_7.eContents().get(0); + private final Keyword cOnKeyword_8 = (Keyword)cGroup.eContents().get(8); + private final Assignment cGeneratorAssignment_9 = (Assignment)cGroup.eContents().get(9); + private final RuleCall cGeneratorGeneratorReferenceRuleParserRuleCall_9_0 = (RuleCall)cGeneratorAssignment_9.eContents().get(0); + private final Keyword cSemicolonKeyword_10 = (Keyword)cGroup.eContents().get(10); + + //ApplyStatementRule returns ApplyStatement: + // 'write' file = STRING 'with' count = INT 'samples' 'from' 'applying' function = FunctionReferenceRule 'on' generator = GeneratorReferenceRule ';' + //; + @Override public ParserRule getRule() { return rule; } + + //'write' file = STRING 'with' count = INT 'samples' 'from' 'applying' function = FunctionReferenceRule 'on' generator = GeneratorReferenceRule ';' + public Group getGroup() { return cGroup; } + + //'write' + public Keyword getWriteKeyword_0() { return cWriteKeyword_0; } + + //file = STRING + public Assignment getFileAssignment_1() { return cFileAssignment_1; } + + //STRING + public RuleCall getFileSTRINGTerminalRuleCall_1_0() { return cFileSTRINGTerminalRuleCall_1_0; } + + //'with' + public Keyword getWithKeyword_2() { return cWithKeyword_2; } + + //count = INT + public Assignment getCountAssignment_3() { return cCountAssignment_3; } + + //INT + public RuleCall getCountINTTerminalRuleCall_3_0() { return cCountINTTerminalRuleCall_3_0; } + + //'samples' + public Keyword getSamplesKeyword_4() { return cSamplesKeyword_4; } + + //'from' + public Keyword getFromKeyword_5() { return cFromKeyword_5; } + + //'applying' + public Keyword getApplyingKeyword_6() { return cApplyingKeyword_6; } + + //function = FunctionReferenceRule + public Assignment getFunctionAssignment_7() { return cFunctionAssignment_7; } + + //FunctionReferenceRule + public RuleCall getFunctionFunctionReferenceRuleParserRuleCall_7_0() { return cFunctionFunctionReferenceRuleParserRuleCall_7_0; } + + //'on' + public Keyword getOnKeyword_8() { return cOnKeyword_8; } + + //generator = GeneratorReferenceRule + public Assignment getGeneratorAssignment_9() { return cGeneratorAssignment_9; } + + //GeneratorReferenceRule + public RuleCall getGeneratorGeneratorReferenceRuleParserRuleCall_9_0() { return cGeneratorGeneratorReferenceRuleParserRuleCall_9_0; } + + //';' + public Keyword getSemicolonKeyword_10() { return cSemicolonKeyword_10; } + } + public class GeneratorReferenceRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.GeneratorReferenceRule"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cGeneratorDefinitionReferenceRuleParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cLoopVariableReferenceParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //GeneratorReferenceRule returns GeneratorReference: + // GeneratorDefinitionReferenceRule | LoopVariableReference + //; + @Override public ParserRule getRule() { return rule; } + + //GeneratorDefinitionReferenceRule | LoopVariableReference + public Alternatives getAlternatives() { return cAlternatives; } + + //GeneratorDefinitionReferenceRule + public RuleCall getGeneratorDefinitionReferenceRuleParserRuleCall_0() { return cGeneratorDefinitionReferenceRuleParserRuleCall_0; } + + //LoopVariableReference + public RuleCall getLoopVariableReferenceParserRuleCall_1() { return cLoopVariableReferenceParserRuleCall_1; } + } + public class GeneratorDefinitionReferenceRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.GeneratorDefinitionReferenceRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Keyword cGeneratorKeyword_0 = (Keyword)cGroup.eContents().get(0); + private final Assignment cDefinitionAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cDefinitionGeneratorDefinitionCrossReference_1_0 = (CrossReference)cDefinitionAssignment_1.eContents().get(0); + private final RuleCall cDefinitionGeneratorDefinitionStringOrIdParserRuleCall_1_0_1 = (RuleCall)cDefinitionGeneratorDefinitionCrossReference_1_0.eContents().get(1); + + //GeneratorDefinitionReferenceRule returns GeneratorDefinitionReference: + // 'generator' definition = [ GeneratorDefinition | StringOrId ] + //; + @Override public ParserRule getRule() { return rule; } + + //'generator' definition = [ GeneratorDefinition | StringOrId ] + public Group getGroup() { return cGroup; } + + //'generator' + public Keyword getGeneratorKeyword_0() { return cGeneratorKeyword_0; } + + //definition = [ GeneratorDefinition | StringOrId ] + public Assignment getDefinitionAssignment_1() { return cDefinitionAssignment_1; } + + //[ GeneratorDefinition | StringOrId ] + public CrossReference getDefinitionGeneratorDefinitionCrossReference_1_0() { return cDefinitionGeneratorDefinitionCrossReference_1_0; } + + //StringOrId + public RuleCall getDefinitionGeneratorDefinitionStringOrIdParserRuleCall_1_0_1() { return cDefinitionGeneratorDefinitionStringOrIdParserRuleCall_1_0_1; } + } + public class FunctionReferenceRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionReferenceRule"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cFunctionDefReferenceRuleParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cLoopVariableReferenceParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //FunctionReferenceRule returns FunctionReference: + // FunctionDefReferenceRule | LoopVariableReference + //; + @Override public ParserRule getRule() { return rule; } + + //FunctionDefReferenceRule | LoopVariableReference + public Alternatives getAlternatives() { return cAlternatives; } + + //FunctionDefReferenceRule + public RuleCall getFunctionDefReferenceRuleParserRuleCall_0() { return cFunctionDefReferenceRuleParserRuleCall_0; } + + //LoopVariableReference + public RuleCall getLoopVariableReferenceParserRuleCall_1() { return cLoopVariableReferenceParserRuleCall_1; } + } + public class FunctionDefReferenceRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionDefReferenceRule"); + private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1); + private final RuleCall cFunctionDefinitionReferenceRuleParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0); + private final RuleCall cParametrizedFunctionDefinitionReferenceRuleParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1); + + //FunctionDefReferenceRule returns FunctionDefReference: + // FunctionDefinitionReferenceRule | ParametrizedFunctionDefinitionReferenceRule + //; + @Override public ParserRule getRule() { return rule; } + + //FunctionDefinitionReferenceRule | ParametrizedFunctionDefinitionReferenceRule + public Alternatives getAlternatives() { return cAlternatives; } + + //FunctionDefinitionReferenceRule + public RuleCall getFunctionDefinitionReferenceRuleParserRuleCall_0() { return cFunctionDefinitionReferenceRuleParserRuleCall_0; } + + //ParametrizedFunctionDefinitionReferenceRule + public RuleCall getParametrizedFunctionDefinitionReferenceRuleParserRuleCall_1() { return cParametrizedFunctionDefinitionReferenceRuleParserRuleCall_1; } + } + public class LoopVariableReferenceElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.LoopVariableReference"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cLoopVariableAction_0 = (Action)cGroup.eContents().get(0); + private final Assignment cDefinitionAssignment_1 = (Assignment)cGroup.eContents().get(1); + private final CrossReference cDefinitionForStatementCrossReference_1_0 = (CrossReference)cDefinitionAssignment_1.eContents().get(0); + private final RuleCall cDefinitionForStatementIDTerminalRuleCall_1_0_1 = (RuleCall)cDefinitionForStatementCrossReference_1_0.eContents().get(1); + + //LoopVariableReference returns LoopVariable: + // {LoopVariable} definition = [ForStatement | ID] + //; + @Override public ParserRule getRule() { return rule; } + + //{LoopVariable} definition = [ForStatement | ID] + public Group getGroup() { return cGroup; } + + //{LoopVariable} + public Action getLoopVariableAction_0() { return cLoopVariableAction_0; } + + //definition = [ForStatement | ID] + public Assignment getDefinitionAssignment_1() { return cDefinitionAssignment_1; } + + //[ForStatement | ID] + public CrossReference getDefinitionForStatementCrossReference_1_0() { return cDefinitionForStatementCrossReference_1_0; } + + //ID + public RuleCall getDefinitionForStatementIDTerminalRuleCall_1_0_1() { return cDefinitionForStatementIDTerminalRuleCall_1_0_1; } + } + public class FunctionDefinitionReferenceRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.FunctionDefinitionReferenceRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cFunctionDefinitionReferenceAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cDefinitionKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cDefinitionAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final CrossReference cDefinitionFunctionDefinitionCrossReference_2_0 = (CrossReference)cDefinitionAssignment_2.eContents().get(0); + private final RuleCall cDefinitionFunctionDefinitionStringOrIdParserRuleCall_2_0_1 = (RuleCall)cDefinitionFunctionDefinitionCrossReference_2_0.eContents().get(1); + + //FunctionDefinitionReferenceRule returns FunctionDefinitionReference: + // {FunctionDefinitionReference} 'definition' definition = [FunctionDefinition|StringOrId] + //; + @Override public ParserRule getRule() { return rule; } + + //{FunctionDefinitionReference} 'definition' definition = [FunctionDefinition|StringOrId] + public Group getGroup() { return cGroup; } + + //{FunctionDefinitionReference} + public Action getFunctionDefinitionReferenceAction_0() { return cFunctionDefinitionReferenceAction_0; } + + //'definition' + public Keyword getDefinitionKeyword_1() { return cDefinitionKeyword_1; } + + //definition = [FunctionDefinition|StringOrId] + public Assignment getDefinitionAssignment_2() { return cDefinitionAssignment_2; } + + //[FunctionDefinition|StringOrId] + public CrossReference getDefinitionFunctionDefinitionCrossReference_2_0() { return cDefinitionFunctionDefinitionCrossReference_2_0; } + + //StringOrId + public RuleCall getDefinitionFunctionDefinitionStringOrIdParserRuleCall_2_0_1() { return cDefinitionFunctionDefinitionStringOrIdParserRuleCall_2_0_1; } + } + public class ParametrizedFunctionDefinitionReferenceRuleElements extends AbstractParserRuleElementFinder { + private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "de.evoal.languages.model.generator.dsl.GeneratorDSL.ParametrizedFunctionDefinitionReferenceRule"); + private final Group cGroup = (Group)rule.eContents().get(1); + private final Action cParametrizedFunctionDefinitionReferenceAction_0 = (Action)cGroup.eContents().get(0); + private final Keyword cFunctionKeyword_1 = (Keyword)cGroup.eContents().get(1); + private final Assignment cDefinitionAssignment_2 = (Assignment)cGroup.eContents().get(2); + private final CrossReference cDefinitionFunctionDefinitionReferenceCrossReference_2_0 = (CrossReference)cDefinitionAssignment_2.eContents().get(0); + private final RuleCall cDefinitionFunctionDefinitionReferenceStringOrIdParserRuleCall_2_0_1 = (RuleCall)cDefinitionFunctionDefinitionReferenceCrossReference_2_0.eContents().get(1); + + //ParametrizedFunctionDefinitionReferenceRule returns ParametrizedFunctionDefinitionReference: + // {ParametrizedFunctionDefinitionReference} 'function' definition = [FunctionDefinitionReference|StringOrId] + //; + @Override public ParserRule getRule() { return rule; } + + //{ParametrizedFunctionDefinitionReference} 'function' definition = [FunctionDefinitionReference|StringOrId] + public Group getGroup() { return cGroup; } + + //{ParametrizedFunctionDefinitionReference} + public Action getParametrizedFunctionDefinitionReferenceAction_0() { return cParametrizedFunctionDefinitionReferenceAction_0; } + + //'function' + public Keyword getFunctionKeyword_1() { return cFunctionKeyword_1; } + + //definition = [FunctionDefinitionReference|StringOrId] + public Assignment getDefinitionAssignment_2() { return cDefinitionAssignment_2; } + + //[FunctionDefinitionReference|StringOrId] + public CrossReference getDefinitionFunctionDefinitionReferenceCrossReference_2_0() { return cDefinitionFunctionDefinitionReferenceCrossReference_2_0; } + + //StringOrId + public RuleCall getDefinitionFunctionDefinitionReferenceStringOrIdParserRuleCall_2_0_1() { return cDefinitionFunctionDefinitionReferenceStringOrIdParserRuleCall_2_0_1; } + } + + + private final ConfigurationRuleElements pConfigurationRule; + private final UseRuleElements pUseRule; + private final ParametrizedFunctionDefinitionRuleElements pParametrizedFunctionDefinitionRule; + private final GeneratorDefinitionRuleElements pGeneratorDefinitionRule; + private final StatementRuleElements pStatementRule; + private final ForStatementRuleElements pForStatementRule; + private final RangeRuleElements pRangeRule; + private final CounterRangeRuleElements pCounterRangeRule; + private final FunctionsRuleElements pFunctionsRule; + private final FunctionReferencesRuleElements pFunctionReferencesRule; + private final GeneratorsRuleElements pGeneratorsRule; + private final GeneratorReferencesRuleElements pGeneratorReferencesRule; + private final ApplyStatementRuleElements pApplyStatementRule; + private final GeneratorReferenceRuleElements pGeneratorReferenceRule; + private final GeneratorDefinitionReferenceRuleElements pGeneratorDefinitionReferenceRule; + private final FunctionReferenceRuleElements pFunctionReferenceRule; + private final FunctionDefReferenceRuleElements pFunctionDefReferenceRule; + private final LoopVariableReferenceElements pLoopVariableReference; + private final FunctionDefinitionReferenceRuleElements pFunctionDefinitionReferenceRule; + private final ParametrizedFunctionDefinitionReferenceRuleElements pParametrizedFunctionDefinitionReferenceRule; + + private final Grammar grammar; + + private final InstanceLanguageGrammarAccess gaInstanceLanguage; + + private final ExpressionLanguageGrammarAccess gaExpressionLanguage; + + private final TerminalsGrammarAccess gaTerminals; + + @Inject + public GeneratorDSLGrammarAccess(GrammarProvider grammarProvider, + InstanceLanguageGrammarAccess gaInstanceLanguage, + ExpressionLanguageGrammarAccess gaExpressionLanguage, + TerminalsGrammarAccess gaTerminals) { + this.grammar = internalFindGrammar(grammarProvider); + this.gaInstanceLanguage = gaInstanceLanguage; + this.gaExpressionLanguage = gaExpressionLanguage; + this.gaTerminals = gaTerminals; + this.pConfigurationRule = new ConfigurationRuleElements(); + this.pUseRule = new UseRuleElements(); + this.pParametrizedFunctionDefinitionRule = new ParametrizedFunctionDefinitionRuleElements(); + this.pGeneratorDefinitionRule = new GeneratorDefinitionRuleElements(); + this.pStatementRule = new StatementRuleElements(); + this.pForStatementRule = new ForStatementRuleElements(); + this.pRangeRule = new RangeRuleElements(); + this.pCounterRangeRule = new CounterRangeRuleElements(); + this.pFunctionsRule = new FunctionsRuleElements(); + this.pFunctionReferencesRule = new FunctionReferencesRuleElements(); + this.pGeneratorsRule = new GeneratorsRuleElements(); + this.pGeneratorReferencesRule = new GeneratorReferencesRuleElements(); + this.pApplyStatementRule = new ApplyStatementRuleElements(); + this.pGeneratorReferenceRule = new GeneratorReferenceRuleElements(); + this.pGeneratorDefinitionReferenceRule = new GeneratorDefinitionReferenceRuleElements(); + this.pFunctionReferenceRule = new FunctionReferenceRuleElements(); + this.pFunctionDefReferenceRule = new FunctionDefReferenceRuleElements(); + this.pLoopVariableReference = new LoopVariableReferenceElements(); + this.pFunctionDefinitionReferenceRule = new FunctionDefinitionReferenceRuleElements(); + this.pParametrizedFunctionDefinitionReferenceRule = new ParametrizedFunctionDefinitionReferenceRuleElements(); + } + + protected Grammar internalFindGrammar(GrammarProvider grammarProvider) { + Grammar grammar = grammarProvider.getGrammar(this); + while (grammar != null) { + if ("de.evoal.languages.model.generator.dsl.GeneratorDSL".equals(grammar.getName())) { + return grammar; + } + List<Grammar> grammars = grammar.getUsedGrammars(); + if (!grammars.isEmpty()) { + grammar = grammars.iterator().next(); + } else { + return null; + } + } + return grammar; + } + + @Override + public Grammar getGrammar() { + return grammar; + } + + + public InstanceLanguageGrammarAccess getInstanceLanguageGrammarAccess() { + return gaInstanceLanguage; + } + + public ExpressionLanguageGrammarAccess getExpressionLanguageGrammarAccess() { + return gaExpressionLanguage; + } + + public TerminalsGrammarAccess getTerminalsGrammarAccess() { + return gaTerminals; + } + + + //ConfigurationRule returns Configuration: + // (uses += UseRule)* + // (generators += GeneratorDefinitionRule)* + // (functions += ParametrizedFunctionDefinitionRule)* + // (statements += StatementRule)* + //; + public ConfigurationRuleElements getConfigurationRuleAccess() { + return pConfigurationRule; + } + + public ParserRule getConfigurationRuleRule() { + return getConfigurationRuleAccess().getRule(); + } + + //UseRule returns Use: + // 'use' importURI = STRING ';' + //; + public UseRuleElements getUseRuleAccess() { + return pUseRule; + } + + public ParserRule getUseRuleRule() { + return getUseRuleAccess().getRule(); + } + + //ParametrizedFunctionDefinitionRule returns ParametrizedFunctionDefinition: + // 'function' name = StringOrId 'using' + // definition = InstanceRule + // ';' + //; + public ParametrizedFunctionDefinitionRuleElements getParametrizedFunctionDefinitionRuleAccess() { + return pParametrizedFunctionDefinitionRule; + } + + public ParserRule getParametrizedFunctionDefinitionRuleRule() { + return getParametrizedFunctionDefinitionRuleAccess().getRule(); + } + + //GeneratorDefinitionRule returns GeneratorDefinition: + // 'generator' name = StringOrId 'using' + // definition = InstanceRule + // ';' + //; + public GeneratorDefinitionRuleElements getGeneratorDefinitionRuleAccess() { + return pGeneratorDefinitionRule; + } + + public ParserRule getGeneratorDefinitionRuleRule() { + return getGeneratorDefinitionRuleAccess().getRule(); + } + + //StatementRule returns Statement: + // ForStatementRule | ApplyStatementRule + //; + public StatementRuleElements getStatementRuleAccess() { + return pStatementRule; + } + + public ParserRule getStatementRuleRule() { + return getStatementRuleAccess().getRule(); + } + + //ForStatementRule returns ForStatement: + // 'for' name = ID 'in' range = RangeRule 'loop' + // (statements += StatementRule)* + // 'end' + //; + public ForStatementRuleElements getForStatementRuleAccess() { + return pForStatementRule; + } + + public ParserRule getForStatementRuleRule() { + return getForStatementRuleAccess().getRule(); + } + + //RangeRule returns Range: + // FunctionsRule | GeneratorsRule | CounterRangeRule + //; + public RangeRuleElements getRangeRuleAccess() { + return pRangeRule; + } + + public ParserRule getRangeRuleRule() { + return getRangeRuleAccess().getRule(); + } + + //CounterRangeRule returns CounterRange: + // '[' start = INT 'to' end = INT ']' + //; + public CounterRangeRuleElements getCounterRangeRuleAccess() { + return pCounterRangeRule; + } + + public ParserRule getCounterRangeRuleRule() { + return getCounterRangeRuleAccess().getRule(); + } + + //FunctionsRule returns Functions: + // {Functions} 'functions' (functionReferences = FunctionReferencesRule)? + //; + public FunctionsRuleElements getFunctionsRuleAccess() { + return pFunctionsRule; + } + + public ParserRule getFunctionsRuleRule() { + return getFunctionsRuleAccess().getRule(); + } + + //FunctionReferencesRule returns FunctionReferences: + // '[' functions += FunctionDefReferenceRule (',' functions += FunctionDefReferenceRule)* ']' + //; + public FunctionReferencesRuleElements getFunctionReferencesRuleAccess() { + return pFunctionReferencesRule; + } + + public ParserRule getFunctionReferencesRuleRule() { + return getFunctionReferencesRuleAccess().getRule(); + } + + //GeneratorsRule returns Generators: + // {Generators} 'generators' (generatorReferences = GeneratorReferencesRule)? + //; + public GeneratorsRuleElements getGeneratorsRuleAccess() { + return pGeneratorsRule; + } + + public ParserRule getGeneratorsRuleRule() { + return getGeneratorsRuleAccess().getRule(); + } + + //GeneratorReferencesRule returns GeneratorReferences: + // '[' generators += [GeneratorDefinition|StringOrId] (',' generators += [GeneratorDefinition|StringOrId])* ']' + //; + public GeneratorReferencesRuleElements getGeneratorReferencesRuleAccess() { + return pGeneratorReferencesRule; + } + + public ParserRule getGeneratorReferencesRuleRule() { + return getGeneratorReferencesRuleAccess().getRule(); + } + + //ApplyStatementRule returns ApplyStatement: + // 'write' file = STRING 'with' count = INT 'samples' 'from' 'applying' function = FunctionReferenceRule 'on' generator = GeneratorReferenceRule ';' + //; + public ApplyStatementRuleElements getApplyStatementRuleAccess() { + return pApplyStatementRule; + } + + public ParserRule getApplyStatementRuleRule() { + return getApplyStatementRuleAccess().getRule(); + } + + //GeneratorReferenceRule returns GeneratorReference: + // GeneratorDefinitionReferenceRule | LoopVariableReference + //; + public GeneratorReferenceRuleElements getGeneratorReferenceRuleAccess() { + return pGeneratorReferenceRule; + } + + public ParserRule getGeneratorReferenceRuleRule() { + return getGeneratorReferenceRuleAccess().getRule(); + } + + //GeneratorDefinitionReferenceRule returns GeneratorDefinitionReference: + // 'generator' definition = [ GeneratorDefinition | StringOrId ] + //; + public GeneratorDefinitionReferenceRuleElements getGeneratorDefinitionReferenceRuleAccess() { + return pGeneratorDefinitionReferenceRule; + } + + public ParserRule getGeneratorDefinitionReferenceRuleRule() { + return getGeneratorDefinitionReferenceRuleAccess().getRule(); + } + + //FunctionReferenceRule returns FunctionReference: + // FunctionDefReferenceRule | LoopVariableReference + //; + public FunctionReferenceRuleElements getFunctionReferenceRuleAccess() { + return pFunctionReferenceRule; + } + + public ParserRule getFunctionReferenceRuleRule() { + return getFunctionReferenceRuleAccess().getRule(); + } + + //FunctionDefReferenceRule returns FunctionDefReference: + // FunctionDefinitionReferenceRule | ParametrizedFunctionDefinitionReferenceRule + //; + public FunctionDefReferenceRuleElements getFunctionDefReferenceRuleAccess() { + return pFunctionDefReferenceRule; + } + + public ParserRule getFunctionDefReferenceRuleRule() { + return getFunctionDefReferenceRuleAccess().getRule(); + } + + //LoopVariableReference returns LoopVariable: + // {LoopVariable} definition = [ForStatement | ID] + //; + public LoopVariableReferenceElements getLoopVariableReferenceAccess() { + return pLoopVariableReference; + } + + public ParserRule getLoopVariableReferenceRule() { + return getLoopVariableReferenceAccess().getRule(); + } + + //FunctionDefinitionReferenceRule returns FunctionDefinitionReference: + // {FunctionDefinitionReference} 'definition' definition = [FunctionDefinition|StringOrId] + //; + public FunctionDefinitionReferenceRuleElements getFunctionDefinitionReferenceRuleAccess() { + return pFunctionDefinitionReferenceRule; + } + + public ParserRule getFunctionDefinitionReferenceRuleRule() { + return getFunctionDefinitionReferenceRuleAccess().getRule(); + } + + //ParametrizedFunctionDefinitionReferenceRule returns ParametrizedFunctionDefinitionReference: + // {ParametrizedFunctionDefinitionReference} 'function' definition = [FunctionDefinitionReference|StringOrId] + //; + public ParametrizedFunctionDefinitionReferenceRuleElements getParametrizedFunctionDefinitionReferenceRuleAccess() { + return pParametrizedFunctionDefinitionReferenceRule; + } + + public ParserRule getParametrizedFunctionDefinitionReferenceRuleRule() { + return getParametrizedFunctionDefinitionReferenceRuleAccess().getRule(); + } + + //InstanceRule returns Instance: + // name = [dl::TypeDefinition|StringOrId] ('{' + // attributes += AttributeRule* + // '}')? + //; + public InstanceLanguageGrammarAccess.InstanceRuleElements getInstanceRuleAccess() { + return gaInstanceLanguage.getInstanceRuleAccess(); + } + + public ParserRule getInstanceRuleRule() { + return getInstanceRuleAccess().getRule(); + } + + //AttributeRule returns Attribute: + // name = NameOrMiscRule ':=' value = ValueRule ';' + //; + public InstanceLanguageGrammarAccess.AttributeRuleElements getAttributeRuleAccess() { + return gaInstanceLanguage.getAttributeRuleAccess(); + } + + public ParserRule getAttributeRuleRule() { + return getAttributeRuleAccess().getRule(); + } + + //NameOrMiscRule returns NameOrMisc: + // NameRule | MiscRule + //; + public InstanceLanguageGrammarAccess.NameOrMiscRuleElements getNameOrMiscRuleAccess() { + return gaInstanceLanguage.getNameOrMiscRuleAccess(); + } + + public ParserRule getNameOrMiscRuleRule() { + return getNameOrMiscRuleAccess().getRule(); + } + + //NameRule returns Name: + // name = [dl::NamedAttributeDefinition|StringOrId] + //; + public InstanceLanguageGrammarAccess.NameRuleElements getNameRuleAccess() { + return gaInstanceLanguage.getNameRuleAccess(); + } + + public ParserRule getNameRuleRule() { + return getNameRuleAccess().getRule(); + } + + //MiscRule returns Misc: + // name = STRING + //; + public InstanceLanguageGrammarAccess.MiscRuleElements getMiscRuleAccess() { + return gaInstanceLanguage.getMiscRuleAccess(); + } + + public ParserRule getMiscRuleRule() { + return getMiscRuleAccess().getRule(); + } + + //ValueRule returns Value: + // ArrayRule | DataReferenceRule | InstanceRule | LiteralValueRule + //; + public InstanceLanguageGrammarAccess.ValueRuleElements getValueRuleAccess() { + return gaInstanceLanguage.getValueRuleAccess(); + } + + public ParserRule getValueRuleRule() { + return getValueRuleAccess().getRule(); + } + + //ArrayRule returns Array: + // {Array} + // '[' (values += ValueRule (',' values += ValueRule)* )? ']' + //; + public InstanceLanguageGrammarAccess.ArrayRuleElements getArrayRuleAccess() { + return gaInstanceLanguage.getArrayRuleAccess(); + } + + public ParserRule getArrayRuleRule() { + return getArrayRuleAccess().getRule(); + } + + //LiteralValueRule returns LiteralValue: + // literal = LiteralRule + //; + public InstanceLanguageGrammarAccess.LiteralValueRuleElements getLiteralValueRuleAccess() { + return gaInstanceLanguage.getLiteralValueRuleAccess(); + } + + public ParserRule getLiteralValueRuleRule() { + return getLiteralValueRuleAccess().getRule(); + } + + //DataReferenceRule returns DataReference: + // {DataReference} + // 'data' definition = [ddl::DataDescription|StringOrId] + //; + public InstanceLanguageGrammarAccess.DataReferenceRuleElements getDataReferenceRuleAccess() { + return gaInstanceLanguage.getDataReferenceRuleAccess(); + } + + public ParserRule getDataReferenceRuleRule() { + return getDataReferenceRuleAccess().getRule(); + } + + //ExpressionRule returns Expression: + // OrExpressionRule + //; + public ExpressionLanguageGrammarAccess.ExpressionRuleElements getExpressionRuleAccess() { + return gaExpressionLanguage.getExpressionRuleAccess(); + } + + public ParserRule getExpressionRuleRule() { + return getExpressionRuleAccess().getRule(); + } + + //OrExpressionRule returns OrExpression: + // subExpressions += XorExpressionRule ( "OR" subExpressions += XorExpressionRule )* + //; + public ExpressionLanguageGrammarAccess.OrExpressionRuleElements getOrExpressionRuleAccess() { + return gaExpressionLanguage.getOrExpressionRuleAccess(); + } + + public ParserRule getOrExpressionRuleRule() { + return getOrExpressionRuleAccess().getRule(); + } + + //XorExpressionRule returns XorExpression: + // subExpressions += AndExpressionRule ( "XOR" subExpressions += AndExpressionRule )* + //; + public ExpressionLanguageGrammarAccess.XorExpressionRuleElements getXorExpressionRuleAccess() { + return gaExpressionLanguage.getXorExpressionRuleAccess(); + } + + public ParserRule getXorExpressionRuleRule() { + return getXorExpressionRuleAccess().getRule(); + } + + //AndExpressionRule returns AndExpression: + // subExpressions += NotExpressionRule ( "AND" subExpressions += NotExpressionRule )* + //; + public ExpressionLanguageGrammarAccess.AndExpressionRuleElements getAndExpressionRuleAccess() { + return gaExpressionLanguage.getAndExpressionRuleAccess(); + } + + public ParserRule getAndExpressionRuleRule() { + return getAndExpressionRuleAccess().getRule(); + } + + //NotExpressionRule returns NotExpression: + // ( negated ?= "!")? operand = ComparisonExpressionRule + //; + public ExpressionLanguageGrammarAccess.NotExpressionRuleElements getNotExpressionRuleAccess() { + return gaExpressionLanguage.getNotExpressionRuleAccess(); + } + + public ParserRule getNotExpressionRuleRule() { + return getNotExpressionRuleAccess().getRule(); + } + + //ComparisonExpressionRule returns ComparisonExpression: + // leftOperand = AddOrSubtractExpressionRule ( comparison += PartialComparisonExpressionRule )* + //; + public ExpressionLanguageGrammarAccess.ComparisonExpressionRuleElements getComparisonExpressionRuleAccess() { + return gaExpressionLanguage.getComparisonExpressionRuleAccess(); + } + + public ParserRule getComparisonExpressionRuleRule() { + return getComparisonExpressionRuleAccess().getRule(); + } + + //PartialComparisonExpressionRule returns PartialComparisonExpression : + // operator = ComparisonOperatorRule subExpression = AddOrSubtractExpressionRule + //; + public ExpressionLanguageGrammarAccess.PartialComparisonExpressionRuleElements getPartialComparisonExpressionRuleAccess() { + return gaExpressionLanguage.getPartialComparisonExpressionRuleAccess(); + } + + public ParserRule getPartialComparisonExpressionRuleRule() { + return getPartialComparisonExpressionRuleAccess().getRule(); + } + + //enum ComparisonOperatorRule returns ComparisonOperator : + // GreaterThan = ">=" | + // GreaterEqual = ">" | + // Equal = "=" | + // Unequal = "!=" | + // LessEqual = "<" | + // LessThan = "<=" + //; + public ExpressionLanguageGrammarAccess.ComparisonOperatorRuleElements getComparisonOperatorRuleAccess() { + return gaExpressionLanguage.getComparisonOperatorRuleAccess(); + } + + public EnumRule getComparisonOperatorRuleRule() { + return getComparisonOperatorRuleAccess().getRule(); + } + + //AddOrSubtractExpressionRule returns AddOrSubtractExpression: + // leftOperand = MultiplyDivideModuloExpressionRule (operators+=AddOrSubtractOperatorRule operands += MultiplyDivideModuloExpressionRule)* + //; + public ExpressionLanguageGrammarAccess.AddOrSubtractExpressionRuleElements getAddOrSubtractExpressionRuleAccess() { + return gaExpressionLanguage.getAddOrSubtractExpressionRuleAccess(); + } + + public ParserRule getAddOrSubtractExpressionRuleRule() { + return getAddOrSubtractExpressionRuleAccess().getRule(); + } + + //enum AddOrSubtractOperatorRule returns AddOrSubtractOperator: + // Add = '+' | Subtract = '-' + //; + public ExpressionLanguageGrammarAccess.AddOrSubtractOperatorRuleElements getAddOrSubtractOperatorRuleAccess() { + return gaExpressionLanguage.getAddOrSubtractOperatorRuleAccess(); + } + + public EnumRule getAddOrSubtractOperatorRuleRule() { + return getAddOrSubtractOperatorRuleAccess().getRule(); + } + + //MultiplyDivideModuloExpressionRule returns MultiplyDivideModuloExpression : + // leftOperand = PowerOfExpressionRule (operators+= MultiplyDivideModuloOperatorRule operands += PowerOfExpressionRule)* + //; + public ExpressionLanguageGrammarAccess.MultiplyDivideModuloExpressionRuleElements getMultiplyDivideModuloExpressionRuleAccess() { + return gaExpressionLanguage.getMultiplyDivideModuloExpressionRuleAccess(); + } + + public ParserRule getMultiplyDivideModuloExpressionRuleRule() { + return getMultiplyDivideModuloExpressionRuleAccess().getRule(); + } + + //enum MultiplyDivideModuloOperatorRule returns MultiplyDivideModuloOperator: + // Multiply = '*' | Divide = "/" | Modulo = '%' + //; + public ExpressionLanguageGrammarAccess.MultiplyDivideModuloOperatorRuleElements getMultiplyDivideModuloOperatorRuleAccess() { + return gaExpressionLanguage.getMultiplyDivideModuloOperatorRuleAccess(); + } + + public EnumRule getMultiplyDivideModuloOperatorRuleRule() { + return getMultiplyDivideModuloOperatorRuleAccess().getRule(); + } + + //PowerOfExpressionRule returns PowerOfExpression : + // leftOperand = UnaryAddOrSubtractExpressionRule ('^' rightOperand = PowerOfExpressionRule)? + //; + public ExpressionLanguageGrammarAccess.PowerOfExpressionRuleElements getPowerOfExpressionRuleAccess() { + return gaExpressionLanguage.getPowerOfExpressionRuleAccess(); + } + + public ParserRule getPowerOfExpressionRuleRule() { + return getPowerOfExpressionRuleAccess().getRule(); + } + + //UnaryAddOrSubtractExpressionRule returns UnaryAddOrSubtractExpression : + // ( operators+=AddOrSubtractOperatorRule )* subExpression = LiteralOrReferenceRule + //; + public ExpressionLanguageGrammarAccess.UnaryAddOrSubtractExpressionRuleElements getUnaryAddOrSubtractExpressionRuleAccess() { + return gaExpressionLanguage.getUnaryAddOrSubtractExpressionRuleAccess(); + } + + public ParserRule getUnaryAddOrSubtractExpressionRuleRule() { + return getUnaryAddOrSubtractExpressionRuleAccess().getRule(); + } + + //LiteralOrReferenceRule returns CallOrLiteralOrReferenceOrParantheses: + // CallRule | LiteralRule | ParanthesesRule | ValueReferenceRule; + public ExpressionLanguageGrammarAccess.LiteralOrReferenceRuleElements getLiteralOrReferenceRuleAccess() { + return gaExpressionLanguage.getLiteralOrReferenceRuleAccess(); + } + + public ParserRule getLiteralOrReferenceRuleRule() { + return getLiteralOrReferenceRuleAccess().getRule(); + } + + //ParanthesesRule returns Parantheses: + // '(' subExpression = ExpressionRule ')' + //; + public ExpressionLanguageGrammarAccess.ParanthesesRuleElements getParanthesesRuleAccess() { + return gaExpressionLanguage.getParanthesesRuleAccess(); + } + + public ParserRule getParanthesesRuleRule() { + return getParanthesesRuleAccess().getRule(); + } + + //CallRule returns Call: + // function=FunctionNameRule '(' (parameters += ExpressionRule (',' parameters += ExpressionRule)* )? ')' + //; + public ExpressionLanguageGrammarAccess.CallRuleElements getCallRuleAccess() { + return gaExpressionLanguage.getCallRuleAccess(); + } + + public ParserRule getCallRuleRule() { + return getCallRuleAccess().getRule(); + } + + //FunctionNameRule returns FunctionName: + // {FunctionName} 'call' + //; + public ExpressionLanguageGrammarAccess.FunctionNameRuleElements getFunctionNameRuleAccess() { + return gaExpressionLanguage.getFunctionNameRuleAccess(); + } + + public ParserRule getFunctionNameRuleRule() { + return getFunctionNameRuleAccess().getRule(); + } + + //ValueReferenceRule returns ValueReference: + // {ValueReference} 'value' + //; + public ExpressionLanguageGrammarAccess.ValueReferenceRuleElements getValueReferenceRuleAccess() { + return gaExpressionLanguage.getValueReferenceRuleAccess(); + } + + public ParserRule getValueReferenceRuleRule() { + return getValueReferenceRuleAccess().getRule(); + } + + //LiteralRule returns Literal: + // NumberLiteralRule + // | StringLiteralRule + // | BooleanLiteralRule + //; + public ExpressionLanguageGrammarAccess.LiteralRuleElements getLiteralRuleAccess() { + return gaExpressionLanguage.getLiteralRuleAccess(); + } + + public ParserRule getLiteralRuleRule() { + return getLiteralRuleAccess().getRule(); + } + + //NumberLiteralRule returns NumberLiteral: + // DoubleLiteralRule | IntegerLiteralRule + //; + public ExpressionLanguageGrammarAccess.NumberLiteralRuleElements getNumberLiteralRuleAccess() { + return gaExpressionLanguage.getNumberLiteralRuleAccess(); + } + + public ParserRule getNumberLiteralRuleRule() { + return getNumberLiteralRuleAccess().getRule(); + } + + //DoubleLiteralRule returns DoubleLiteral : + // value = DOUBLE + //; + public ExpressionLanguageGrammarAccess.DoubleLiteralRuleElements getDoubleLiteralRuleAccess() { + return gaExpressionLanguage.getDoubleLiteralRuleAccess(); + } + + public ParserRule getDoubleLiteralRuleRule() { + return getDoubleLiteralRuleAccess().getRule(); + } + + //IntegerLiteralRule returns IntegerLiteral: + // value = INT + //; + public ExpressionLanguageGrammarAccess.IntegerLiteralRuleElements getIntegerLiteralRuleAccess() { + return gaExpressionLanguage.getIntegerLiteralRuleAccess(); + } + + public ParserRule getIntegerLiteralRuleRule() { + return getIntegerLiteralRuleAccess().getRule(); + } + + //StringLiteralRule returns StringLiteral: + // value = STRING + //; + public ExpressionLanguageGrammarAccess.StringLiteralRuleElements getStringLiteralRuleAccess() { + return gaExpressionLanguage.getStringLiteralRuleAccess(); + } + + public ParserRule getStringLiteralRuleRule() { + return getStringLiteralRuleAccess().getRule(); + } + + //BooleanLiteralRule returns BooleanLiteral: + // {BooleanLiteral} (value ?= 'true' | 'false') + //; + public ExpressionLanguageGrammarAccess.BooleanLiteralRuleElements getBooleanLiteralRuleAccess() { + return gaExpressionLanguage.getBooleanLiteralRuleAccess(); + } + + public ParserRule getBooleanLiteralRuleRule() { + return getBooleanLiteralRuleAccess().getRule(); + } + + //StringOrId: + // QUOTED_ID | ID; + public ExpressionLanguageGrammarAccess.StringOrIdElements getStringOrIdAccess() { + return gaExpressionLanguage.getStringOrIdAccess(); + } + + public ParserRule getStringOrIdRule() { + return getStringOrIdAccess().getRule(); + } + + //DOUBLE returns ecore::EDouble : INT'.'INT; + public ExpressionLanguageGrammarAccess.DOUBLEElements getDOUBLEAccess() { + return gaExpressionLanguage.getDOUBLEAccess(); + } + + public ParserRule getDOUBLERule() { + return getDOUBLEAccess().getRule(); + } + + //@Override + //terminal STRING: + // '"' ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|'"') )* '"'; + public TerminalRule getSTRINGRule() { + return gaExpressionLanguage.getSTRINGRule(); + } + + //terminal QUOTED_ID: + // "'" ( '\\' . /* 'b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\' */ | !('\\'|"'") )* "'"; + public TerminalRule getQUOTED_IDRule() { + return gaExpressionLanguage.getQUOTED_IDRule(); + } + + //terminal ID: '^'?('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*; + public TerminalRule getIDRule() { + return gaTerminals.getIDRule(); + } + + //terminal INT returns ecore::EInt: ('0'..'9')+; + public TerminalRule getINTRule() { + return gaTerminals.getINTRule(); + } + + //terminal ML_COMMENT : '/*' -> '*/'; + public TerminalRule getML_COMMENTRule() { + return gaTerminals.getML_COMMENTRule(); + } + + //terminal SL_COMMENT : '//' !('\n'|'\r')* ('\r'? '\n')?; + public TerminalRule getSL_COMMENTRule() { + return gaTerminals.getSL_COMMENTRule(); + } + + //terminal WS : (' '|'\t'|'\r'|'\n')+; + public TerminalRule getWSRule() { + return gaTerminals.getWSRule(); + } + + //terminal ANY_OTHER: .; + public TerminalRule getANY_OTHERRule() { + return gaTerminals.getANY_OTHERRule(); + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/validation/AbstractGeneratorDSLValidator.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/validation/AbstractGeneratorDSLValidator.java new file mode 100644 index 0000000000000000000000000000000000000000..5a6fe43d3c46fd660ac0c2eef8cbd1d3df3209db --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/validation/AbstractGeneratorDSLValidator.java @@ -0,0 +1,21 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.validation; + +import de.evoal.languages.model.instance.dsl.validation.InstanceLanguageValidator; +import java.util.ArrayList; +import java.util.List; +import org.eclipse.emf.ecore.EPackage; + +public abstract class AbstractGeneratorDSLValidator extends InstanceLanguageValidator { + + @Override + protected List<EPackage> getEPackages() { + List<EPackage> result = new ArrayList<EPackage>(super.getEPackages()); + result.add(de.evoal.languages.model.generator.dsl.generatorDSL.GeneratorDSLPackage.eINSTANCE); + result.add(EPackage.Registry.INSTANCE.getEPackage("https://www.evoal.de/languages/instance/1.0.0")); + result.add(EPackage.Registry.INSTANCE.getEPackage("https://www.evoal.de/languages/el/1.0.0")); + return result; + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/validation/GeneratorDSLConfigurableIssueCodesProvider.java b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/validation/GeneratorDSLConfigurableIssueCodesProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..341c7d9ed225e6459a5ab579ab73673462bbb942 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src-gen/de/evoal/languages/model/generator/dsl/validation/GeneratorDSLConfigurableIssueCodesProvider.java @@ -0,0 +1,22 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.validation; + +import org.eclipse.xtext.preferences.PreferenceKey; +import org.eclipse.xtext.util.IAcceptor; +import org.eclipse.xtext.validation.ConfigurableIssueCodesProvider; +import org.eclipse.xtext.validation.SeverityConverter; + +@SuppressWarnings("restriction") +public class GeneratorDSLConfigurableIssueCodesProvider extends ConfigurableIssueCodesProvider { + protected static final String ISSUE_CODE_PREFIX = "de.evoal.languages.model.generator.dsl."; + + public static final String DEPRECATED_MODEL_PART = ISSUE_CODE_PREFIX + "deprecatedModelPart"; + + @Override + protected void initialize(IAcceptor<PreferenceKey> acceptor) { + super.initialize(acceptor); + acceptor.accept(create(DEPRECATED_MODEL_PART, SeverityConverter.SEVERITY_WARNING)); + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GenerateGeneratorDSL.mwe2 b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GenerateGeneratorDSL.mwe2 new file mode 100644 index 0000000000000000000000000000000000000000..51c8080115029e652aa9bd11dd303c6378f96959 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GenerateGeneratorDSL.mwe2 @@ -0,0 +1,49 @@ +module de.evoal.languages.model.generator.dsl.GenerateGeneratorDSL + +import org.eclipse.xtext.xtext.generator.* +import org.eclipse.xtext.xtext.generator.model.project.* + +var rootPath = ".." + +Workflow { + + component = XtextGenerator { + configuration = { + project = StandardProjectConfig { + baseName = "de.evoal.languages.model.generator.dsl" + rootPath = rootPath + eclipsePlugin = { + enabled = true + } + createEclipseMetaData = true + } + code = { + encoding = "UTF-8" + lineDelimiter = "\n" + fileHeader = "/*\n * generated by Xtext \${version}\n */" + preferXtendStubs = false + } + } + language = StandardLanguage { + name = "de.evoal.languages.model.generator.dsl.GeneratorDSL" + fileExtensions = "generator" + + referencedResource = "platform:/resource/de.evoal.languages.model.instance/model/model.genmodel" + + serializer = { + generateStub = false + } + validator = { + // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" + // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage + generateDeprecationValidation = true + } + generator = { + generateXtendStub = true + } + junitSupport = { + junitVersion = "5" + } + } + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSL.xtext b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSL.xtext new file mode 100644 index 0000000000000000000000000000000000000000..d9e513f9284019e859cd825fd177d0f3f7dc2c5a --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSL.xtext @@ -0,0 +1,96 @@ +grammar de.evoal.languages.model.generator.dsl.GeneratorDSL with de.evoal.languages.model.instance.dsl.InstanceLanguage + +generate generatorDSL "http://www.evoal.de/languages/model/generator/dsl/GeneratorDSL" + +import "https://www.evoal.de/languages/dl/1.0.0" + +ConfigurationRule returns Configuration: + (uses += UseRule)* + (generators += GeneratorDefinitionRule)* + (functions += ParametrizedFunctionDefinitionRule)* + + (statements += StatementRule)* +; + +UseRule returns Use: + 'use' importURI = STRING ';' +; + + +ParametrizedFunctionDefinitionRule returns ParametrizedFunctionDefinition: + 'function' name = StringOrId 'using' + definition = InstanceRule + ';' +; + +GeneratorDefinitionRule returns GeneratorDefinition: + 'generator' name = StringOrId 'using' + definition = InstanceRule + ';' +; + +StatementRule returns Statement: + ForStatementRule | ApplyStatementRule +; + +ForStatementRule returns ForStatement: + 'for' name = ID 'in' range = RangeRule 'loop' + (statements += StatementRule)* + 'end' +; + +RangeRule returns Range: + FunctionsRule | GeneratorsRule | CounterRangeRule +; + +CounterRangeRule returns CounterRange: + '[' start = INT 'to' end = INT ']' +; + +FunctionsRule returns Functions: + {Functions} 'functions' (functionReferences = FunctionReferencesRule)? +; + +FunctionReferencesRule returns FunctionReferences: + '[' functions += FunctionDefReferenceRule (',' functions += FunctionDefReferenceRule)* ']' +; + +GeneratorsRule returns Generators: + {Generators} 'generators' (generatorReferences = GeneratorReferencesRule)? +; + +GeneratorReferencesRule returns GeneratorReferences: + '[' generators += [GeneratorDefinition|StringOrId] (',' generators += [GeneratorDefinition|StringOrId])* ']' +; + +ApplyStatementRule returns ApplyStatement: + 'write' file = STRING 'with' count = INT 'samples' 'from' 'applying' function = FunctionReferenceRule 'on' generator = GeneratorReferenceRule ';' +; + +GeneratorReferenceRule returns GeneratorReference: + GeneratorDefinitionReferenceRule | LoopVariableReference +; + +GeneratorDefinitionReferenceRule returns GeneratorDefinitionReference: + 'generator' definition = [ GeneratorDefinition | StringOrId ] +; + +FunctionReferenceRule returns FunctionReference: + FunctionDefReferenceRule | LoopVariableReference +; + +FunctionDefReferenceRule returns FunctionDefReference: + FunctionDefinitionReferenceRule | ParametrizedFunctionDefinitionReferenceRule +; + +LoopVariableReference returns LoopVariable: + {LoopVariable} definition = [ForStatement | ID] +; + +FunctionDefinitionReferenceRule returns FunctionDefinitionReference: + {FunctionDefinitionReference} 'definition' definition = [FunctionDefinition|StringOrId] +; + +ParametrizedFunctionDefinitionReferenceRule returns ParametrizedFunctionDefinitionReference: + {ParametrizedFunctionDefinitionReference} 'function' definition = [FunctionDefinitionReference|StringOrId] +; \ No newline at end of file diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSLRuntimeModule.java b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSLRuntimeModule.java new file mode 100644 index 0000000000000000000000000000000000000000..c0b479693693d85e6f3db5bca0fad727a45a2d67 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSLRuntimeModule.java @@ -0,0 +1,25 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl; + +import org.eclipse.xtext.conversion.IValueConverterService; +import org.eclipse.xtext.scoping.IGlobalScopeProvider; +import org.eclipse.xtext.scoping.impl.ImportUriGlobalScopeProvider; + +import de.evoal.languages.model.generator.dsl.converter.ValueConverterService; + +/** + * Use this class to register components to be used at runtime / without the Equinox extension registry. + */ +public class GeneratorDSLRuntimeModule extends AbstractGeneratorDSLRuntimeModule { + @Override + public Class<? extends IGlobalScopeProvider> bindIGlobalScopeProvider() { + return ImportUriGlobalScopeProvider.class; + } + + @Override + public Class<? extends IValueConverterService> bindIValueConverterService() { + return ValueConverterService.class; + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSLStandaloneSetup.java b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSLStandaloneSetup.java new file mode 100644 index 0000000000000000000000000000000000000000..f94b54132e7e1130123ce8237f91f15dbbf811dc --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/GeneratorDSLStandaloneSetup.java @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl; + + +/** + * Initialization support for running Xtext languages without Equinox extension registry. + */ +public class GeneratorDSLStandaloneSetup extends GeneratorDSLStandaloneSetupGenerated { + + public static void doSetup() { + new GeneratorDSLStandaloneSetup().createInjectorAndDoEMFRegistration(); + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/converter/StringStripperConverter.java b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/converter/StringStripperConverter.java new file mode 100644 index 0000000000000000000000000000000000000000..f93de66d34dc95b9b2215244ad4fa25b99573440 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/converter/StringStripperConverter.java @@ -0,0 +1,52 @@ +package de.evoal.languages.model.generator.dsl.converter; + +import java.util.regex.Pattern; + +import org.eclipse.xtext.conversion.IValueConverter; +import org.eclipse.xtext.nodemodel.INode; + +/** + * A Xtext value converter that is applicable for rules, such as: + * + * <pre> + * MyRule returns ecore::EString: + * ID | STRING; + * </pre> + * + * The converter will strip the quotes or apostrophes in the String case. + * + * @author Bernhard J. Berger + */ +public class StringStripperConverter implements IValueConverter<String> { + private final static Pattern ID_PATTERN = Pattern.compile("[^a-zA-Z0-9]"); + + @Override + public String toValue(final String string, final INode node) { + if (string == null) { + return null; + } + + if (string.startsWith("'")) { + return string.substring(1, string.length() - 1); + } else { + return string; + } + } + + @Override + public String toString(final String value) { + if (value == null) { + return null; + } + + if (isID(value)) { + return value; + } else { + return String.format("'%s'", value); + } + } + + private boolean isID(final String value) { + return !ID_PATTERN.matcher(value).find(); + } +} \ No newline at end of file diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/converter/ValueConverterService.java b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/converter/ValueConverterService.java new file mode 100644 index 0000000000000000000000000000000000000000..99c4037a64f36d24cd3476a84313828f62e33d2b --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/converter/ValueConverterService.java @@ -0,0 +1,12 @@ +package de.evoal.languages.model.generator.dsl.converter; + +import org.eclipse.xtext.common.services.DefaultTerminalConverters; +import org.eclipse.xtext.conversion.IValueConverter; +import org.eclipse.xtext.conversion.ValueConverter; + +public class ValueConverterService extends DefaultTerminalConverters { + @ValueConverter(rule = "StringOrId") + public IValueConverter<String> StringOrId() { + return new StringStripperConverter(); + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/generator/GeneratorDSLGenerator.xtend b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/generator/GeneratorDSLGenerator.xtend new file mode 100644 index 0000000000000000000000000000000000000000..d0e7f135d693daa294c5a1e7de80278455c52b98 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/generator/GeneratorDSLGenerator.xtend @@ -0,0 +1,25 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.generator + +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.xtext.generator.AbstractGenerator +import org.eclipse.xtext.generator.IFileSystemAccess2 +import org.eclipse.xtext.generator.IGeneratorContext + +/** + * Generates code from your model files on save. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation + */ +class GeneratorDSLGenerator extends AbstractGenerator { + + override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { +// fsa.generateFile('greetings.txt', 'People to greet: ' + +// resource.allContents +// .filter(Greeting) +// .map[name] +// .join(', ')) + } +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/scoping/GeneratorDSLScopeProvider.java b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/scoping/GeneratorDSLScopeProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..344b2082672c7e0a8c6294c85e849f5ce280d3a4 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/scoping/GeneratorDSLScopeProvider.java @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.scoping; + + +/** + * This class contains custom scoping description. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping + * on how and when to use it. + */ +public class GeneratorDSLScopeProvider extends AbstractGeneratorDSLScopeProvider { + +} diff --git a/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/validation/GeneratorDSLValidator.java b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/validation/GeneratorDSLValidator.java new file mode 100644 index 0000000000000000000000000000000000000000..3278e70ce62c975f459f6786dba8f1d1275d4741 --- /dev/null +++ b/src/languages/de.evoal.languages.model.generator.dsl/src/de/evoal/languages/model/generator/dsl/validation/GeneratorDSLValidator.java @@ -0,0 +1,25 @@ +/* + * generated by Xtext 2.25.0 + */ +package de.evoal.languages.model.generator.dsl.validation; + + +/** + * This class contains custom validation rules. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation + */ +public class GeneratorDSLValidator extends AbstractGeneratorDSLValidator { + +// public static final String INVALID_NAME = "invalidName"; +// +// @Check +// public void checkGreetingStartsWithCapital(Greeting greeting) { +// if (!Character.isUpperCase(greeting.getName().charAt(0))) { +// warning("Name should start with a capital", +// GeneratorDSLPackage.Literals.GREETING__NAME, +// INVALID_NAME); +// } +// } + +} diff --git a/src/languages/de.evoal.languages.releng.feature/feature.xml b/src/languages/de.evoal.languages.releng.feature/feature.xml index ba484ec4e68554f33a92837f43f93bfe7d4ba741..3f3bd32b7d62eb728197234581ce7303328b57c0 100644 --- a/src/languages/de.evoal.languages.releng.feature/feature.xml +++ b/src/languages/de.evoal.languages.releng.feature/feature.xml @@ -225,4 +225,25 @@ version="0.0.0" unpack="false"/> + <plugin + id="de.evoal.languages.model.generator.dsl" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="de.evoal.languages.model.generator.dsl.ide" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + + <plugin + id="de.evoal.languages.model.generator.dsl.ui" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + </feature> diff --git a/src/languages/de.evoal.languages.releng.parent/pom.xml b/src/languages/de.evoal.languages.releng.parent/pom.xml index af1950bf9a49b39e86eab1b3b126621667f1431e..45a30c21f8c76152d23a8850a6b1467a2464965d 100644 --- a/src/languages/de.evoal.languages.releng.parent/pom.xml +++ b/src/languages/de.evoal.languages.releng.parent/pom.xml @@ -301,6 +301,10 @@ <module>../de.evoal.languages.model.eal.dsl.ide</module> <module>../de.evoal.languages.model.eal.dsl.ui</module> + <module>../de.evoal.languages.model.generator.dsl</module> + <module>../de.evoal.languages.model.generator.dsl.ide</module> + <module>../de.evoal.languages.model.generator.dsl.ui</module> + <module>../de.evoal.languages.releng.feature</module> <module>../de.evoal.languages.releng.site</module> </modules>